/support/cas-server-support-gauth-mongo/src/test/java/org/apereo/cas/gauth/token/GoogleAuthenticatorMongoDbTokenRepositoryTests.java

https://github.com/Jasig/cas · Java · 106 lines · 95 code · 5 blank · 6 comment · 0 complexity · 08b3ca0bee052e23ec52b6909dbde662 MD5 · raw file

  1. package org.apereo.cas.gauth.token;
  2. import org.apereo.cas.config.CasCoreAuthenticationConfiguration;
  3. import org.apereo.cas.config.CasCoreAuthenticationHandlersConfiguration;
  4. import org.apereo.cas.config.CasCoreAuthenticationMetadataConfiguration;
  5. import org.apereo.cas.config.CasCoreAuthenticationPolicyConfiguration;
  6. import org.apereo.cas.config.CasCoreAuthenticationPrincipalConfiguration;
  7. import org.apereo.cas.config.CasCoreAuthenticationServiceSelectionStrategyConfiguration;
  8. import org.apereo.cas.config.CasCoreAuthenticationSupportConfiguration;
  9. import org.apereo.cas.config.CasCoreConfiguration;
  10. import org.apereo.cas.config.CasCoreHttpConfiguration;
  11. import org.apereo.cas.config.CasCoreMultifactorAuthenticationConfiguration;
  12. import org.apereo.cas.config.CasCoreNotificationsConfiguration;
  13. import org.apereo.cas.config.CasCoreServicesAuthenticationConfiguration;
  14. import org.apereo.cas.config.CasCoreServicesConfiguration;
  15. import org.apereo.cas.config.CasCoreTicketCatalogConfiguration;
  16. import org.apereo.cas.config.CasCoreTicketIdGeneratorsConfiguration;
  17. import org.apereo.cas.config.CasCoreTicketsConfiguration;
  18. import org.apereo.cas.config.CasCoreUtilConfiguration;
  19. import org.apereo.cas.config.CasCoreWebConfiguration;
  20. import org.apereo.cas.config.CasPersonDirectoryConfiguration;
  21. import org.apereo.cas.config.GoogleAuthenticatorMongoDbConfiguration;
  22. import org.apereo.cas.config.support.CasWebApplicationServiceFactoryConfiguration;
  23. import org.apereo.cas.config.support.authentication.GoogleAuthenticatorAuthenticationEventExecutionPlanConfiguration;
  24. import org.apereo.cas.config.support.authentication.GoogleAuthenticatorAuthenticationMultifactorProviderBypassConfiguration;
  25. import org.apereo.cas.logout.config.CasCoreLogoutConfiguration;
  26. import org.apereo.cas.util.junit.EnabledIfListeningOnPort;
  27. import org.apereo.cas.web.config.CasCookieConfiguration;
  28. import org.apereo.cas.web.flow.config.CasCoreWebflowConfiguration;
  29. import org.apereo.cas.web.flow.config.CasMultifactorAuthenticationWebflowConfiguration;
  30. import org.apereo.cas.web.flow.config.CasWebflowContextConfiguration;
  31. import lombok.Getter;
  32. import org.junit.jupiter.api.BeforeEach;
  33. import org.junit.jupiter.api.Tag;
  34. import org.springframework.boot.autoconfigure.aop.AopAutoConfiguration;
  35. import org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration;
  36. import org.springframework.boot.test.context.SpringBootTest;
  37. import org.springframework.cloud.autoconfigure.RefreshAutoConfiguration;
  38. import org.springframework.context.annotation.EnableAspectJAutoProxy;
  39. import org.springframework.scheduling.annotation.EnableScheduling;
  40. import org.springframework.transaction.annotation.EnableTransactionManagement;
  41. /**
  42. * This is {@link GoogleAuthenticatorMongoDbTokenRepositoryTests}.
  43. *
  44. * @author Misagh Moayyed
  45. * @since 5.2.0
  46. */
  47. @Tag("MongoDb")
  48. @SpringBootTest(classes = {
  49. GoogleAuthenticatorMongoDbConfiguration.class,
  50. CasCoreMultifactorAuthenticationConfiguration.class,
  51. CasMultifactorAuthenticationWebflowConfiguration.class,
  52. CasCoreTicketsConfiguration.class,
  53. CasCoreTicketIdGeneratorsConfiguration.class,
  54. CasCoreTicketCatalogConfiguration.class,
  55. CasCoreLogoutConfiguration.class,
  56. CasCoreHttpConfiguration.class,
  57. CasCookieConfiguration.class,
  58. CasCoreNotificationsConfiguration.class,
  59. CasCoreServicesConfiguration.class,
  60. CasWebApplicationServiceFactoryConfiguration.class,
  61. CasCoreAuthenticationConfiguration.class,
  62. CasCoreServicesAuthenticationConfiguration.class,
  63. CasCoreAuthenticationMetadataConfiguration.class,
  64. CasCoreAuthenticationPolicyConfiguration.class,
  65. CasCoreAuthenticationPrincipalConfiguration.class,
  66. CasCoreAuthenticationHandlersConfiguration.class,
  67. CasCoreAuthenticationSupportConfiguration.class,
  68. CasPersonDirectoryConfiguration.class,
  69. GoogleAuthenticatorAuthenticationMultifactorProviderBypassConfiguration.class,
  70. GoogleAuthenticatorAuthenticationEventExecutionPlanConfiguration.class,
  71. AopAutoConfiguration.class,
  72. WebMvcAutoConfiguration.class,
  73. CasCoreConfiguration.class,
  74. CasCoreAuthenticationServiceSelectionStrategyConfiguration.class,
  75. CasCoreUtilConfiguration.class,
  76. CasCoreWebflowConfiguration.class,
  77. CasWebflowContextConfiguration.class,
  78. RefreshAutoConfiguration.class,
  79. CasCoreWebConfiguration.class},
  80. properties = {
  81. "cas.authn.mfa.gauth.mongo.user-id=root",
  82. "cas.authn.mfa.gauth.mongo.password=secret",
  83. "cas.authn.mfa.gauth.mongo.host=localhost",
  84. "cas.authn.mfa.gauth.mongo.port=27017",
  85. "cas.authn.mfa.gauth.mongo.authentication-database-name=admin",
  86. "cas.authn.mfa.gauth.mongo.drop-collection=true",
  87. "cas.authn.mfa.gauth.mongo.database-name=gauth-token",
  88. "cas.authn.mfa.gauth.crypto.enabled=false"
  89. })
  90. @EnableTransactionManagement(proxyTargetClass = false)
  91. @EnableAspectJAutoProxy(proxyTargetClass = false)
  92. @EnableScheduling
  93. @Getter
  94. @EnabledIfListeningOnPort(port = 27017)
  95. public class GoogleAuthenticatorMongoDbTokenRepositoryTests extends BaseOneTimeTokenRepositoryTests {
  96. @BeforeEach
  97. public void initialize() {
  98. super.initialize();
  99. oneTimeTokenAuthenticatorTokenRepository.removeAll();
  100. }
  101. }