use of org.wso2.carbon.identity.application.authentication.framework.context.AuthHistory in project carbon-identity-framework by wso2.
the class GraphBasedSequenceHandlerAcrTest method testHandleStaticJavascriptAcr.
@Test(dataProvider = "staticAcrDataProvider")
public void testHandleStaticJavascriptAcr(String spFileName, String[] acrArray, int authHistoryCount) throws Exception {
PrivilegedCarbonContext.getThreadLocalCarbonContext().setTenantDomain(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME);
PrivilegedCarbonContext.getThreadLocalCarbonContext().setTenantId(MultitenantConstants.SUPER_TENANT_ID);
ServiceProvider sp1 = getTestServiceProvider(spFileName);
AuthenticationContext context = getAuthenticationContext(sp1);
if (acrArray != null) {
for (String acr : acrArray) {
context.addRequestedAcr(acr);
}
}
SequenceConfig sequenceConfig = configurationLoader.getSequenceConfig(context, Collections.emptyMap(), sp1);
context.setSequenceConfig(sequenceConfig);
HttpServletRequest req = mock(HttpServletRequest.class);
HttpServletResponse resp = mock(HttpServletResponse.class);
UserCoreUtil.setDomainInThreadLocal("test_domain");
graphBasedSequenceHandler.handle(req, resp, context);
List<AuthHistory> authHistories = context.getAuthenticationStepHistory();
assertNotNull(authHistories);
assertEquals(authHistories.size(), authHistoryCount);
}
use of org.wso2.carbon.identity.application.authentication.framework.context.AuthHistory in project carbon-identity-framework by wso2.
the class GraphBasedSequenceHandlerCustomFunctionsTest method testHandleDynamicOnFallback.
@Test
public void testHandleDynamicOnFallback() throws Exception {
FrameworkServiceDataHolder.getInstance().getAuthenticators().add(new MockFallbackAuthenticator("MockFallbackAuthenticator"));
JsFunctionRegistryImpl jsFunctionRegistrar = new JsFunctionRegistryImpl();
FrameworkServiceDataHolder.getInstance().setJsFunctionRegistry(jsFunctionRegistrar);
jsFunctionRegistrar.register(JsFunctionRegistry.Subsystem.SEQUENCE_HANDLER, "fn1", (Function<JsAuthenticationContext, String>) GraphBasedSequenceHandlerCustomFunctionsTest::customFunction1);
jsFunctionRegistrar.register(JsFunctionRegistry.Subsystem.SEQUENCE_HANDLER, "getTrueFunction", (Function<JsAuthenticationContext, Boolean>) GraphBasedSequenceHandlerCustomFunctionsTest::customBoolean);
jsFunctionRegistrar.register(JsFunctionRegistry.Subsystem.SEQUENCE_HANDLER, "getTrueFunction2", (BiFunction<JsAuthenticationContext, String, Boolean>) GraphBasedSequenceHandlerCustomFunctionsTest::customBoolean2);
ServiceProvider sp1 = getTestServiceProvider("js-sp-dynamic-on-fallback.xml");
AuthenticationContext context = processAndGetAuthenticationContext(new String[0], sp1);
List<AuthHistory> authHistories = context.getAuthenticationStepHistory();
assertNotNull(authHistories);
assertEquals(authHistories.size(), 4);
assertEquals(authHistories.get(0).getAuthenticatorName(), "MockFallbackAuthenticator");
assertEquals(authHistories.get(1).getAuthenticatorName(), "BasicMockAuthenticator");
assertEquals(authHistories.get(2).getAuthenticatorName(), "HwkMockAuthenticator");
assertEquals(authHistories.get(3).getAuthenticatorName(), "FptMockAuthenticator");
assertTrue(context.isRequestAuthenticated());
}
use of org.wso2.carbon.identity.application.authentication.framework.context.AuthHistory in project carbon-identity-framework by wso2.
the class GraphBasedSequenceHandlerCustomFunctionsTest method testHandleDynamicOnFail.
@Test
public void testHandleDynamicOnFail() throws Exception {
FrameworkServiceDataHolder.getInstance().getAuthenticators().add(new MockFailingAuthenticator("BasicFailingMockAuthenticator"));
JsFunctionRegistryImpl jsFunctionRegistrar = new JsFunctionRegistryImpl();
FrameworkServiceDataHolder.getInstance().setJsFunctionRegistry(jsFunctionRegistrar);
jsFunctionRegistrar.register(JsFunctionRegistry.Subsystem.SEQUENCE_HANDLER, "fn1", (Function<JsAuthenticationContext, String>) GraphBasedSequenceHandlerCustomFunctionsTest::customFunction1);
jsFunctionRegistrar.register(JsFunctionRegistry.Subsystem.SEQUENCE_HANDLER, "getTrueFunction", (Function<JsAuthenticationContext, Boolean>) GraphBasedSequenceHandlerCustomFunctionsTest::customBoolean);
jsFunctionRegistrar.register(JsFunctionRegistry.Subsystem.SEQUENCE_HANDLER, "getTrueFunction2", (BiFunction<JsAuthenticationContext, String, Boolean>) GraphBasedSequenceHandlerCustomFunctionsTest::customBoolean2);
ServiceProvider sp1 = getTestServiceProvider("js-sp-dynamic-on-fail.xml");
AuthenticationContext context = processAndGetAuthenticationContext(new String[0], sp1);
List<AuthHistory> authHistories = context.getAuthenticationStepHistory();
assertNotNull(authHistories);
assertEquals(authHistories.size(), 3);
assertEquals(authHistories.get(0).getAuthenticatorName(), "BasicFailingMockAuthenticator");
assertEquals(authHistories.get(1).getAuthenticatorName(), "BasicMockAuthenticator");
assertEquals(authHistories.get(2).getAuthenticatorName(), "FptMockAuthenticator");
assertTrue(context.isRequestAuthenticated());
}
use of org.wso2.carbon.identity.application.authentication.framework.context.AuthHistory in project carbon-identity-framework by wso2.
the class GraphBasedSequenceHandlerCustomFunctionsTest method testHandleDynamicJavascript1.
@Test
public void testHandleDynamicJavascript1() throws Exception {
JsFunctionRegistryImpl jsFunctionRegistrar = new JsFunctionRegistryImpl();
FrameworkServiceDataHolder.getInstance().setJsFunctionRegistry(jsFunctionRegistrar);
jsFunctionRegistrar.register(JsFunctionRegistry.Subsystem.SEQUENCE_HANDLER, "fn1", (Function<JsAuthenticationContext, String>) GraphBasedSequenceHandlerCustomFunctionsTest::customFunction1);
jsFunctionRegistrar.register(JsFunctionRegistry.Subsystem.SEQUENCE_HANDLER, "fn2", new CustomFunctionImpl2());
AuthenticationContext context = processSequenceWithAcr(new String[] { "acr1" });
List<AuthHistory> authHistories = context.getAuthenticationStepHistory();
assertNotNull(authHistories);
assertEquals(3, authHistories.size());
assertEquals(authHistories.get(0).getAuthenticatorName(), "BasicMockAuthenticator");
assertEquals(authHistories.get(1).getAuthenticatorName(), "HwkMockAuthenticator");
assertEquals(authHistories.get(2).getAuthenticatorName(), "FptMockAuthenticator");
}
use of org.wso2.carbon.identity.application.authentication.framework.context.AuthHistory in project carbon-identity-framework by wso2.
the class GraphBasedSequenceHandlerFailTest method handleFailMethodWithoutParamsTest.
@Test
public void handleFailMethodWithoutParamsTest() throws Exception {
PrivilegedCarbonContext.getThreadLocalCarbonContext().setTenantDomain(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME);
PrivilegedCarbonContext.getThreadLocalCarbonContext().setTenantId(MultitenantConstants.SUPER_TENANT_ID);
ServiceProvider sp1 = getTestServiceProvider("js-sp-fail-method-without-params-onSuccsss.xml");
AuthenticationContext context = getAuthenticationContext(sp1);
SequenceConfig sequenceConfig = configurationLoader.getSequenceConfig(context, Collections.<String, String[]>emptyMap(), sp1);
context.setSequenceConfig(sequenceConfig);
HttpServletRequest req = mock(HttpServletRequest.class);
when(req.getAttribute(FrameworkConstants.RequestParams.FLOW_STATUS)).thenReturn(AuthenticatorFlowStatus.SUCCESS_COMPLETED);
HttpServletResponse resp = mock(HttpServletResponse.class);
UserCoreUtil.setDomainInThreadLocal("test_domain");
graphBasedSequenceHandler.handle(req, resp, context);
List<AuthHistory> authHistories = context.getAuthenticationStepHistory();
assertNotNull(authHistories);
assertFalse(context.isRequestAuthenticated());
}
Aggregations