package org.apereo.cas.ticket.registry; import org.apereo.cas.config.CasCoreAuthenticationConfiguration; import org.apereo.cas.config.CasCoreAuthenticationHandlersConfiguration; import org.apereo.cas.config.CasCoreAuthenticationMetadataConfiguration; import org.apereo.cas.config.CasCoreAuthenticationPolicyConfiguration; import org.apereo.cas.config.CasCoreAuthenticationPrincipalConfiguration; import org.apereo.cas.config.CasCoreAuthenticationServiceSelectionStrategyConfiguration; import org.apereo.cas.config.CasCoreAuthenticationSupportConfiguration; import org.apereo.cas.config.CasCoreConfiguration; import org.apereo.cas.config.CasCoreHttpConfiguration; import org.apereo.cas.config.CasCoreServicesConfiguration; import org.apereo.cas.config.CasCoreTicketsConfiguration; import org.apereo.cas.config.CasCoreUtilConfiguration; import org.apereo.cas.config.CasPersonDirectoryConfiguration; import org.apereo.cas.config.CasCoreTicketCatalogConfiguration; import org.apereo.cas.config.MongoDbTicketRegistryConfiguration; import org.apereo.cas.logout.config.CasCoreLogoutConfiguration; import org.junit.Before; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.autoconfigure.aop.AopAutoConfiguration; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.cloud.autoconfigure.RefreshAutoConfiguration; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.TestPropertySource; import org.springframework.test.context.junit4.SpringRunner; /** * This is {@link MongoDbTicketRegistryTests}. * * @author Misagh Moayyed * @since 5.1.0 */ @RunWith(SpringRunner.class) @SpringBootTest(classes = {RefreshAutoConfiguration.class, CasCoreUtilConfiguration.class, AopAutoConfiguration.class, CasCoreAuthenticationConfiguration.class, CasCoreAuthenticationPrincipalConfiguration.class, CasCoreAuthenticationPolicyConfiguration.class, CasCoreAuthenticationMetadataConfiguration.class, CasCoreAuthenticationSupportConfiguration.class, CasCoreAuthenticationHandlersConfiguration.class, CasCoreHttpConfiguration.class, CasCoreServicesConfiguration.class, CasPersonDirectoryConfiguration.class, CasCoreLogoutConfiguration.class, CasCoreConfiguration.class, CasCoreAuthenticationServiceSelectionStrategyConfiguration.class, CasCoreTicketsConfiguration.class, CasCoreTicketCatalogConfiguration.class, MongoDbTicketRegistryConfiguration.class}) @EnableScheduling @TestPropertySource(locations = {"classpath:/mongoregistry.properties"}) @DirtiesContext(methodMode = DirtiesContext.MethodMode.AFTER_METHOD) public class MongoDbTicketRegistryTests extends AbstractTicketRegistryTests { @Autowired @Qualifier("ticketRegistry") private TicketRegistry ticketRegistry; @Before public void before() { ticketRegistry.getTickets().forEach(t -> this.ticketRegistry.deleteTicket(t.getId())); } @Override public TicketRegistry getNewTicketRegistry() throws Exception { return this.ticketRegistry; } }