use of com.epam.ta.reportportal.ws.model.settings.OAuthDetailsResource in project service-authorization by reportportal.
the class OAuthDetailsConvertersTest method testFromResource.
@Test
public void testFromResource() {
OAuthDetailsResource oAuth2LoginDetails = new OAuthDetailsResource();
oAuth2LoginDetails.setScope(Collections.singletonList("user"));
oAuth2LoginDetails.setGrantType("authorization_code");
oAuth2LoginDetails.setClientId("f4cec43d4541283879c4");
oAuth2LoginDetails.setClientSecret("a31aa6de3e27c11d90762cad11936727d6b0759e");
oAuth2LoginDetails.setAccessTokenUri("https://github.com/login/oauth/access_token");
oAuth2LoginDetails.setUserAuthorizationUri("https://github.com/login/oauth/authorize");
oAuth2LoginDetails.setClientAuthenticationScheme("form");
validate(oAuth2LoginDetails, OAuthDetailsConverters.FROM_RESOURCE.apply(oAuth2LoginDetails));
}
use of com.epam.ta.reportportal.ws.model.settings.OAuthDetailsResource in project service-authorization by reportportal.
the class OAuthConfigurationEndpoint method updateOAuthSettings.
/**
* Updates oauth integration settings
*
* @param profileId settings ProfileID
* @param oauthDetails OAuth details resource update
* @param oauthProviderName ID of third-party OAuth provider
* @return All defined OAuth integration settings
*/
@RequestMapping(value = "/{authId}", method = { POST, PUT })
@ResponseBody
@ResponseStatus(HttpStatus.OK)
@ApiOperation(value = "Updates OAuth Integration Settings", notes = "'default' profile is using till additional UI implementations")
public Map<String, OAuthDetailsResource> updateOAuthSettings(@PathVariable String profileId, @PathVariable("authId") String oauthProviderName, @RequestBody @Validated OAuthDetailsResource oauthDetails) {
Optional<OAuthProvider> oAuthProvider = Optional.ofNullable(providers.get(oauthProviderName));
BusinessRule.expect(oAuthProvider, isPresent()).verify(ErrorType.OAUTH_INTEGRATION_NOT_FOUND, profileId);
ServerSettings settings = repository.findOne(profileId);
BusinessRule.expect(settings, Predicates.notNull()).verify(ErrorType.SERVER_SETTINGS_NOT_FOUND, profileId);
Map<String, OAuth2LoginDetails> serverOAuthDetails = Optional.ofNullable(settings.getoAuth2LoginDetails()).orElse(new HashMap<>());
OAuth2LoginDetails loginDetails = OAuthDetailsConverters.FROM_RESOURCE.apply(oauthDetails);
oAuthProvider.get().applyDefaults(loginDetails);
serverOAuthDetails.put(oauthProviderName, loginDetails);
settings.setoAuth2LoginDetails(serverOAuthDetails);
repository.save(settings);
return serverOAuthDetails.entrySet().stream().collect(toMap(Map.Entry::getKey, e -> OAuthDetailsConverters.TO_RESOURCE.apply(e.getValue())));
}
Aggregations