use of org.wso2.carbon.identity.application.authentication.framework.handler.sequence.impl.DefaultStepBasedSequenceHandler in project carbon-identity-framework by wso2.
the class DefaultAuthenticationRequestHandlerTest method testPostAuthenticationHandlerFailures.
@Test(expectedExceptions = PostAuthenticationFailedException.class)
public void testPostAuthenticationHandlerFailures() throws Exception {
Cookie[] cookies = new Cookie[1];
HttpServletRequest request = PowerMockito.mock(HttpServletRequest.class);
HttpServletResponse response = PowerMockito.mock(HttpServletResponse.class);
AuthenticationContext context = prepareContextForPostAuthnTests();
when(FrameworkUtils.getStepBasedSequenceHandler()).thenReturn(new DefaultStepBasedSequenceHandler());
authenticationRequestHandler.handle(request, response, context);
assertNull(context.getParameter(FrameworkConstants.POST_AUTHENTICATION_EXTENSION_COMPLETED));
String pastrCookie = context.getParameter(FrameworkConstants.PASTR_COOKIE).toString();
cookies[0] = new Cookie(FrameworkConstants.PASTR_COOKIE + "-" + context.getContextIdentifier(), pastrCookie);
when(request.getCookies()).thenReturn(cookies);
when(FrameworkUtils.getCookie(any(HttpServletRequest.class), anyString())).thenReturn(new Cookie(FrameworkConstants.PASTR_COOKIE + "-" + context.getContextIdentifier(), "someGibberishValue"));
authenticationRequestHandler.handle(request, response, context);
assertTrue(Boolean.parseBoolean(context.getProperty(FrameworkConstants.POST_AUTHENTICATION_EXTENSION_COMPLETED).toString()));
}
use of org.wso2.carbon.identity.application.authentication.framework.handler.sequence.impl.DefaultStepBasedSequenceHandler in project carbon-identity-framework by wso2.
the class DefaultStepBasedSequenceHandlerTest method testHandlePostUserName.
@Test(dataProvider = "postAuthenticationDataProvider")
public void testHandlePostUserName(String subjectClaimUriFromAppConfig, String spSubjectClaimValue, boolean appendTenantDomainToSubject, boolean appendUserStoreDomainToSubject, String authenticatedUserNameInSequence, String expectedSubjectIdentifier) throws Exception {
stepBasedSequenceHandler = new DefaultStepBasedSequenceHandler();
ApplicationConfig applicationConfig = spy(new ApplicationConfig(new ServiceProvider()));
when(applicationConfig.getSubjectClaimUri()).thenReturn(subjectClaimUriFromAppConfig);
when(applicationConfig.isUseTenantDomainInLocalSubjectIdentifier()).thenReturn(appendTenantDomainToSubject);
when(applicationConfig.isUseUserstoreDomainInLocalSubjectIdentifier()).thenReturn(appendUserStoreDomainToSubject);
AuthenticatedUser authenticatedUser = new AuthenticatedUser();
authenticatedUser.setUserName(authenticatedUserNameInSequence);
authenticatedUser.setTenantDomain(FOO_TENANT);
authenticatedUser.setUserStoreDomain(XY_USER_STORE_DOMAIN);
SequenceConfig sequenceConfig = spy(new SequenceConfig());
Map<Integer, StepConfig> stepConfigMap = new HashMap<>();
StepConfig stepConfig = spy(new StepConfig());
when(stepConfig.getAuthenticatedUser()).thenReturn(authenticatedUser);
when(stepConfig.isSubjectIdentifierStep()).thenReturn(false);
when(stepConfig.isSubjectAttributeStep()).thenReturn(false);
AuthenticatorConfig authenticatorConfig = new AuthenticatorConfig();
authenticatorConfig.setApplicationAuthenticator(authenticator);
when(stepConfig.getAuthenticatedAutenticator()).thenReturn(authenticatorConfig);
stepConfigMap.put(1, stepConfig);
sequenceConfig.setStepMap(stepConfigMap);
sequenceConfig.setAuthenticatedUser(authenticatedUser);
sequenceConfig.setApplicationConfig(applicationConfig);
// SP subject claim value
context.setProperty(FrameworkConstants.SERVICE_PROVIDER_SUBJECT_CLAIM_VALUE, spSubjectClaimValue);
context.setSequenceConfig(sequenceConfig);
stepBasedSequenceHandler.handlePostAuthentication(request, response, context);
assertEquals(context.getSequenceConfig().getAuthenticatedUser().getUserName(), authenticatedUserNameInSequence);
}
use of org.wso2.carbon.identity.application.authentication.framework.handler.sequence.impl.DefaultStepBasedSequenceHandler in project carbon-identity-framework by wso2.
the class DefaultAuthenticationRequestHandlerTest method prepareContextForPostAuthnTests.
private AuthenticationContext prepareContextForPostAuthnTests() {
AuthenticationContext context = new AuthenticationContext();
context.setContextIdentifier(String.valueOf(UUID.randomUUID()));
addSequence(context, true);
addApplicationConfig(context);
setUser(context, "admin");
setPostAuthnMgtService();
addPostAuthnHandler();
mockStatic(FrameworkUtils.class);
when(FrameworkUtils.getStepBasedSequenceHandler()).thenReturn(new DefaultStepBasedSequenceHandler());
context.initializeAnalyticsData();
return context;
}
use of org.wso2.carbon.identity.application.authentication.framework.handler.sequence.impl.DefaultStepBasedSequenceHandler in project carbon-identity-framework by wso2.
the class FrameworkUtilsTest method testGetStepBasedSequenceHandlerExistingHandler.
@Test
public void testGetStepBasedSequenceHandlerExistingHandler() {
DefaultStepBasedSequenceHandler testStepBasedSequenceHandler = new DefaultStepBasedSequenceHandler();
ConfigurationFacade.getInstance().getExtensions().put(FrameworkConstants.Config.QNAME_EXT_STEP_BASED_SEQ_HANDLER, testStepBasedSequenceHandler);
Object stepBasedSequenceHandler = FrameworkUtils.getStepBasedSequenceHandler();
assertEquals(stepBasedSequenceHandler, testStepBasedSequenceHandler);
}
Aggregations