From 99d27a4c40a8a0407239cfc83fd8085e9aeed0fc Mon Sep 17 00:00:00 2001 From: Misagh Moayyed Date: Wed, 18 Sep 2019 15:34:52 +0430 Subject: [PATCH] add test cases for oracle db --- .travis.yml | 3 + ci/tests/oracle/run-oracle-server.sh | 15 ++++ ci/tests/oracle/run-tests-oracle.sh | 77 +++++++++++++++++++ .../InternalGroovyScriptDaoTests.java | 3 - ...questedAuthenticationContextValidator.java | 20 ++--- .../src/test/resources/log4j2.xml | 2 +- .../CasCoreAuthenticationConfiguration.java | 16 ++-- .../monitor/CacheHealthIndicatorTests.java | 3 - gradle/dependencies.gradle | 5 +- gradle/tests.gradle | 11 ++- .../flow/InitialFlowSetupActionSsoTests.java | 5 +- ...ticatorTokenCredentialRepositoryTests.java | 3 - ...henticatorCouchDbTokenRepositoryTests.java | 3 - .../cas/GoogleAuthenticatorJpaTestsSuite.java | 2 + ...ticatorTokenCredentialRepositoryTests.java | 3 - ...ticatorTokenCredentialRepositoryTests.java | 26 +++++++ ...eAuthenticatorJpaTokenRepositoryTests.java | 26 +++++++ ...ticatorTokenCredentialRepositoryTests.java | 3 - ...henticatorMongoDbTokenRepositoryTests.java | 3 - ...ticatorTokenCredentialRepositoryTests.java | 3 - ...uthenticatorRedisTokenRepositoryTests.java | 3 - ...ltHazelcastInstanceConfigurationTests.java | 3 - .../JdbcDataSourceHealthIndicatorTests.java | 3 - .../AllJpaServiceRegistryTestsSuite.java | 3 +- .../JpaServiceRegistryOracleTests.java | 26 +++++++ .../java/org/apereo/cas/AllTestsSuite.java | 6 +- .../SessionHealthIndicatorJpaTests.java | 3 - .../JpaTicketRegistryCleanerTests.java | 3 - .../OauthJpaTicketRegistryCleanerTests.java | 3 - .../registry/OauthJpaTicketRegistryTests.java | 3 - .../OracleJpaTicketRegistryTests.java | 26 +++++++ .../support/JpaLockingStrategyTests.java | 3 - .../OracleJpaLockingStrategyTests.java | 26 +++++++ .../oauth/web/AbstractOAuth20Tests.java | 3 - .../principal/GoogleAccountsServiceTests.java | 3 - ...amlMetadataUIParserDynamicActionTests.java | 3 - .../cas/support/sms/TextMagicSmsSender.java | 8 +- .../support/sms/TextMagicSmsSenderTests.java | 2 +- .../apereo/cas/web/ProxyControllerTests.java | 2 + .../WSFederationClaimsReleasePolicyTests.java | 1 - .../src/test/resources/log4j2.xml | 16 ++++ 41 files changed, 296 insertions(+), 85 deletions(-) create mode 100755 ci/tests/oracle/run-oracle-server.sh create mode 100755 ci/tests/oracle/run-tests-oracle.sh create mode 100644 support/cas-server-support-gauth-jpa/src/test/java/org/apereo/cas/gauth/credential/OracleJpaGoogleAuthenticatorTokenCredentialRepositoryTests.java create mode 100644 support/cas-server-support-gauth-jpa/src/test/java/org/apereo/cas/gauth/token/OracleGoogleAuthenticatorJpaTokenRepositoryTests.java create mode 100644 support/cas-server-support-jpa-service-registry/src/test/java/org/apereo/cas/services/JpaServiceRegistryOracleTests.java create mode 100644 support/cas-server-support-jpa-ticket-registry/src/test/java/org/apereo/cas/ticket/registry/OracleJpaTicketRegistryTests.java create mode 100644 support/cas-server-support-jpa-ticket-registry/src/test/java/org/apereo/cas/ticket/registry/support/OracleJpaLockingStrategyTests.java create mode 100644 webapp/cas-server-webapp-tomcat/src/test/resources/log4j2.xml diff --git a/.travis.yml b/.travis.yml index c18ea1bdff2e..b10e2a99d542 100644 --- a/.travis.yml +++ b/.travis.yml @@ -204,6 +204,9 @@ jobs: - stage: test script: ./ci/tests/mariadb/run-tests-mariadb.sh name: "MariaDb Tests" + - stage: test + script: ./ci/tests/oracle/run-tests-oracle.sh + name: "Oracle Tests" - stage: test script: ./ci/tests/mongodb/run-tests-mongodb.sh name: "MongoDb Tests" diff --git a/ci/tests/oracle/run-oracle-server.sh b/ci/tests/oracle/run-oracle-server.sh new file mode 100755 index 000000000000..fb3ee2ea559f --- /dev/null +++ b/ci/tests/oracle/run-oracle-server.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +# while sleep 9m; do echo -e '\n=====[ Gradle build is still running ]====='; done & + +echo "Running Oracle docker image..." +docker run -d -p 1521:1521 --name oracle-db store/oracle/database-enterprise:12.2.0.1-slim +echo "Waiting for Oracle image to prepare..." +sleep 30 +docker ps | grep "oracle-db" +echo "Waiting for Oracle server to come online..." +until curl --output /dev/null --silent --fail telnet://127.0.0.1:1521; do + printf '.' + sleep 2 +done +echo "Oracle docker image is running." diff --git a/ci/tests/oracle/run-tests-oracle.sh b/ci/tests/oracle/run-tests-oracle.sh new file mode 100755 index 000000000000..9e76cbc5c206 --- /dev/null +++ b/ci/tests/oracle/run-tests-oracle.sh @@ -0,0 +1,77 @@ +#!/bin/bash +source ./ci/functions.sh + +runBuild=false +echo "Reviewing changes that might affect the Gradle build..." +currentChangeSetAffectsTests +retval=$? +if [ "$retval" == 0 ] +then + echo "Found changes that require the build to run test cases." + runBuild=true +else + echo "Changes do NOT affect project test cases." + runBuild=false +fi + +if [ "$runBuild" = false ]; then + exit 0 +fi + +prepCommand="echo 'Running command...'; " +gradle="./gradlew $@" +gradleBuild="" +gradleBuildOptions="--stacktrace --build-cache --configure-on-demand --no-daemon -DtestCategoryType=ORACLE " + +echo -e "***********************************************" +echo -e "Gradle build started at `date`" +echo -e "***********************************************" + +./ci/tests/oracle/run-oracle-server.sh + +gradleBuild="$gradleBuild testOracle jacocoRootReport -x test -x javadoc -x check \ + -DskipGradleLint=true--parallel \ + -DskipNestedConfigMetadataGen=true " + +if [[ "${TRAVIS_COMMIT_MESSAGE}" == *"[show streams]"* ]]; then + gradleBuild="$gradleBuild -DshowStandardStreams=true " +fi + +if [[ "${TRAVIS_COMMIT_MESSAGE}" == *"[rerun tasks]"* ]]; then + gradleBuild="$gradleBuild --rerun-tasks " +fi + +if [[ "${TRAVIS_COMMIT_MESSAGE}" == *"[refresh dependencies]"* ]]; then + gradleBuild="$gradleBuild --refresh-dependencies " +fi + +if [ -z "$gradleBuild" ]; then + echo "Gradle build will be ignored since no commands are specified to run." +else + tasks="$gradle $gradleBuildOptions $gradleBuild" + echo -e "***************************************************************************************" + echo $prepCommand + echo $tasks + echo -e "***************************************************************************************" + + waitloop="while sleep 9m; do echo -e '\n=====[ Gradle build is still running ]====='; done &" + eval $waitloop + waitRetVal=$? + + eval $prepCommand + eval $tasks + retVal=$? + + echo -e "***************************************************************************************" + echo -e "Gradle build finished at `date` with exit code $retVal" + echo -e "***************************************************************************************" + + if [ $retVal == 0 ]; then + echo "Uploading test coverage results..." + bash <(curl -s https://codecov.io/bash) + echo "Gradle build finished successfully." + else + echo "Gradle build did NOT finish successfully." + exit $retVal + fi +fi diff --git a/core/cas-server-core-authentication-api/src/test/java/org/apereo/cas/authentication/principal/resolvers/InternalGroovyScriptDaoTests.java b/core/cas-server-core-authentication-api/src/test/java/org/apereo/cas/authentication/principal/resolvers/InternalGroovyScriptDaoTests.java index c66d7374deeb..4fadd5632b35 100644 --- a/core/cas-server-core-authentication-api/src/test/java/org/apereo/cas/authentication/principal/resolvers/InternalGroovyScriptDaoTests.java +++ b/core/cas-server-core-authentication-api/src/test/java/org/apereo/cas/authentication/principal/resolvers/InternalGroovyScriptDaoTests.java @@ -1,6 +1,5 @@ package org.apereo.cas.authentication.principal.resolvers; -import org.apereo.cas.config.support.EnvironmentConversionServiceInitializer; import org.apereo.cas.configuration.CasConfigurationProperties; import lombok.val; @@ -11,7 +10,6 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.cloud.autoconfigure.RefreshAutoConfiguration; import org.springframework.context.support.StaticApplicationContext; -import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.TestPropertySource; import java.util.HashMap; @@ -26,7 +24,6 @@ */ @Tag("Groovy") @SpringBootTest(classes = RefreshAutoConfiguration.class) -@ContextConfiguration(initializers = EnvironmentConversionServiceInitializer.class) @EnableConfigurationProperties(CasConfigurationProperties.class) @TestPropertySource(properties = "cas.authn.attributeRepository.groovy[0].location=classpath:GroovyAttributeDao.groovy") public class InternalGroovyScriptDaoTests { diff --git a/core/cas-server-core-authentication-mfa-api/src/main/java/org/apereo/cas/authentication/DefaultRequestedAuthenticationContextValidator.java b/core/cas-server-core-authentication-mfa-api/src/main/java/org/apereo/cas/authentication/DefaultRequestedAuthenticationContextValidator.java index 64191b7b4ff8..07757ee90433 100644 --- a/core/cas-server-core-authentication-mfa-api/src/main/java/org/apereo/cas/authentication/DefaultRequestedAuthenticationContextValidator.java +++ b/core/cas-server-core-authentication-mfa-api/src/main/java/org/apereo/cas/authentication/DefaultRequestedAuthenticationContextValidator.java @@ -49,16 +49,18 @@ public Pair> validateAuthen val provider = providerResult.get(); if (provider.isAvailable(registeredService)) { val bypassEvaluator = provider.getBypassEvaluator(); - if (!bypassEvaluator.shouldMultifactorAuthenticationProviderExecute(authentication, registeredService, provider, request)) { - LOGGER.debug("MFA provider [{}] has determined that it should be bypassed for this service request [{}]", + if (bypassEvaluator != null) { + if (!bypassEvaluator.shouldMultifactorAuthenticationProviderExecute(authentication, registeredService, provider, request)) { + LOGGER.debug("MFA provider [{}] has determined that it should be bypassed for this service request [{}]", providerId, assertion.getService()); - bypassEvaluator.rememberBypass(authentication, provider); - return Pair.of(Boolean.TRUE, Optional.empty()); - } - if (bypassEvaluator.isMultifactorAuthenticationBypassed(authentication, providerId)) { - LOGGER.debug("Authentication attempt indicates that MFA is bypassed for this request for [{}]", requestedContext); - bypassEvaluator.rememberBypass(authentication, provider); - return Pair.of(Boolean.TRUE, Optional.empty()); + bypassEvaluator.rememberBypass(authentication, provider); + return Pair.of(Boolean.TRUE, Optional.empty()); + } + if (bypassEvaluator.isMultifactorAuthenticationBypassed(authentication, providerId)) { + LOGGER.debug("Authentication attempt indicates that MFA is bypassed for this request for [{}]", requestedContext); + bypassEvaluator.rememberBypass(authentication, provider); + return Pair.of(Boolean.TRUE, Optional.empty()); + } } } else { val failure = provider.getFailureModeEvaluator().evaluate(registeredService, provider); diff --git a/core/cas-server-core-authentication-mfa/src/test/resources/log4j2.xml b/core/cas-server-core-authentication-mfa/src/test/resources/log4j2.xml index ea6a3959d8e1..a3f865f32795 100644 --- a/core/cas-server-core-authentication-mfa/src/test/resources/log4j2.xml +++ b/core/cas-server-core-authentication-mfa/src/test/resources/log4j2.xml @@ -6,7 +6,7 @@ - + diff --git a/core/cas-server-core-authentication/src/main/java/org/apereo/cas/config/CasCoreAuthenticationConfiguration.java b/core/cas-server-core-authentication/src/main/java/org/apereo/cas/config/CasCoreAuthenticationConfiguration.java index f83ca3030a87..48926f97dd4e 100644 --- a/core/cas-server-core-authentication/src/main/java/org/apereo/cas/config/CasCoreAuthenticationConfiguration.java +++ b/core/cas-server-core-authentication/src/main/java/org/apereo/cas/config/CasCoreAuthenticationConfiguration.java @@ -13,6 +13,7 @@ import lombok.extern.slf4j.Slf4j; import lombok.val; +import org.springframework.beans.factory.ObjectProvider; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; @@ -33,7 +34,7 @@ * @author Dmitriy Kopylenko * @since 5.0.0 */ -@Configuration(value = "casCoreAuthenticationConfiguration", proxyBeanMethods = false) +@Configuration(value = "casCoreAuthenticationConfiguration") @EnableConfigurationProperties(CasConfigurationProperties.class) @Slf4j public class CasCoreAuthenticationConfiguration { @@ -44,17 +45,20 @@ public class CasCoreAuthenticationConfiguration { @Autowired private CasConfigurationProperties casProperties; + @Autowired + @Qualifier("authenticationEventExecutionPlan") + private ObjectProvider authenticationEventExecutionPlan; + @Bean - public AuthenticationTransactionManager authenticationTransactionManager(@Qualifier("casAuthenticationManager") final AuthenticationManager authenticationManager) { - return new DefaultAuthenticationTransactionManager(applicationEventPublisher, authenticationManager); + public AuthenticationTransactionManager authenticationTransactionManager() { + return new DefaultAuthenticationTransactionManager(applicationEventPublisher, casAuthenticationManager()); } @ConditionalOnMissingBean(name = "casAuthenticationManager") - @Autowired @Bean - public AuthenticationManager casAuthenticationManager(@Qualifier("authenticationEventExecutionPlan") final AuthenticationEventExecutionPlan authenticationEventExecutionPlan) { + public AuthenticationManager casAuthenticationManager() { return new PolicyBasedAuthenticationManager( - authenticationEventExecutionPlan, + authenticationEventExecutionPlan.getIfAvailable(), casProperties.getPersonDirectory().isPrincipalResolutionFailureFatal(), applicationEventPublisher ); diff --git a/core/cas-server-core-monitor/src/test/java/org/apereo/cas/monitor/CacheHealthIndicatorTests.java b/core/cas-server-core-monitor/src/test/java/org/apereo/cas/monitor/CacheHealthIndicatorTests.java index 9679a9d351ed..729c68785be1 100644 --- a/core/cas-server-core-monitor/src/test/java/org/apereo/cas/monitor/CacheHealthIndicatorTests.java +++ b/core/cas-server-core-monitor/src/test/java/org/apereo/cas/monitor/CacheHealthIndicatorTests.java @@ -1,6 +1,5 @@ package org.apereo.cas.monitor; -import org.apereo.cas.config.support.EnvironmentConversionServiceInitializer; import org.apereo.cas.configuration.CasConfigurationProperties; import lombok.val; @@ -11,7 +10,6 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.cloud.autoconfigure.RefreshAutoConfiguration; -import org.springframework.test.context.ContextConfiguration; import static org.junit.jupiter.api.Assertions.*; @@ -25,7 +23,6 @@ RefreshAutoConfiguration.class, AopAutoConfiguration.class }) -@ContextConfiguration(initializers = EnvironmentConversionServiceInitializer.class) @EnableConfigurationProperties(CasConfigurationProperties.class) public class CacheHealthIndicatorTests { diff --git a/gradle/dependencies.gradle b/gradle/dependencies.gradle index f27c126362a0..309dfa6a4b81 100644 --- a/gradle/dependencies.gradle +++ b/gradle/dependencies.gradle @@ -498,7 +498,6 @@ ext.libraries = [ exclude(group: "com.google.guava", module: "guava") exclude(group: "joda-time", module: "joda-time") exclude(group: "org.slf4j", module: "slf4j-api") - exclude(group: "com.google.code.gson", module: "gson") } ], googlegeocoding : [ @@ -508,6 +507,10 @@ ext.libraries = [ exclude(group: "org.slf4j", module: "slf4j-api") exclude(group: "com.squareup.okio", module: "okio") force = true + }, + dependencies.create("com.squareup.okhttp3:okhttp:$okhttp3Version") { + exclude(group: "org.slf4j", module: "slf4j-api") + force = true } ], okhttp : [ diff --git a/gradle/tests.gradle b/gradle/tests.gradle index 907baf5870c0..c60d4fc79330 100644 --- a/gradle/tests.gradle +++ b/gradle/tests.gradle @@ -130,6 +130,15 @@ if (hasTestsOfCategory(project, "InfluxDb")) { } } +if (hasTestsOfCategory(project, "Oracle")) { + task testOracle(type: Test) { + enabled = shouldTest(project, "Oracle") + useJUnitPlatform { + includeTags "Oracle" + } + } +} + if (hasTestsOfCategory(project, "Ldap")) { task testLdap(type: Test) { enabled = shouldTest(project, "Ldap") @@ -237,7 +246,7 @@ test { "Ldap", "Mail", "MariaDb", "Memcached", "MongoDb", "MsSqlServer", "MySQL", "Postgres", "Redis", "Radius", "AmazonWebServices", "RestfulApi", "Groovy", - "OAuth", "OIDC", "SAML", "UMA" + "OAuth", "OIDC", "SAML", "UMA", "Oracle" } enabled = "SIMPLE".equalsIgnoreCase(rootProject.testCategoryType) && !Boolean.getBoolean("skipTests") } diff --git a/support/cas-server-support-actions/src/test/java/org/apereo/cas/web/flow/InitialFlowSetupActionSsoTests.java b/support/cas-server-support-actions/src/test/java/org/apereo/cas/web/flow/InitialFlowSetupActionSsoTests.java index 4f2ce9216da8..c40da8f015a2 100644 --- a/support/cas-server-support-actions/src/test/java/org/apereo/cas/web/flow/InitialFlowSetupActionSsoTests.java +++ b/support/cas-server-support-actions/src/test/java/org/apereo/cas/web/flow/InitialFlowSetupActionSsoTests.java @@ -20,7 +20,6 @@ import org.apereo.cas.config.CasPersonDirectoryConfiguration; import org.apereo.cas.config.CasRegisteredServicesTestConfiguration; import org.apereo.cas.config.support.CasWebApplicationServiceFactoryConfiguration; -import org.apereo.cas.config.support.EnvironmentConversionServiceInitializer; import org.apereo.cas.logout.config.CasCoreLogoutConfiguration; import org.apereo.cas.util.SchedulingUtils; import org.apereo.cas.web.config.CasCookieConfiguration; @@ -39,7 +38,6 @@ import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletResponse; import org.springframework.mock.web.MockServletContext; -import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.TestPropertySource; import org.springframework.webflow.context.servlet.ServletExternalContext; import org.springframework.webflow.execution.Action; @@ -80,7 +78,6 @@ RefreshAutoConfiguration.class, CasCoreServicesConfiguration.class }) -@ContextConfiguration(initializers = EnvironmentConversionServiceInitializer.class) @TestPropertySource(properties = "cas.sso.allowMissingServiceParameter=false") public class InitialFlowSetupActionSsoTests { @Autowired @@ -88,7 +85,7 @@ public class InitialFlowSetupActionSsoTests { private Action action; @Test - public void disableFlowIfNoService() throws Exception { + public void disableFlowIfNoService() { val context = new MockRequestContext(); val request = new MockHttpServletRequest(); context.setExternalContext(new ServletExternalContext(new MockServletContext(), request, new MockHttpServletResponse())); diff --git a/support/cas-server-support-gauth-couchdb/src/test/java/org/apereo/cas/gauth/credential/CouchDbGoogleAuthenticatorTokenCredentialRepositoryTests.java b/support/cas-server-support-gauth-couchdb/src/test/java/org/apereo/cas/gauth/credential/CouchDbGoogleAuthenticatorTokenCredentialRepositoryTests.java index d741a9ffaec9..20df2ee79754 100644 --- a/support/cas-server-support-gauth-couchdb/src/test/java/org/apereo/cas/gauth/credential/CouchDbGoogleAuthenticatorTokenCredentialRepositoryTests.java +++ b/support/cas-server-support-gauth-couchdb/src/test/java/org/apereo/cas/gauth/credential/CouchDbGoogleAuthenticatorTokenCredentialRepositoryTests.java @@ -19,7 +19,6 @@ import org.apereo.cas.config.CasPersonDirectoryConfiguration; import org.apereo.cas.config.GoogleAuthenticatorCouchDbConfiguration; import org.apereo.cas.config.support.CasWebApplicationServiceFactoryConfiguration; -import org.apereo.cas.config.support.EnvironmentConversionServiceInitializer; import org.apereo.cas.config.support.authentication.GoogleAuthenticatorAuthenticationEventExecutionPlanConfiguration; import org.apereo.cas.couchdb.core.CouchDbConnectorFactory; import org.apereo.cas.couchdb.gauth.credential.GoogleAuthenticatorAccountCouchDbRepository; @@ -38,7 +37,6 @@ import org.springframework.cloud.autoconfigure.RefreshAutoConfiguration; import org.springframework.context.annotation.EnableAspectJAutoProxy; import org.springframework.scheduling.annotation.EnableScheduling; -import org.springframework.test.context.ContextConfiguration; /** * This is {@link CouchDbGoogleAuthenticatorTokenCredentialRepositoryTests}. @@ -80,7 +78,6 @@ }) @EnableAspectJAutoProxy(proxyTargetClass = true) @EnableScheduling -@ContextConfiguration(initializers = EnvironmentConversionServiceInitializer.class) @Getter @EnabledIfContinuousIntegration public class CouchDbGoogleAuthenticatorTokenCredentialRepositoryTests extends BaseOneTimeTokenCredentialRepositoryTests { diff --git a/support/cas-server-support-gauth-couchdb/src/test/java/org/apereo/cas/gauth/token/GoogleAuthenticatorCouchDbTokenRepositoryTests.java b/support/cas-server-support-gauth-couchdb/src/test/java/org/apereo/cas/gauth/token/GoogleAuthenticatorCouchDbTokenRepositoryTests.java index f5bf1ffd058d..6a4618f04fe2 100644 --- a/support/cas-server-support-gauth-couchdb/src/test/java/org/apereo/cas/gauth/token/GoogleAuthenticatorCouchDbTokenRepositoryTests.java +++ b/support/cas-server-support-gauth-couchdb/src/test/java/org/apereo/cas/gauth/token/GoogleAuthenticatorCouchDbTokenRepositoryTests.java @@ -19,7 +19,6 @@ import org.apereo.cas.config.CasPersonDirectoryConfiguration; import org.apereo.cas.config.GoogleAuthenticatorCouchDbConfiguration; import org.apereo.cas.config.support.CasWebApplicationServiceFactoryConfiguration; -import org.apereo.cas.config.support.EnvironmentConversionServiceInitializer; import org.apereo.cas.config.support.authentication.GoogleAuthenticatorAuthenticationEventExecutionPlanConfiguration; import org.apereo.cas.couchdb.core.CouchDbConnectorFactory; import org.apereo.cas.couchdb.gauth.token.GoogleAuthenticatorTokenCouchDbRepository; @@ -37,7 +36,6 @@ import org.springframework.cloud.autoconfigure.RefreshAutoConfiguration; import org.springframework.context.annotation.EnableAspectJAutoProxy; import org.springframework.scheduling.annotation.EnableScheduling; -import org.springframework.test.context.ContextConfiguration; /** * This is {@link GoogleAuthenticatorCouchDbTokenRepositoryTests}. @@ -79,7 +77,6 @@ }) @EnableAspectJAutoProxy(proxyTargetClass = true) @EnableScheduling -@ContextConfiguration(initializers = EnvironmentConversionServiceInitializer.class) @Getter @EnabledIfContinuousIntegration public class GoogleAuthenticatorCouchDbTokenRepositoryTests extends BaseOneTimeTokenRepositoryTests { diff --git a/support/cas-server-support-gauth-jpa/src/test/java/org/apereo/cas/GoogleAuthenticatorJpaTestsSuite.java b/support/cas-server-support-gauth-jpa/src/test/java/org/apereo/cas/GoogleAuthenticatorJpaTestsSuite.java index d52352704019..a3a9aae29a29 100644 --- a/support/cas-server-support-gauth-jpa/src/test/java/org/apereo/cas/GoogleAuthenticatorJpaTestsSuite.java +++ b/support/cas-server-support-gauth-jpa/src/test/java/org/apereo/cas/GoogleAuthenticatorJpaTestsSuite.java @@ -2,6 +2,7 @@ import org.apereo.cas.gauth.credential.JpaGoogleAuthenticatorTokenCredentialRepositoryTests; import org.apereo.cas.gauth.credential.MariaDbJpaGoogleAuthenticatorTokenCredentialRepositoryTests; +import org.apereo.cas.gauth.credential.OracleJpaGoogleAuthenticatorTokenCredentialRepositoryTests; import org.apereo.cas.gauth.token.GoogleAuthenticatorJpaTokenRepositoryTests; import org.apereo.cas.gauth.token.MariaDbGoogleAuthenticatorJpaTokenRepositoryTests; @@ -19,6 +20,7 @@ JpaGoogleAuthenticatorTokenCredentialRepositoryTests.class, MariaDbGoogleAuthenticatorJpaTokenRepositoryTests.class, MariaDbJpaGoogleAuthenticatorTokenCredentialRepositoryTests.class, + OracleJpaGoogleAuthenticatorTokenCredentialRepositoryTests.class, GoogleAuthenticatorJpaTokenRepositoryTests.class }) @RunWith(JUnitPlatform.class) diff --git a/support/cas-server-support-gauth-jpa/src/test/java/org/apereo/cas/gauth/credential/JpaGoogleAuthenticatorTokenCredentialRepositoryTests.java b/support/cas-server-support-gauth-jpa/src/test/java/org/apereo/cas/gauth/credential/JpaGoogleAuthenticatorTokenCredentialRepositoryTests.java index e9a936449932..7f169f8d1faa 100644 --- a/support/cas-server-support-gauth-jpa/src/test/java/org/apereo/cas/gauth/credential/JpaGoogleAuthenticatorTokenCredentialRepositoryTests.java +++ b/support/cas-server-support-gauth-jpa/src/test/java/org/apereo/cas/gauth/credential/JpaGoogleAuthenticatorTokenCredentialRepositoryTests.java @@ -18,7 +18,6 @@ import org.apereo.cas.config.CasPersonDirectoryConfiguration; import org.apereo.cas.config.GoogleAuthenticatorJpaConfiguration; import org.apereo.cas.config.support.CasWebApplicationServiceFactoryConfiguration; -import org.apereo.cas.config.support.EnvironmentConversionServiceInitializer; import org.apereo.cas.config.support.authentication.GoogleAuthenticatorAuthenticationEventExecutionPlanConfiguration; import org.apereo.cas.logout.config.CasCoreLogoutConfiguration; import org.apereo.cas.otp.repository.credentials.OneTimeTokenCredentialRepository; @@ -36,7 +35,6 @@ import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.EnableAspectJAutoProxy; import org.springframework.scheduling.annotation.EnableScheduling; -import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.annotation.EnableTransactionManagement; /** @@ -73,7 +71,6 @@ @EnableTransactionManagement(proxyTargetClass = true) @EnableAspectJAutoProxy(proxyTargetClass = true) @EnableScheduling -@ContextConfiguration(initializers = EnvironmentConversionServiceInitializer.class) @Getter public class JpaGoogleAuthenticatorTokenCredentialRepositoryTests extends BaseOneTimeTokenCredentialRepositoryTests { @Autowired(required = false) diff --git a/support/cas-server-support-gauth-jpa/src/test/java/org/apereo/cas/gauth/credential/OracleJpaGoogleAuthenticatorTokenCredentialRepositoryTests.java b/support/cas-server-support-gauth-jpa/src/test/java/org/apereo/cas/gauth/credential/OracleJpaGoogleAuthenticatorTokenCredentialRepositoryTests.java new file mode 100644 index 000000000000..9193bc44173e --- /dev/null +++ b/support/cas-server-support-gauth-jpa/src/test/java/org/apereo/cas/gauth/credential/OracleJpaGoogleAuthenticatorTokenCredentialRepositoryTests.java @@ -0,0 +1,26 @@ +package org.apereo.cas.gauth.credential; + +import org.apereo.cas.util.junit.EnabledIfContinuousIntegration; +import org.apereo.cas.util.junit.EnabledIfPortOpen; + +import org.junit.jupiter.api.Tag; +import org.springframework.test.context.TestPropertySource; + +/** + * Test cases for {@link OracleJpaGoogleAuthenticatorTokenCredentialRepositoryTests}. + * + * @author Misagh Moayyed + * @since 6.0.0 + */ +@TestPropertySource(properties = { + "cas.authn.mfa.gauth.jpa.user=system", + "cas.authn.mfa.gauth.jpa.password=Oradoc_db1", + "cas.authn.mfa.gauth.jpa.driverClass=oracle.jdbc.driver.OracleDriver", + "cas.authn.mfa.gauth.jpa.url=jdbc:oracle:thin:@localhost:1521:ORCLCDB", + "cas.authn.mfa.gauth.jpa.dialect=org.hibernate.dialect.Oracle12cDialect" +}) +@EnabledIfPortOpen(port = 1521) +@EnabledIfContinuousIntegration +@Tag("Oracle") +public class OracleJpaGoogleAuthenticatorTokenCredentialRepositoryTests extends JpaGoogleAuthenticatorTokenCredentialRepositoryTests { +} diff --git a/support/cas-server-support-gauth-jpa/src/test/java/org/apereo/cas/gauth/token/OracleGoogleAuthenticatorJpaTokenRepositoryTests.java b/support/cas-server-support-gauth-jpa/src/test/java/org/apereo/cas/gauth/token/OracleGoogleAuthenticatorJpaTokenRepositoryTests.java new file mode 100644 index 000000000000..d3b6ef2ac6e3 --- /dev/null +++ b/support/cas-server-support-gauth-jpa/src/test/java/org/apereo/cas/gauth/token/OracleGoogleAuthenticatorJpaTokenRepositoryTests.java @@ -0,0 +1,26 @@ +package org.apereo.cas.gauth.token; + +import org.apereo.cas.util.junit.EnabledIfContinuousIntegration; +import org.apereo.cas.util.junit.EnabledIfPortOpen; + +import org.junit.jupiter.api.Tag; +import org.springframework.test.context.TestPropertySource; + +/** + * This is {@link OracleGoogleAuthenticatorJpaTokenRepositoryTests}. + * + * @author Misagh Moayyed + * @since 6.0.0 + */ +@TestPropertySource(properties = { + "cas.authn.mfa.gauth.jpa.user=system", + "cas.authn.mfa.gauth.jpa.password=Oradoc_db1", + "cas.authn.mfa.gauth.jpa.driverClass=oracle.jdbc.driver.OracleDriver", + "cas.authn.mfa.gauth.jpa.url=jdbc:oracle:thin:@localhost:1521:ORCLCDB", + "cas.authn.mfa.gauth.jpa.dialect=org.hibernate.dialect.Oracle12cDialect" +}) +@EnabledIfPortOpen(port = 1521) +@EnabledIfContinuousIntegration +@Tag("Oracle") +public class OracleGoogleAuthenticatorJpaTokenRepositoryTests extends GoogleAuthenticatorJpaTokenRepositoryTests { +} diff --git a/support/cas-server-support-gauth-mongo/src/test/java/org/apereo/cas/gauth/credential/MongoDbGoogleAuthenticatorTokenCredentialRepositoryTests.java b/support/cas-server-support-gauth-mongo/src/test/java/org/apereo/cas/gauth/credential/MongoDbGoogleAuthenticatorTokenCredentialRepositoryTests.java index 03db6c41d5c0..a1c59d054d36 100644 --- a/support/cas-server-support-gauth-mongo/src/test/java/org/apereo/cas/gauth/credential/MongoDbGoogleAuthenticatorTokenCredentialRepositoryTests.java +++ b/support/cas-server-support-gauth-mongo/src/test/java/org/apereo/cas/gauth/credential/MongoDbGoogleAuthenticatorTokenCredentialRepositoryTests.java @@ -18,7 +18,6 @@ import org.apereo.cas.config.CasPersonDirectoryConfiguration; import org.apereo.cas.config.GoogleAuthenticatorMongoDbConfiguration; import org.apereo.cas.config.support.CasWebApplicationServiceFactoryConfiguration; -import org.apereo.cas.config.support.EnvironmentConversionServiceInitializer; import org.apereo.cas.config.support.authentication.GoogleAuthenticatorAuthenticationEventExecutionPlanConfiguration; import org.apereo.cas.logout.config.CasCoreLogoutConfiguration; import org.apereo.cas.otp.repository.credentials.OneTimeTokenCredentialRepository; @@ -40,7 +39,6 @@ import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.EnableAspectJAutoProxy; import org.springframework.scheduling.annotation.EnableScheduling; -import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.TestPropertySource; import org.springframework.transaction.annotation.EnableTransactionManagement; @@ -89,7 +87,6 @@ "cas.authn.mfa.gauth.crypto.enabled=false" }) @EnableScheduling -@ContextConfiguration(initializers = EnvironmentConversionServiceInitializer.class) @Tag("MongoDb") @EnabledIfContinuousIntegration public class MongoDbGoogleAuthenticatorTokenCredentialRepositoryTests { diff --git a/support/cas-server-support-gauth-mongo/src/test/java/org/apereo/cas/gauth/token/GoogleAuthenticatorMongoDbTokenRepositoryTests.java b/support/cas-server-support-gauth-mongo/src/test/java/org/apereo/cas/gauth/token/GoogleAuthenticatorMongoDbTokenRepositoryTests.java index 35129867cd12..9d8a23504953 100644 --- a/support/cas-server-support-gauth-mongo/src/test/java/org/apereo/cas/gauth/token/GoogleAuthenticatorMongoDbTokenRepositoryTests.java +++ b/support/cas-server-support-gauth-mongo/src/test/java/org/apereo/cas/gauth/token/GoogleAuthenticatorMongoDbTokenRepositoryTests.java @@ -18,7 +18,6 @@ import org.apereo.cas.config.CasPersonDirectoryConfiguration; import org.apereo.cas.config.GoogleAuthenticatorMongoDbConfiguration; import org.apereo.cas.config.support.CasWebApplicationServiceFactoryConfiguration; -import org.apereo.cas.config.support.EnvironmentConversionServiceInitializer; import org.apereo.cas.config.support.authentication.GoogleAuthenticatorAuthenticationEventExecutionPlanConfiguration; import org.apereo.cas.gauth.credential.MongoDbGoogleAuthenticatorTokenCredentialRepositoryTests; import org.apereo.cas.logout.config.CasCoreLogoutConfiguration; @@ -37,7 +36,6 @@ import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.EnableAspectJAutoProxy; import org.springframework.scheduling.annotation.EnableScheduling; -import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.TestPropertySource; import org.springframework.transaction.annotation.EnableTransactionManagement; @@ -85,7 +83,6 @@ "cas.authn.mfa.gauth.crypto.enabled=false" }) @EnableScheduling -@ContextConfiguration(initializers = EnvironmentConversionServiceInitializer.class) @Getter @EnabledIfContinuousIntegration public class GoogleAuthenticatorMongoDbTokenRepositoryTests extends BaseOneTimeTokenRepositoryTests { diff --git a/support/cas-server-support-gauth-redis/src/test/java/org/apereo/cas/gauth/credential/RedisGoogleAuthenticatorTokenCredentialRepositoryTests.java b/support/cas-server-support-gauth-redis/src/test/java/org/apereo/cas/gauth/credential/RedisGoogleAuthenticatorTokenCredentialRepositoryTests.java index 54d73cb0fb03..dbed416c9624 100644 --- a/support/cas-server-support-gauth-redis/src/test/java/org/apereo/cas/gauth/credential/RedisGoogleAuthenticatorTokenCredentialRepositoryTests.java +++ b/support/cas-server-support-gauth-redis/src/test/java/org/apereo/cas/gauth/credential/RedisGoogleAuthenticatorTokenCredentialRepositoryTests.java @@ -18,7 +18,6 @@ import org.apereo.cas.config.CasPersonDirectoryConfiguration; import org.apereo.cas.config.GoogleAuthenticatorRedisConfiguration; import org.apereo.cas.config.support.CasWebApplicationServiceFactoryConfiguration; -import org.apereo.cas.config.support.EnvironmentConversionServiceInitializer; import org.apereo.cas.config.support.authentication.GoogleAuthenticatorAuthenticationEventExecutionPlanConfiguration; import org.apereo.cas.logout.config.CasCoreLogoutConfiguration; import org.apereo.cas.otp.repository.credentials.OneTimeTokenCredentialRepository; @@ -36,7 +35,6 @@ import org.springframework.cloud.autoconfigure.RefreshAutoConfiguration; import org.springframework.context.annotation.EnableAspectJAutoProxy; import org.springframework.scheduling.annotation.EnableScheduling; -import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.TestPropertySource; import org.springframework.transaction.annotation.EnableTransactionManagement; @@ -78,7 +76,6 @@ "cas.authn.mfa.gauth.redis.port=6379" }) @EnableScheduling -@ContextConfiguration(initializers = EnvironmentConversionServiceInitializer.class) @Tag("Redis") @EnabledIfContinuousIntegration public class RedisGoogleAuthenticatorTokenCredentialRepositoryTests { diff --git a/support/cas-server-support-gauth-redis/src/test/java/org/apereo/cas/gauth/token/GoogleAuthenticatorRedisTokenRepositoryTests.java b/support/cas-server-support-gauth-redis/src/test/java/org/apereo/cas/gauth/token/GoogleAuthenticatorRedisTokenRepositoryTests.java index d590a2464762..ea581cdda888 100644 --- a/support/cas-server-support-gauth-redis/src/test/java/org/apereo/cas/gauth/token/GoogleAuthenticatorRedisTokenRepositoryTests.java +++ b/support/cas-server-support-gauth-redis/src/test/java/org/apereo/cas/gauth/token/GoogleAuthenticatorRedisTokenRepositoryTests.java @@ -18,7 +18,6 @@ import org.apereo.cas.config.CasPersonDirectoryConfiguration; import org.apereo.cas.config.GoogleAuthenticatorRedisConfiguration; import org.apereo.cas.config.support.CasWebApplicationServiceFactoryConfiguration; -import org.apereo.cas.config.support.EnvironmentConversionServiceInitializer; import org.apereo.cas.config.support.authentication.GoogleAuthenticatorAuthenticationEventExecutionPlanConfiguration; import org.apereo.cas.logout.config.CasCoreLogoutConfiguration; import org.apereo.cas.util.junit.EnabledIfContinuousIntegration; @@ -31,7 +30,6 @@ import org.springframework.cloud.autoconfigure.RefreshAutoConfiguration; import org.springframework.context.annotation.EnableAspectJAutoProxy; import org.springframework.scheduling.annotation.EnableScheduling; -import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.TestPropertySource; import org.springframework.transaction.annotation.EnableTransactionManagement; @@ -72,7 +70,6 @@ "cas.authn.mfa.gauth.redis.port=6379" }) @EnableScheduling -@ContextConfiguration(initializers = EnvironmentConversionServiceInitializer.class) @Getter @EnabledIfContinuousIntegration public class GoogleAuthenticatorRedisTokenRepositoryTests extends BaseOneTimeTokenRepositoryTests { diff --git a/support/cas-server-support-hazelcast-ticket-registry/src/test/java/org/apereo/cas/ticket/registry/DefaultHazelcastInstanceConfigurationTests.java b/support/cas-server-support-hazelcast-ticket-registry/src/test/java/org/apereo/cas/ticket/registry/DefaultHazelcastInstanceConfigurationTests.java index b79af03837b4..0cb85ca2e766 100644 --- a/support/cas-server-support-hazelcast-ticket-registry/src/test/java/org/apereo/cas/ticket/registry/DefaultHazelcastInstanceConfigurationTests.java +++ b/support/cas-server-support-hazelcast-ticket-registry/src/test/java/org/apereo/cas/ticket/registry/DefaultHazelcastInstanceConfigurationTests.java @@ -19,7 +19,6 @@ import org.apereo.cas.config.HazelcastTicketRegistryConfiguration; import org.apereo.cas.config.HazelcastTicketRegistryTicketCatalogConfiguration; import org.apereo.cas.config.support.CasWebApplicationServiceFactoryConfiguration; -import org.apereo.cas.config.support.EnvironmentConversionServiceInitializer; import org.apereo.cas.logout.config.CasCoreLogoutConfiguration; import org.apereo.cas.util.SchedulingUtils; @@ -36,7 +35,6 @@ import org.springframework.cloud.autoconfigure.RefreshAutoConfiguration; import org.springframework.context.ApplicationContext; import org.springframework.test.annotation.DirtiesContext; -import org.springframework.test.context.ContextConfiguration; import java.util.Collections; @@ -71,7 +69,6 @@ CasCoreLogoutConfiguration.class, CasCoreWebConfiguration.class, CasWebApplicationServiceFactoryConfiguration.class}) -@ContextConfiguration(initializers = EnvironmentConversionServiceInitializer.class) @DirtiesContext @Slf4j public class DefaultHazelcastInstanceConfigurationTests { diff --git a/support/cas-server-support-jdbc-monitor/src/test/java/org/apereo/cas/monitor/JdbcDataSourceHealthIndicatorTests.java b/support/cas-server-support-jdbc-monitor/src/test/java/org/apereo/cas/monitor/JdbcDataSourceHealthIndicatorTests.java index f81c0af162a0..f4b6e05aa023 100644 --- a/support/cas-server-support-jdbc-monitor/src/test/java/org/apereo/cas/monitor/JdbcDataSourceHealthIndicatorTests.java +++ b/support/cas-server-support-jdbc-monitor/src/test/java/org/apereo/cas/monitor/JdbcDataSourceHealthIndicatorTests.java @@ -1,6 +1,5 @@ package org.apereo.cas.monitor; -import org.apereo.cas.config.support.EnvironmentConversionServiceInitializer; import org.apereo.cas.configuration.CasConfigurationProperties; import lombok.val; @@ -12,7 +11,6 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.cloud.autoconfigure.RefreshAutoConfiguration; import org.springframework.context.support.ClassPathXmlApplicationContext; -import org.springframework.test.context.ContextConfiguration; import javax.sql.DataSource; import java.util.concurrent.ExecutorService; @@ -27,7 +25,6 @@ * @since 3.5.1 */ @SpringBootTest(classes = RefreshAutoConfiguration.class) -@ContextConfiguration(initializers = EnvironmentConversionServiceInitializer.class) @EnableConfigurationProperties(CasConfigurationProperties.class) public class JdbcDataSourceHealthIndicatorTests { private final ExecutorService executor = Executors.newSingleThreadExecutor(); diff --git a/support/cas-server-support-jpa-service-registry/src/test/java/org/apereo/cas/services/AllJpaServiceRegistryTestsSuite.java b/support/cas-server-support-jpa-service-registry/src/test/java/org/apereo/cas/services/AllJpaServiceRegistryTestsSuite.java index c0de8fd22c73..1721250e9131 100644 --- a/support/cas-server-support-jpa-service-registry/src/test/java/org/apereo/cas/services/AllJpaServiceRegistryTestsSuite.java +++ b/support/cas-server-support-jpa-service-registry/src/test/java/org/apereo/cas/services/AllJpaServiceRegistryTestsSuite.java @@ -16,7 +16,8 @@ JpaServiceRegistryMicrosoftSqlServerTests.class, JpaServiceRegistryPostgresTests.class, JpaServiceRegistryMariaDbTests.class, - OidcJpaServiceRegistryTests.class + OidcJpaServiceRegistryTests.class, + JpaServiceRegistryOracleTests.class }) @RunWith(JUnitPlatform.class) public class AllJpaServiceRegistryTestsSuite { diff --git a/support/cas-server-support-jpa-service-registry/src/test/java/org/apereo/cas/services/JpaServiceRegistryOracleTests.java b/support/cas-server-support-jpa-service-registry/src/test/java/org/apereo/cas/services/JpaServiceRegistryOracleTests.java new file mode 100644 index 000000000000..22cbd4eda5c9 --- /dev/null +++ b/support/cas-server-support-jpa-service-registry/src/test/java/org/apereo/cas/services/JpaServiceRegistryOracleTests.java @@ -0,0 +1,26 @@ +package org.apereo.cas.services; + +import org.apereo.cas.util.junit.EnabledIfContinuousIntegration; +import org.apereo.cas.util.junit.EnabledIfPortOpen; + +import org.junit.jupiter.api.Tag; +import org.springframework.test.context.TestPropertySource; + +/** + * Handles tests for {@link JpaServiceRegistry} + * + * @author Misagh Moayyed + * @since 6.0.0 + */ +@TestPropertySource(properties = { + "cas.serviceRegistry.jpa.user=system", + "cas.serviceRegistry.jpa.password=Oradoc_db1", + "cas.serviceRegistry.jpa.driverClass=oracle.jdbc.driver.OracleDriver", + "cas.serviceRegistry.jpa.url=jdbc:oracle:thin:@localhost:1521:ORCLCDB", + "cas.serviceRegistry.jpa.dialect=org.hibernate.dialect.Oracle12cDialect" +}) +@EnabledIfContinuousIntegration +@EnabledIfPortOpen(port = 1521) +@Tag("Oracle") +public class JpaServiceRegistryOracleTests extends JpaServiceRegistryTests { +} diff --git a/support/cas-server-support-jpa-ticket-registry/src/test/java/org/apereo/cas/AllTestsSuite.java b/support/cas-server-support-jpa-ticket-registry/src/test/java/org/apereo/cas/AllTestsSuite.java index 7dd90a9c5991..06d7b46f91cb 100644 --- a/support/cas-server-support-jpa-ticket-registry/src/test/java/org/apereo/cas/AllTestsSuite.java +++ b/support/cas-server-support-jpa-ticket-registry/src/test/java/org/apereo/cas/AllTestsSuite.java @@ -5,8 +5,10 @@ import org.apereo.cas.ticket.registry.JpaTicketRegistryTests; import org.apereo.cas.ticket.registry.OauthJpaTicketRegistryCleanerTests; import org.apereo.cas.ticket.registry.OauthJpaTicketRegistryTests; +import org.apereo.cas.ticket.registry.OracleJpaTicketRegistryTests; import org.apereo.cas.ticket.registry.PostgresOauthJpaTicketRegistryCleanerTests; import org.apereo.cas.ticket.registry.support.JpaLockingStrategyTests; +import org.apereo.cas.ticket.registry.support.OracleJpaLockingStrategyTests; import org.junit.platform.runner.JUnitPlatform; import org.junit.platform.suite.api.SelectClasses; @@ -25,7 +27,9 @@ JpaTicketRegistryCleanerTests.class, OauthJpaTicketRegistryCleanerTests.class, OauthJpaTicketRegistryTests.class, - PostgresOauthJpaTicketRegistryCleanerTests.class + PostgresOauthJpaTicketRegistryCleanerTests.class, + OracleJpaTicketRegistryTests.class, + OracleJpaLockingStrategyTests.class }) @RunWith(JUnitPlatform.class) public class AllTestsSuite { diff --git a/support/cas-server-support-jpa-ticket-registry/src/test/java/org/apereo/cas/monitor/SessionHealthIndicatorJpaTests.java b/support/cas-server-support-jpa-ticket-registry/src/test/java/org/apereo/cas/monitor/SessionHealthIndicatorJpaTests.java index a3d748c57e58..5ddb92eda4f5 100644 --- a/support/cas-server-support-jpa-ticket-registry/src/test/java/org/apereo/cas/monitor/SessionHealthIndicatorJpaTests.java +++ b/support/cas-server-support-jpa-ticket-registry/src/test/java/org/apereo/cas/monitor/SessionHealthIndicatorJpaTests.java @@ -19,7 +19,6 @@ import org.apereo.cas.config.CasPersonDirectoryConfiguration; import org.apereo.cas.config.JpaTicketRegistryConfiguration; import org.apereo.cas.config.support.CasWebApplicationServiceFactoryConfiguration; -import org.apereo.cas.config.support.EnvironmentConversionServiceInitializer; import org.apereo.cas.logout.config.CasCoreLogoutConfiguration; import org.apereo.cas.services.RegisteredServiceTestUtils; import org.apereo.cas.ticket.ExpirationPolicy; @@ -43,7 +42,6 @@ import org.springframework.cloud.autoconfigure.RefreshAutoConfiguration; import org.springframework.context.ApplicationContext; import org.springframework.test.annotation.Rollback; -import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.annotation.Transactional; import static org.junit.jupiter.api.Assertions.*; @@ -79,7 +77,6 @@ CasCoreTicketCatalogConfiguration.class, CasCoreWebConfiguration.class, CasWebApplicationServiceFactoryConfiguration.class}) -@ContextConfiguration(initializers = EnvironmentConversionServiceInitializer.class) public class SessionHealthIndicatorJpaTests { private static final ExpirationPolicy TEST_EXP_POLICY = new HardTimeoutExpirationPolicy(10000); private static final UniqueTicketIdGenerator GENERATOR = new DefaultUniqueTicketIdGenerator(); diff --git a/support/cas-server-support-jpa-ticket-registry/src/test/java/org/apereo/cas/ticket/registry/JpaTicketRegistryCleanerTests.java b/support/cas-server-support-jpa-ticket-registry/src/test/java/org/apereo/cas/ticket/registry/JpaTicketRegistryCleanerTests.java index 009dda34f1da..f7fbbaa1bc68 100644 --- a/support/cas-server-support-jpa-ticket-registry/src/test/java/org/apereo/cas/ticket/registry/JpaTicketRegistryCleanerTests.java +++ b/support/cas-server-support-jpa-ticket-registry/src/test/java/org/apereo/cas/ticket/registry/JpaTicketRegistryCleanerTests.java @@ -22,7 +22,6 @@ import org.apereo.cas.config.JpaTicketRegistryConfiguration; import org.apereo.cas.config.JpaTicketRegistryTicketCatalogConfiguration; import org.apereo.cas.config.support.CasWebApplicationServiceFactoryConfiguration; -import org.apereo.cas.config.support.EnvironmentConversionServiceInitializer; import org.apereo.cas.logout.config.CasCoreLogoutConfiguration; import org.apereo.cas.services.RegisteredServiceTestUtils; import org.apereo.cas.ticket.ServiceTicket; @@ -40,7 +39,6 @@ import org.springframework.boot.autoconfigure.aop.AopAutoConfiguration; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.cloud.autoconfigure.RefreshAutoConfiguration; -import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.annotation.Isolation; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -80,7 +78,6 @@ CasCoreWebConfiguration.class, CasWebApplicationServiceFactoryConfiguration.class }) -@ContextConfiguration(initializers = EnvironmentConversionServiceInitializer.class) @Transactional(transactionManager = "ticketTransactionManager", isolation = Isolation.SERIALIZABLE, propagation = Propagation.REQUIRED) @ResourceLock("jpa-tickets") public class JpaTicketRegistryCleanerTests { diff --git a/support/cas-server-support-jpa-ticket-registry/src/test/java/org/apereo/cas/ticket/registry/OauthJpaTicketRegistryCleanerTests.java b/support/cas-server-support-jpa-ticket-registry/src/test/java/org/apereo/cas/ticket/registry/OauthJpaTicketRegistryCleanerTests.java index 3502adafaa2f..135ac8a62826 100644 --- a/support/cas-server-support-jpa-ticket-registry/src/test/java/org/apereo/cas/ticket/registry/OauthJpaTicketRegistryCleanerTests.java +++ b/support/cas-server-support-jpa-ticket-registry/src/test/java/org/apereo/cas/ticket/registry/OauthJpaTicketRegistryCleanerTests.java @@ -23,7 +23,6 @@ import org.apereo.cas.config.JpaTicketRegistryTicketCatalogConfiguration; import org.apereo.cas.config.OAuthProtocolTicketCatalogConfiguration; import org.apereo.cas.config.support.CasWebApplicationServiceFactoryConfiguration; -import org.apereo.cas.config.support.EnvironmentConversionServiceInitializer; import org.apereo.cas.logout.config.CasCoreLogoutConfiguration; import org.apereo.cas.services.RegisteredServiceTestUtils; import org.apereo.cas.ticket.TicketFactory; @@ -41,7 +40,6 @@ import org.springframework.boot.autoconfigure.aop.AopAutoConfiguration; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.cloud.autoconfigure.RefreshAutoConfiguration; -import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.annotation.Isolation; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -86,7 +84,6 @@ OAuthProtocolTicketCatalogConfiguration.class, CasWebApplicationServiceFactoryConfiguration.class }) -@ContextConfiguration(initializers = EnvironmentConversionServiceInitializer.class) @Transactional(transactionManager = "ticketTransactionManager", isolation = Isolation.SERIALIZABLE, propagation = Propagation.REQUIRED) @ResourceLock("oauth-jpa-tickets") @Tag("OAuth") diff --git a/support/cas-server-support-jpa-ticket-registry/src/test/java/org/apereo/cas/ticket/registry/OauthJpaTicketRegistryTests.java b/support/cas-server-support-jpa-ticket-registry/src/test/java/org/apereo/cas/ticket/registry/OauthJpaTicketRegistryTests.java index cd38dce91e8c..44bc25095706 100644 --- a/support/cas-server-support-jpa-ticket-registry/src/test/java/org/apereo/cas/ticket/registry/OauthJpaTicketRegistryTests.java +++ b/support/cas-server-support-jpa-ticket-registry/src/test/java/org/apereo/cas/ticket/registry/OauthJpaTicketRegistryTests.java @@ -23,7 +23,6 @@ import org.apereo.cas.config.JpaTicketRegistryTicketCatalogConfiguration; import org.apereo.cas.config.OAuthProtocolTicketCatalogConfiguration; import org.apereo.cas.config.support.CasWebApplicationServiceFactoryConfiguration; -import org.apereo.cas.config.support.EnvironmentConversionServiceInitializer; import org.apereo.cas.logout.config.CasCoreLogoutConfiguration; import org.apereo.cas.services.RegisteredServiceTestUtils; import org.apereo.cas.ticket.TicketFactory; @@ -41,7 +40,6 @@ import org.springframework.boot.autoconfigure.aop.AopAutoConfiguration; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.cloud.autoconfigure.RefreshAutoConfiguration; -import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.annotation.Isolation; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -84,7 +82,6 @@ CasWebApplicationServiceFactoryConfiguration.class, CasWsSecurityTokenTicketCatalogConfiguration.class }) -@ContextConfiguration(initializers = EnvironmentConversionServiceInitializer.class) @Transactional(transactionManager = "ticketTransactionManager", isolation = Isolation.SERIALIZABLE, propagation = Propagation.REQUIRED) @ResourceLock("oauth-jpa-tickets") @Tag("OAuth") diff --git a/support/cas-server-support-jpa-ticket-registry/src/test/java/org/apereo/cas/ticket/registry/OracleJpaTicketRegistryTests.java b/support/cas-server-support-jpa-ticket-registry/src/test/java/org/apereo/cas/ticket/registry/OracleJpaTicketRegistryTests.java new file mode 100644 index 000000000000..893476524002 --- /dev/null +++ b/support/cas-server-support-jpa-ticket-registry/src/test/java/org/apereo/cas/ticket/registry/OracleJpaTicketRegistryTests.java @@ -0,0 +1,26 @@ +package org.apereo.cas.ticket.registry; + +import org.apereo.cas.util.junit.EnabledIfContinuousIntegration; +import org.apereo.cas.util.junit.EnabledIfPortOpen; + +import org.junit.jupiter.api.Tag; +import org.springframework.test.context.TestPropertySource; + +/** + * Unit test for {@link JpaTicketRegistry} class. + * + * @author Misagh Moayyed + * @since 6.1.0 + */ +@TestPropertySource(properties = { + "cas.ticket.registry.jpa.user=system", + "cas.ticket.registry.jpa.password=Oradoc_db1", + "cas.ticket.registry.jpa.driverClass=oracle.jdbc.driver.OracleDriver", + "cas.ticket.registry.jpa.url=jdbc:oracle:thin:@localhost:1521:ORCLCDB", + "cas.ticket.registry.jpa.dialect=org.hibernate.dialect.Oracle12cDialect" +}) +@EnabledIfPortOpen(port = 1521) +@EnabledIfContinuousIntegration +@Tag("Oracle") +public class OracleJpaTicketRegistryTests extends JpaTicketRegistryTests { +} diff --git a/support/cas-server-support-jpa-ticket-registry/src/test/java/org/apereo/cas/ticket/registry/support/JpaLockingStrategyTests.java b/support/cas-server-support-jpa-ticket-registry/src/test/java/org/apereo/cas/ticket/registry/support/JpaLockingStrategyTests.java index ddf956b681c4..0a885351c4e9 100644 --- a/support/cas-server-support-jpa-ticket-registry/src/test/java/org/apereo/cas/ticket/registry/support/JpaLockingStrategyTests.java +++ b/support/cas-server-support-jpa-ticket-registry/src/test/java/org/apereo/cas/ticket/registry/support/JpaLockingStrategyTests.java @@ -16,7 +16,6 @@ import org.apereo.cas.config.JpaTicketRegistryConfiguration; import org.apereo.cas.config.JpaTicketRegistryTicketCatalogConfiguration; import org.apereo.cas.config.support.CasWebApplicationServiceFactoryConfiguration; -import org.apereo.cas.config.support.EnvironmentConversionServiceInitializer; import org.apereo.cas.configuration.model.support.jpa.ticketregistry.JpaTicketRegistryProperties; import org.apereo.cas.configuration.support.Beans; import org.apereo.cas.logout.config.CasCoreLogoutConfiguration; @@ -37,7 +36,6 @@ import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.orm.jpa.SharedEntityManagerCreator; import org.springframework.test.annotation.DirtiesContext; -import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.support.TransactionTemplate; @@ -87,7 +85,6 @@ CasPersonDirectoryConfiguration.class, CasCoreWebConfiguration.class, CasWebApplicationServiceFactoryConfiguration.class}) -@ContextConfiguration(initializers = EnvironmentConversionServiceInitializer.class) @DirtiesContext @Slf4j @ResourceLock("jpa-tickets") diff --git a/support/cas-server-support-jpa-ticket-registry/src/test/java/org/apereo/cas/ticket/registry/support/OracleJpaLockingStrategyTests.java b/support/cas-server-support-jpa-ticket-registry/src/test/java/org/apereo/cas/ticket/registry/support/OracleJpaLockingStrategyTests.java new file mode 100644 index 000000000000..2f8ce9cc1abe --- /dev/null +++ b/support/cas-server-support-jpa-ticket-registry/src/test/java/org/apereo/cas/ticket/registry/support/OracleJpaLockingStrategyTests.java @@ -0,0 +1,26 @@ +package org.apereo.cas.ticket.registry.support; + +import org.apereo.cas.util.junit.EnabledIfContinuousIntegration; +import org.apereo.cas.util.junit.EnabledIfPortOpen; + +import org.junit.jupiter.api.Tag; +import org.springframework.test.context.TestPropertySource; + +/** + * Unit test for {@link JpaLockingStrategy}. + * + * @author Marvin S. Addison + * @since 3.0.0 + */ +@TestPropertySource(properties = { + "cas.ticket.registry.jpa.user=system", + "cas.ticket.registry.jpa.password=Oradoc_db1", + "cas.ticket.registry.jpa.driverClass=oracle.jdbc.driver.OracleDriver", + "cas.ticket.registry.jpa.url=jdbc:oracle:thin:@localhost:1521:ORCLCDB", + "cas.ticket.registry.jpa.dialect=org.hibernate.dialect.Oracle12cDialect" +}) +@EnabledIfPortOpen(port = 1521) +@EnabledIfContinuousIntegration +@Tag("Oracle") +public class OracleJpaLockingStrategyTests extends JpaLockingStrategyTests { +} diff --git a/support/cas-server-support-oauth/src/test/java/org/apereo/cas/support/oauth/web/AbstractOAuth20Tests.java b/support/cas-server-support-oauth/src/test/java/org/apereo/cas/support/oauth/web/AbstractOAuth20Tests.java index ca6ce71f0ec3..173c84ca1278 100644 --- a/support/cas-server-support-oauth/src/test/java/org/apereo/cas/support/oauth/web/AbstractOAuth20Tests.java +++ b/support/cas-server-support-oauth/src/test/java/org/apereo/cas/support/oauth/web/AbstractOAuth20Tests.java @@ -34,7 +34,6 @@ import org.apereo.cas.config.CasPersonDirectoryConfiguration; import org.apereo.cas.config.CasThrottlingConfiguration; import org.apereo.cas.config.support.CasWebApplicationServiceFactoryConfiguration; -import org.apereo.cas.config.support.EnvironmentConversionServiceInitializer; import org.apereo.cas.configuration.CasConfigurationProperties; import org.apereo.cas.logout.config.CasCoreLogoutConfiguration; import org.apereo.cas.mock.MockServiceTicket; @@ -95,7 +94,6 @@ import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletResponse; import org.springframework.test.annotation.DirtiesContext; -import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.annotation.EnableTransactionManagement; import org.springframework.web.servlet.ModelAndView; @@ -155,7 +153,6 @@ CasCoreWebConfiguration.class}) @DirtiesContext @EnableConfigurationProperties(CasConfigurationProperties.class) -@ContextConfiguration(initializers = EnvironmentConversionServiceInitializer.class) @EnableTransactionManagement(proxyTargetClass = true) @EnableAspectJAutoProxy(proxyTargetClass = true) public abstract class AbstractOAuth20Tests { diff --git a/support/cas-server-support-saml-googleapps/src/test/java/org/apereo/cas/support/saml/authentication/principal/GoogleAccountsServiceTests.java b/support/cas-server-support-saml-googleapps/src/test/java/org/apereo/cas/support/saml/authentication/principal/GoogleAccountsServiceTests.java index 33377bd11471..840ebf9f56bf 100644 --- a/support/cas-server-support-saml-googleapps/src/test/java/org/apereo/cas/support/saml/authentication/principal/GoogleAccountsServiceTests.java +++ b/support/cas-server-support-saml-googleapps/src/test/java/org/apereo/cas/support/saml/authentication/principal/GoogleAccountsServiceTests.java @@ -5,7 +5,6 @@ import org.apereo.cas.authentication.principal.ResponseBuilder; import org.apereo.cas.authentication.principal.Service; import org.apereo.cas.authentication.principal.ServiceFactory; -import org.apereo.cas.config.support.EnvironmentConversionServiceInitializer; import org.apereo.cas.services.DefaultRegisteredServiceUsernameProvider; import org.apereo.cas.services.RegisteredService; import org.apereo.cas.services.ServicesManager; @@ -24,7 +23,6 @@ import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.context.annotation.Import; import org.springframework.mock.web.MockHttpServletRequest; -import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.TestPropertySource; import java.io.File; @@ -42,7 +40,6 @@ @Import(SamlGoogleAppsConfiguration.class) @Tag("SAML") @TestPropertySource(locations = "classpath:/gapps.properties") -@ContextConfiguration(initializers = EnvironmentConversionServiceInitializer.class) public class GoogleAccountsServiceTests extends AbstractOpenSamlTests { private static final File FILE = new File(FileUtils.getTempDirectoryPath(), "service.json"); private static final ObjectMapper MAPPER = new ObjectMapper().findAndRegisterModules(); diff --git a/support/cas-server-support-saml-mdui/src/test/java/org/apereo/cas/support/saml/mdui/web/flow/SamlMetadataUIParserDynamicActionTests.java b/support/cas-server-support-saml-mdui/src/test/java/org/apereo/cas/support/saml/mdui/web/flow/SamlMetadataUIParserDynamicActionTests.java index 6faf16178ead..fe2e26cdde3f 100644 --- a/support/cas-server-support-saml-mdui/src/test/java/org/apereo/cas/support/saml/mdui/web/flow/SamlMetadataUIParserDynamicActionTests.java +++ b/support/cas-server-support-saml-mdui/src/test/java/org/apereo/cas/support/saml/mdui/web/flow/SamlMetadataUIParserDynamicActionTests.java @@ -1,6 +1,5 @@ package org.apereo.cas.support.saml.mdui.web.flow; -import org.apereo.cas.config.support.EnvironmentConversionServiceInitializer; import org.apereo.cas.support.saml.AbstractOpenSamlTests; import org.apereo.cas.support.saml.SamlProtocolConstants; import org.apereo.cas.support.saml.mdui.SamlMetadataUIInfo; @@ -19,7 +18,6 @@ import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletResponse; import org.springframework.mock.web.MockServletContext; -import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.TestPropertySource; import org.springframework.webflow.context.servlet.ServletExternalContext; import org.springframework.webflow.execution.Action; @@ -41,7 +39,6 @@ }) @Tag("SAML") @TestPropertySource(properties = "cas.samlMetadataUi.resources=http://mdq-beta.incommon.org/global/entities/::") -@ContextConfiguration(initializers = EnvironmentConversionServiceInitializer.class) public class SamlMetadataUIParserDynamicActionTests extends AbstractOpenSamlTests { @Autowired @Qualifier("samlMetadataUIParserAction") diff --git a/support/cas-server-support-sms-textmagic/src/main/java/org/apereo/cas/support/sms/TextMagicSmsSender.java b/support/cas-server-support-sms-textmagic/src/main/java/org/apereo/cas/support/sms/TextMagicSmsSender.java index 462f72e158b3..cf43ea11dc9d 100644 --- a/support/cas-server-support-sms-textmagic/src/main/java/org/apereo/cas/support/sms/TextMagicSmsSender.java +++ b/support/cas-server-support-sms-textmagic/src/main/java/org/apereo/cas/support/sms/TextMagicSmsSender.java @@ -28,8 +28,12 @@ public class TextMagicSmsSender implements SmsSender { public TextMagicSmsSender(final TextMagicProperties properties, final Optional httpClient) { val client = new ApiClient(); - client.setUsername(properties.getUsername()); - client.setAccessToken(properties.getToken()); + if (StringUtils.isNotBlank(properties.getUsername())) { + client.setUsername(properties.getUsername()); + } + if (StringUtils.isNotBlank(properties.getToken())) { + client.setAccessToken(properties.getToken()); + } client.setDebugging(properties.isDebugging()); client.setVerifyingSsl(properties.isVerifyingSsl()); diff --git a/support/cas-server-support-sms-textmagic/src/test/java/org/apereo/cas/support/sms/TextMagicSmsSenderTests.java b/support/cas-server-support-sms-textmagic/src/test/java/org/apereo/cas/support/sms/TextMagicSmsSenderTests.java index c8e03ed283fe..6ed057d01850 100644 --- a/support/cas-server-support-sms-textmagic/src/test/java/org/apereo/cas/support/sms/TextMagicSmsSenderTests.java +++ b/support/cas-server-support-sms-textmagic/src/test/java/org/apereo/cas/support/sms/TextMagicSmsSenderTests.java @@ -20,7 +20,7 @@ public class TextMagicSmsSenderTests { public void verifyAction() { val props = new TextMagicProperties(); props.setUsername("casuser"); - props.setToken("test-token"); + props.setPassword("password"); val sender = new TextMagicSmsSender(props, Optional.empty()); assertFalse(sender.send("123456678", "123456678", "Msg")); } diff --git a/support/cas-server-support-validation/src/test/java/org/apereo/cas/web/ProxyControllerTests.java b/support/cas-server-support-validation/src/test/java/org/apereo/cas/web/ProxyControllerTests.java index 53ed5b1f65c9..fd8ec7ef485a 100644 --- a/support/cas-server-support-validation/src/test/java/org/apereo/cas/web/ProxyControllerTests.java +++ b/support/cas-server-support-validation/src/test/java/org/apereo/cas/web/ProxyControllerTests.java @@ -13,6 +13,7 @@ import org.apereo.cas.config.CasCoreTicketIdGeneratorsConfiguration; import org.apereo.cas.config.CasCoreTicketsConfiguration; import org.apereo.cas.config.CasCoreWebConfiguration; +import org.apereo.cas.config.CasDefaultServiceTicketIdGeneratorsConfiguration; import org.apereo.cas.config.CasRegisteredServicesTestConfiguration; import org.apereo.cas.config.support.CasWebApplicationServiceFactoryConfiguration; import org.apereo.cas.ticket.ProxyGrantingTicketImpl; @@ -48,6 +49,7 @@ CasCoreServicesConfiguration.class, CasCoreAuthenticationSupportConfiguration.class, CasCoreTicketIdGeneratorsConfiguration.class, + CasDefaultServiceTicketIdGeneratorsConfiguration.class, CasCoreConfiguration.class, CasCoreTicketsConfiguration.class, CasCoreWebConfiguration.class, diff --git a/support/cas-server-support-ws-idp-api/src/test/java/org/apereo/cas/ws/idp/services/WSFederationClaimsReleasePolicyTests.java b/support/cas-server-support-ws-idp-api/src/test/java/org/apereo/cas/ws/idp/services/WSFederationClaimsReleasePolicyTests.java index 5b1a308c69b0..dd8dcc15fe67 100644 --- a/support/cas-server-support-ws-idp-api/src/test/java/org/apereo/cas/ws/idp/services/WSFederationClaimsReleasePolicyTests.java +++ b/support/cas-server-support-ws-idp-api/src/test/java/org/apereo/cas/ws/idp/services/WSFederationClaimsReleasePolicyTests.java @@ -54,7 +54,6 @@ public void verifyAttributeReleaseInlineGroovy() { @Test public void verifyAttributeReleaseScriptGroovy() throws Exception { - val file = new File(FileUtils.getTempDirectoryPath(), "script.groovy"); val script = IOUtils.toString(new ClassPathResource("wsfed-attr.groovy").getInputStream(), StandardCharsets.UTF_8); FileUtils.write(file, script, StandardCharsets.UTF_8); diff --git a/webapp/cas-server-webapp-tomcat/src/test/resources/log4j2.xml b/webapp/cas-server-webapp-tomcat/src/test/resources/log4j2.xml new file mode 100644 index 000000000000..d336416813ce --- /dev/null +++ b/webapp/cas-server-webapp-tomcat/src/test/resources/log4j2.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + +