use of org.wso2.carbon.identity.oauth.dcr.internal.DCRDataHolder in project identity-inbound-auth-oauth by wso2-extensions.
the class DCRMServiceTest method registerApplicationTestWithFailedToDeleteCreatedSP.
@Test(dataProvider = "redirectUriProvider")
public void registerApplicationTestWithFailedToDeleteCreatedSP(List<String> redirectUri) throws Exception {
mockStatic(IdentityProviderManager.class);
mockApplicationManagementService = mock(ApplicationManagementService.class);
Whitebox.setInternalState(dcrmService, "oAuthAdminService", mockOAuthAdminService);
startTenantFlow();
dummyGrantTypes.add(DCRConstants.GrantTypes.IMPLICIT);
applicationRegistrationRequest.setGrantTypes(dummyGrantTypes);
String grantType = StringUtils.join(applicationRegistrationRequest.getGrantTypes(), " ");
ServiceProvider serviceProvider = new ServiceProvider();
DCRDataHolder dcrDataHolder = DCRDataHolder.getInstance();
dcrDataHolder.setApplicationManagementService(mockApplicationManagementService);
when(mockApplicationManagementService.getServiceProvider(dummyClientName, dummyTenantDomain)).thenReturn(null, serviceProvider);
applicationRegistrationRequest.setRedirectUris(redirectUri);
OAuthConsumerAppDTO oAuthConsumerApp = new OAuthConsumerAppDTO();
oAuthConsumerApp.setApplicationName(dummyClientName);
oAuthConsumerApp.setGrantTypes(grantType);
oAuthConsumerApp.setOAuthVersion(OAUTH_VERSION);
whenNew(OAuthConsumerAppDTO.class).withNoArguments().thenReturn(oAuthConsumerApp);
doThrow(new IdentityOAuthAdminException("")).when(mockOAuthAdminService).registerOAuthApplicationData(oAuthConsumerApp);
doThrow(new IdentityApplicationManagementException("")).when(mockApplicationManagementService).deleteApplication(dummyClientName, dummyTenantDomain, dummyUserName);
try {
dcrmService.registerApplication(applicationRegistrationRequest);
} catch (IdentityException ex) {
assertEquals(ex.getErrorCode(), DCRMConstants.ErrorMessages.FAILED_TO_DELETE_SP.toString());
return;
}
fail("Expected IdentityException was not thrown by registerApplication method");
}
use of org.wso2.carbon.identity.oauth.dcr.internal.DCRDataHolder in project identity-inbound-auth-oauth by wso2-extensions.
the class DCRMServiceTest method registerApplicationTestWithSP.
@Test(dataProvider = "redirectUriProvider")
public void registerApplicationTestWithSP(List<String> redirectUri) throws Exception {
mockApplicationManagementService = mock(ApplicationManagementService.class);
Whitebox.setInternalState(dcrmService, "oAuthAdminService", mockOAuthAdminService);
startTenantFlow();
dummyGrantTypes.add("implicit");
applicationRegistrationRequest.setGrantTypes(dummyGrantTypes);
applicationRegistrationRequest.setConsumerSecret(dummyConsumerSecret);
applicationRegistrationRequest.setTokenType(dummyTokenType);
applicationRegistrationRequest.setBackchannelLogoutUri(dummyBackchannelLogoutUri);
applicationRegistrationRequest.setConsumerKey(dummyConsumerKey);
String grantType = StringUtils.join(applicationRegistrationRequest.getGrantTypes(), " ");
ServiceProvider serviceProvider = new ServiceProvider();
DCRDataHolder dcrDataHolder = DCRDataHolder.getInstance();
dcrDataHolder.setApplicationManagementService(mockApplicationManagementService);
when(mockApplicationManagementService.getServiceProvider(dummyClientName, dummyTenantDomain)).thenReturn(null, serviceProvider);
applicationRegistrationRequest.setRedirectUris(redirectUri);
OAuthConsumerAppDTO oAuthConsumerApp = new OAuthConsumerAppDTO();
oAuthConsumerApp.setApplicationName(dummyClientName);
oAuthConsumerApp.setGrantTypes(dummyGrantTypes.get(0));
oAuthConsumerApp.setOauthConsumerKey(dummyConsumerKey);
oAuthConsumerApp.setOauthConsumerSecret(dummyConsumerSecret);
oAuthConsumerApp.setCallbackUrl(redirectUri.get(0));
oAuthConsumerApp.setGrantTypes(grantType);
oAuthConsumerApp.setOAuthVersion(OAUTH_VERSION);
when(mockOAuthAdminService.getOAuthApplicationDataByAppName(dummyClientName)).thenReturn(oAuthConsumerApp);
when(mockOAuthAdminService.registerAndRetrieveOAuthApplicationData(any(OAuthConsumerAppDTO.class))).thenReturn(oAuthConsumerApp);
OAuthServerConfiguration oAuthServerConfiguration = OAuthServerConfiguration.getInstance();
assertNotNull(oAuthServerConfiguration);
when(oAuthServerConfiguration.getClientIdValidationRegex()).thenReturn("[a-zA-Z0-9_]{15,30}");
String toString = "Application {\n" + " clientName: " + oAuthConsumerApp.getApplicationName() + "\n" + " clientId: " + oAuthConsumerApp.getOauthConsumerKey() + "\n" + " clientSecret: " + oAuthConsumerApp.getOauthConsumerSecret() + "\n" + " redirectUris: " + Arrays.asList(oAuthConsumerApp.getCallbackUrl()) + "\n" + " grantTypes: " + Arrays.asList(oAuthConsumerApp.getGrantTypes().split(" ")) + "\n" + "}\n";
Application application = dcrmService.registerApplication(applicationRegistrationRequest);
assertEquals(application.getClientName(), dummyClientName);
assertEquals(application.getGrantTypes(), dummyGrantTypes);
assertEquals(application.toString(), toString);
}
use of org.wso2.carbon.identity.oauth.dcr.internal.DCRDataHolder in project identity-inbound-auth-oauth by wso2-extensions.
the class DCRMServiceTest method setUp.
@BeforeMethod
public void setUp() throws Exception {
mockOAuthAdminService = mock(OAuthAdminService.class);
applicationRegistrationRequest = new ApplicationRegistrationRequest();
applicationRegistrationRequest.setClientName(dummyClientName);
dcrmService = new DCRMService();
mockApplicationManagementService = mock(ApplicationManagementService.class);
DCRDataHolder dcrDataHolder = DCRDataHolder.getInstance();
dcrDataHolder.setApplicationManagementService(mockApplicationManagementService);
when(mockApplicationManagementService.getServiceProviderByClientId(anyString(), anyString(), anyString())).thenReturn(new ServiceProvider());
oAuthServerConfiguration = mock(OAuthServerConfiguration.class);
mockStatic(OAuthServerConfiguration.class);
when(OAuthServerConfiguration.getInstance()).thenReturn(oAuthServerConfiguration);
mockStatic(OAuth2Util.class);
mockedUserRealm = mock(UserRealm.class);
mockedUserStoreManager = mock(AbstractUserStoreManager.class);
}
use of org.wso2.carbon.identity.oauth.dcr.internal.DCRDataHolder in project identity-inbound-auth-oauth by wso2-extensions.
the class DCRMServiceTest method registerApplicationWithFailedToRegisterTest.
@Test
public void registerApplicationWithFailedToRegisterTest() throws IdentityApplicationManagementException, IdentityOAuthAdminException {
mockApplicationManagementService = mock(ApplicationManagementService.class);
Whitebox.setInternalState(dcrmService, "oAuthAdminService", mockOAuthAdminService);
startTenantFlow();
List<String> redirectUri = new ArrayList<>();
redirectUri.add("redirectUri1");
applicationRegistrationRequest.setRedirectUris(redirectUri);
ServiceProvider serviceProvider = new ServiceProvider();
DCRDataHolder dcrDataHolder = DCRDataHolder.getInstance();
dcrDataHolder.setApplicationManagementService(mockApplicationManagementService);
when(mockApplicationManagementService.getServiceProvider(dummyClientName, dummyTenantDomain)).thenReturn(null, serviceProvider);
when(mockOAuthAdminService.getOAuthApplicationDataByAppName(dummyClientName)).thenReturn(new OAuthConsumerAppDTO());
when(mockOAuthAdminService.registerAndRetrieveOAuthApplicationData(any(OAuthConsumerAppDTO.class))).thenThrow(IdentityOAuthAdminException.class);
try {
dcrmService.registerApplication(applicationRegistrationRequest);
} catch (IdentityException ex) {
assertEquals(ex.getErrorCode(), DCRMConstants.ErrorMessages.FAILED_TO_REGISTER_APPLICATION.toString());
return;
}
fail("Expected IdentityException was not thrown by registerApplication method");
}
use of org.wso2.carbon.identity.oauth.dcr.internal.DCRDataHolder in project identity-inbound-auth-oauth by wso2-extensions.
the class DCRMServiceTest method updateApplicationTestWithSPAlreadyExist.
@Test
public void updateApplicationTestWithSPAlreadyExist() throws Exception {
startTenantFlow();
updateApplication();
applicationUpdateRequest.setClientName("dummynewClientName");
ServiceProvider serviceProvider = new ServiceProvider();
serviceProvider.setApplicationName(dummyClientName);
DCRDataHolder dcrDataHolder = DCRDataHolder.getInstance();
dcrDataHolder.setApplicationManagementService(mockApplicationManagementService);
when(mockApplicationManagementService.getServiceProvider("dummynewClientName", dummyTenantDomain)).thenReturn(serviceProvider);
try {
dcrmService.updateApplication(applicationUpdateRequest, dummyConsumerKey);
} catch (IdentityException ex) {
assertEquals(ex.getErrorCode(), DCRMConstants.ErrorMessages.CONFLICT_EXISTING_APPLICATION.toString());
return;
}
fail("Expected IdentityException was not thrown by updateApplication method");
}
Aggregations