use of org.junit.jupiter.api.Order in project cas by apereo.
the class AdaptiveMultifactorAuthenticationTriggerTests method verifyNoLocation.
@Test
@Order(7)
public void verifyNoLocation() {
val props = new CasConfigurationProperties();
props.getAuthn().getAdaptive().getPolicy().getRequireMultifactor().put("mfa-dummy", ".+London.+");
val trigger = new AdaptiveMultifactorAuthenticationTrigger(this.geoLocationService, props, this.applicationContext);
val result = trigger.isActivated(authentication, registeredService, this.httpRequest, this.httpResponse, mock(Service.class));
assertTrue(result.isEmpty());
}
use of org.junit.jupiter.api.Order in project cas by apereo.
the class AdaptiveMultifactorAuthenticationTriggerTests method verifyMissingProviders.
@Test
@Order(5)
public void verifyMissingProviders() {
val props = new CasConfigurationProperties();
props.getAuthn().getAdaptive().getPolicy().getRequireMultifactor().put("mfa-xyz", ".+London.+");
val trigger = new AdaptiveMultifactorAuthenticationTrigger(null, props, this.applicationContext);
assertThrows(AuthenticationException.class, () -> trigger.isActivated(authentication, registeredService, this.httpRequest, this.httpResponse, mock(Service.class)));
}
use of org.junit.jupiter.api.Order in project cas by apereo.
the class AdaptiveMultifactorAuthenticationTriggerTests method verifyOperationByRequestUserAgent.
@Test
@Order(2)
public void verifyOperationByRequestUserAgent() {
val props = new CasConfigurationProperties();
props.getAuthn().getAdaptive().getPolicy().getRequireMultifactor().put("mfa-dummy", "^Mozilla.+");
val trigger = new AdaptiveMultifactorAuthenticationTrigger(this.geoLocationService, props, this.applicationContext);
val result = trigger.isActivated(authentication, registeredService, this.httpRequest, this.httpResponse, mock(Service.class));
assertTrue(result.isPresent());
}
use of org.junit.jupiter.api.Order in project cas by apereo.
the class GroovyScriptMultifactorAuthenticationTriggerTests method verifyFailProvider.
@Test
@Order(4)
public void verifyFailProvider() throws Exception {
val file = File.createTempFile("example", ".txt");
FileUtils.writeStringToFile(file, "script", StandardCharsets.UTF_8);
val props = new CasConfigurationProperties();
props.getAuthn().getMfa().getGroovyScript().setLocation(new FileSystemResource(file));
val trigger = new GroovyScriptMultifactorAuthenticationTrigger(props, applicationContext);
val result = trigger.isActivated(authentication, registeredService, this.httpRequest, this.httpResponse, mock(Service.class));
assertTrue(result.isEmpty());
}
use of org.junit.jupiter.api.Order in project cas by apereo.
the class AuthenticationAttributeMultifactorAuthenticationTriggerTests method verifyMultipleProvider.
@Test
@Order(2)
public void verifyMultipleProvider() {
val otherProvider = new TestMultifactorAuthenticationProvider();
otherProvider.setId("mfa-other");
TestMultifactorAuthenticationProvider.registerProviderIntoApplicationContext(applicationContext, otherProvider);
val props = new CasConfigurationProperties();
val mfa = props.getAuthn().getMfa().getTriggers().getAuthentication();
mfa.setGlobalAuthenticationAttributeNameTriggers("mfa-mode");
mfa.setGlobalAuthenticationAttributeValueRegex(otherProvider.getId());
val trigger = new AuthenticationAttributeMultifactorAuthenticationTrigger(props, new DefaultMultifactorAuthenticationProviderResolver(MultifactorAuthenticationPrincipalResolver.identical()), applicationContext);
val result = trigger.isActivated(authentication, registeredService, this.httpRequest, this.httpResponse, mock(Service.class));
assertTrue(result.isPresent());
}
Aggregations