Search in sources :

Example 16 with Order

use of org.junit.jupiter.api.Order in project cas by apereo.

the class GlobalMultifactorAuthenticationTriggerTests method verifyOperationByValidProviders.

@Test
@Order(3)
public void verifyOperationByValidProviders() {
    val props = new CasConfigurationProperties();
    val otherProvider = new TestMultifactorAuthenticationProvider();
    otherProvider.setId("mfa-other");
    TestMultifactorAuthenticationProvider.registerProviderIntoApplicationContext(applicationContext, otherProvider);
    props.getAuthn().getMfa().getTriggers().getGlobal().setGlobalProviderId(TestMultifactorAuthenticationProvider.ID + ',' + otherProvider.getId());
    val trigger = new GlobalMultifactorAuthenticationTrigger(props, applicationContext, (providers, service, principal) -> providers.iterator().next());
    val result = trigger.isActivated(authentication, registeredService, this.httpRequest, this.httpResponse, mock(Service.class));
    assertTrue(result.isPresent());
    assertEquals(TestMultifactorAuthenticationProvider.ID, result.get().getId());
}
Also used : lombok.val(lombok.val) TestMultifactorAuthenticationProvider(org.apereo.cas.authentication.mfa.TestMultifactorAuthenticationProvider) CasConfigurationProperties(org.apereo.cas.configuration.CasConfigurationProperties) Service(org.apereo.cas.authentication.principal.Service) TestMethodOrder(org.junit.jupiter.api.TestMethodOrder) Order(org.junit.jupiter.api.Order) Test(org.junit.jupiter.api.Test)

Example 17 with Order

use of org.junit.jupiter.api.Order in project cas by apereo.

the class GlobalMultifactorAuthenticationTriggerTests method verifyOperationByUndefinedProvider.

@Test
@Order(5)
public void verifyOperationByUndefinedProvider() {
    val props = new CasConfigurationProperties();
    val trigger = new GlobalMultifactorAuthenticationTrigger(props, applicationContext, (providers, service, principal) -> providers.iterator().next());
    val result = trigger.isActivated(authentication, registeredService, this.httpRequest, this.httpResponse, mock(Service.class));
    assertFalse(result.isPresent());
}
Also used : lombok.val(lombok.val) CasConfigurationProperties(org.apereo.cas.configuration.CasConfigurationProperties) Service(org.apereo.cas.authentication.principal.Service) TestMethodOrder(org.junit.jupiter.api.TestMethodOrder) Order(org.junit.jupiter.api.Order) Test(org.junit.jupiter.api.Test)

Example 18 with Order

use of org.junit.jupiter.api.Order in project cas by apereo.

the class GlobalMultifactorAuthenticationTriggerTests method verifyOperationByManyProviders.

@Test
@Order(2)
public void verifyOperationByManyProviders() {
    val props = new CasConfigurationProperties();
    props.getAuthn().getMfa().getTriggers().getGlobal().setGlobalProviderId(TestMultifactorAuthenticationProvider.ID + ",mfa-invalid");
    val trigger = new GlobalMultifactorAuthenticationTrigger(props, applicationContext, (providers, service, principal) -> providers.iterator().next());
    assertThrows(AuthenticationException.class, () -> trigger.isActivated(authentication, registeredService, this.httpRequest, this.httpResponse, mock(Service.class)));
}
Also used : lombok.val(lombok.val) CasConfigurationProperties(org.apereo.cas.configuration.CasConfigurationProperties) TestMethodOrder(org.junit.jupiter.api.TestMethodOrder) Order(org.junit.jupiter.api.Order) Test(org.junit.jupiter.api.Test)

Example 19 with Order

use of org.junit.jupiter.api.Order in project cas by apereo.

the class PredicatedPrincipalAttributeMultifactorAuthenticationTriggerTests method verifyNoProviders.

@Test
@Order(0)
@Tag("DisableProviderRegistration")
public void verifyNoProviders() throws Exception {
    val props = new CasConfigurationProperties();
    val file = File.createTempFile("example", ".txt");
    FileUtils.writeStringToFile(file, "script", StandardCharsets.UTF_8);
    props.getAuthn().getMfa().getTriggers().getPrincipal().getGlobalPrincipalAttributePredicate().setLocation(new FileSystemResource(file));
    val trigger = new PredicatedPrincipalAttributeMultifactorAuthenticationTrigger(props, this.applicationContext);
    val result = trigger.isActivated(authentication, registeredService, this.httpRequest, this.httpResponse, mock(Service.class));
    assertTrue(result.isEmpty());
}
Also used : lombok.val(lombok.val) CasConfigurationProperties(org.apereo.cas.configuration.CasConfigurationProperties) Service(org.apereo.cas.authentication.principal.Service) FileSystemResource(org.springframework.core.io.FileSystemResource) TestMethodOrder(org.junit.jupiter.api.TestMethodOrder) Order(org.junit.jupiter.api.Order) Test(org.junit.jupiter.api.Test) Tag(org.junit.jupiter.api.Tag)

Example 20 with Order

use of org.junit.jupiter.api.Order in project cas by apereo.

the class PredicatedPrincipalAttributeMultifactorAuthenticationTriggerTests method verifyOperationByHeader.

@Test
@Order(1)
public void verifyOperationByHeader() {
    val props = new CasConfigurationProperties();
    props.getAuthn().getMfa().getTriggers().getPrincipal().getGlobalPrincipalAttributePredicate().setLocation(new ClassPathResource("GroovyPredicate.groovy"));
    val trigger = new PredicatedPrincipalAttributeMultifactorAuthenticationTrigger(props, this.applicationContext);
    val result = trigger.isActivated(authentication, registeredService, this.httpRequest, this.httpResponse, mock(Service.class));
    assertTrue(result.isPresent());
}
Also used : lombok.val(lombok.val) CasConfigurationProperties(org.apereo.cas.configuration.CasConfigurationProperties) Service(org.apereo.cas.authentication.principal.Service) ClassPathResource(org.springframework.core.io.ClassPathResource) TestMethodOrder(org.junit.jupiter.api.TestMethodOrder) Order(org.junit.jupiter.api.Order) Test(org.junit.jupiter.api.Test)

Aggregations

Order (org.junit.jupiter.api.Order)76 TestMethodOrder (org.junit.jupiter.api.TestMethodOrder)76 Test (org.junit.jupiter.api.Test)74 lombok.val (lombok.val)67 CasConfigurationProperties (org.apereo.cas.configuration.CasConfigurationProperties)30 MockHttpServletRequest (org.springframework.mock.web.MockHttpServletRequest)24 MockHttpServletResponse (org.springframework.mock.web.MockHttpServletResponse)24 Service (org.apereo.cas.authentication.principal.Service)23 MockTicketGrantingTicket (org.apereo.cas.mock.MockTicketGrantingTicket)9 SpringBootTest (org.springframework.boot.test.context.SpringBootTest)9 DefaultMultifactorAuthenticationProviderResolver (org.apereo.cas.authentication.DefaultMultifactorAuthenticationProviderResolver)7 Tag (org.junit.jupiter.api.Tag)6 CountDownLatch (java.util.concurrent.CountDownLatch)5 RepeatedTest (org.junit.jupiter.api.RepeatedTest)5 TicketGrantingTicket (org.apereo.cas.ticket.TicketGrantingTicket)4 TicketGrantingTicketFactory (org.apereo.cas.ticket.TicketGrantingTicketFactory)4 MessageContext (org.opensaml.messaging.context.MessageContext)4 JEEContext (org.pac4j.core.context.JEEContext)4 ClassPathResource (org.springframework.core.io.ClassPathResource)4 URLBuilder (net.shibboleth.utilities.java.support.net.URLBuilder)3