diff --git a/spring-boot-project/spring-boot-data-redis/build.gradle b/spring-boot-project/spring-boot-data-redis/build.gradle index b0e1182c70..ad0f3b9ddb 100644 --- a/spring-boot-project/spring-boot-data-redis/build.gradle +++ b/spring-boot-project/spring-boot-data-redis/build.gradle @@ -21,14 +21,15 @@ dependencies { optional(project(":spring-boot-project:spring-boot-autoconfigure")) optional(project(":spring-boot-project:spring-boot-actuator")) optional(project(":spring-boot-project:spring-boot-autoconfigure")) + optional(project(":spring-boot-project:spring-boot-testcontainers")) + optional("com.redis:testcontainers-redis") optional("redis.clients:jedis") dockerTestImplementation(project(":spring-boot-project:spring-boot-test")) dockerTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support-docker")) dockerTestImplementation(testFixtures(project(":spring-boot-project:spring-boot-autoconfigure"))) + dockerTestImplementation(testFixtures(project(":spring-boot-project:spring-boot-testcontainers"))) dockerTestImplementation("ch.qos.logback:logback-classic") - dockerTestImplementation("com.redis:testcontainers-redis") - dockerTestImplementation("org.junit.jupiter:junit-jupiter") dockerTestImplementation("org.testcontainers:junit-jupiter") testCompileOnly("com.fasterxml.jackson.core:jackson-annotations") diff --git a/spring-boot-project/spring-boot-testcontainers-all/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/redis/CustomRedisContainerConnectionDetailsFactoryTests.java b/spring-boot-project/spring-boot-data-redis/src/dockerTest/java/org/springframework/boot/data/redis/testcontainers/CustomRedisContainerConnectionDetailsFactoryTests.java similarity index 97% rename from spring-boot-project/spring-boot-testcontainers-all/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/redis/CustomRedisContainerConnectionDetailsFactoryTests.java rename to spring-boot-project/spring-boot-data-redis/src/dockerTest/java/org/springframework/boot/data/redis/testcontainers/CustomRedisContainerConnectionDetailsFactoryTests.java index 07af1b68d8..41925cc4cb 100644 --- a/spring-boot-project/spring-boot-testcontainers-all/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/redis/CustomRedisContainerConnectionDetailsFactoryTests.java +++ b/spring-boot-project/spring-boot-data-redis/src/dockerTest/java/org/springframework/boot/data/redis/testcontainers/CustomRedisContainerConnectionDetailsFactoryTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.testcontainers.service.connection.redis; +package org.springframework.boot.data.redis.testcontainers; import java.util.Map; diff --git a/spring-boot-project/spring-boot-testcontainers-all/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/redis/RedisContainerConnectionDetailsFactoryTests.java b/spring-boot-project/spring-boot-data-redis/src/dockerTest/java/org/springframework/boot/data/redis/testcontainers/RedisContainerConnectionDetailsFactoryTests.java similarity index 97% rename from spring-boot-project/spring-boot-testcontainers-all/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/redis/RedisContainerConnectionDetailsFactoryTests.java rename to spring-boot-project/spring-boot-data-redis/src/dockerTest/java/org/springframework/boot/data/redis/testcontainers/RedisContainerConnectionDetailsFactoryTests.java index e28eadf69e..e0a1e1393f 100644 --- a/spring-boot-project/spring-boot-testcontainers-all/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/redis/RedisContainerConnectionDetailsFactoryTests.java +++ b/spring-boot-project/spring-boot-data-redis/src/dockerTest/java/org/springframework/boot/data/redis/testcontainers/RedisContainerConnectionDetailsFactoryTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.testcontainers.service.connection.redis; +package org.springframework.boot.data.redis.testcontainers; import com.redis.testcontainers.RedisContainer; import org.junit.jupiter.api.Test; diff --git a/spring-boot-project/spring-boot-testcontainers-all/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/redis/RedisStackContainerConnectionDetailsFactoryTests.java b/spring-boot-project/spring-boot-data-redis/src/dockerTest/java/org/springframework/boot/data/redis/testcontainers/RedisStackContainerConnectionDetailsFactoryTests.java similarity index 97% rename from spring-boot-project/spring-boot-testcontainers-all/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/redis/RedisStackContainerConnectionDetailsFactoryTests.java rename to spring-boot-project/spring-boot-data-redis/src/dockerTest/java/org/springframework/boot/data/redis/testcontainers/RedisStackContainerConnectionDetailsFactoryTests.java index c7767b45a6..ac90b32eab 100644 --- a/spring-boot-project/spring-boot-testcontainers-all/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/redis/RedisStackContainerConnectionDetailsFactoryTests.java +++ b/spring-boot-project/spring-boot-data-redis/src/dockerTest/java/org/springframework/boot/data/redis/testcontainers/RedisStackContainerConnectionDetailsFactoryTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.testcontainers.service.connection.redis; +package org.springframework.boot.data.redis.testcontainers; import com.redis.testcontainers.RedisStackContainer; import org.junit.jupiter.api.Test; diff --git a/spring-boot-project/spring-boot-testcontainers-all/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/redis/RedisStackServerContainerConnectionDetailsFactoryTests.java b/spring-boot-project/spring-boot-data-redis/src/dockerTest/java/org/springframework/boot/data/redis/testcontainers/RedisStackServerContainerConnectionDetailsFactoryTests.java similarity index 97% rename from spring-boot-project/spring-boot-testcontainers-all/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/redis/RedisStackServerContainerConnectionDetailsFactoryTests.java rename to spring-boot-project/spring-boot-data-redis/src/dockerTest/java/org/springframework/boot/data/redis/testcontainers/RedisStackServerContainerConnectionDetailsFactoryTests.java index 65ff1d84a8..1688464d0e 100644 --- a/spring-boot-project/spring-boot-testcontainers-all/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/redis/RedisStackServerContainerConnectionDetailsFactoryTests.java +++ b/spring-boot-project/spring-boot-data-redis/src/dockerTest/java/org/springframework/boot/data/redis/testcontainers/RedisStackServerContainerConnectionDetailsFactoryTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.testcontainers.service.connection.redis; +package org.springframework.boot.data.redis.testcontainers; import org.junit.jupiter.api.Test; import org.testcontainers.junit.jupiter.Container; diff --git a/spring-boot-project/spring-boot-data-redis/src/dockerTest/resources/logback-test.xml b/spring-boot-project/spring-boot-data-redis/src/dockerTest/resources/logback-test.xml new file mode 100644 index 0000000000..b8a41480d7 --- /dev/null +++ b/spring-boot-project/spring-boot-data-redis/src/dockerTest/resources/logback-test.xml @@ -0,0 +1,4 @@ + + + + diff --git a/spring-boot-project/spring-boot-data-redis/src/dockerTest/resources/spring.properties b/spring-boot-project/spring-boot-data-redis/src/dockerTest/resources/spring.properties new file mode 100644 index 0000000000..47dff33f0b --- /dev/null +++ b/spring-boot-project/spring-boot-data-redis/src/dockerTest/resources/spring.properties @@ -0,0 +1 @@ +spring.test.context.cache.maxSize=1 \ No newline at end of file diff --git a/spring-boot-project/spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/redis/RedisContainerConnectionDetailsFactory.java b/spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/testcontainers/RedisContainerConnectionDetailsFactory.java similarity index 89% rename from spring-boot-project/spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/redis/RedisContainerConnectionDetailsFactory.java rename to spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/testcontainers/RedisContainerConnectionDetailsFactory.java index 1ee8afda16..019f125c0a 100644 --- a/spring-boot-project/spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/redis/RedisContainerConnectionDetailsFactory.java +++ b/spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/testcontainers/RedisContainerConnectionDetailsFactory.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.testcontainers.service.connection.redis; +package org.springframework.boot.data.redis.testcontainers; import java.util.List; @@ -54,8 +54,10 @@ class RedisContainerConnectionDetailsFactory protected boolean sourceAccepts(ContainerConnectionSource> source, Class requiredContainerType, Class requiredConnectionDetailsType) { return super.sourceAccepts(source, requiredContainerType, requiredConnectionDetailsType) - || source.accepts(ANY_CONNECTION_NAME, RedisContainer.class, requiredConnectionDetailsType) - || source.accepts(ANY_CONNECTION_NAME, RedisStackContainer.class, requiredConnectionDetailsType); + || source.accepts(ContainerConnectionDetailsFactory.ANY_CONNECTION_NAME, RedisContainer.class, + requiredConnectionDetailsType) + || source.accepts(ContainerConnectionDetailsFactory.ANY_CONNECTION_NAME, RedisStackContainer.class, + requiredConnectionDetailsType); } @Override diff --git a/spring-boot-project/spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/redis/package-info.java b/spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/testcontainers/package-info.java similarity index 90% rename from spring-boot-project/spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/redis/package-info.java rename to spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/testcontainers/package-info.java index 66bfc08fbf..eacab31a0a 100644 --- a/spring-boot-project/spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/redis/package-info.java +++ b/spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/testcontainers/package-info.java @@ -17,4 +17,4 @@ /** * Support for testcontainers Redis service connections. */ -package org.springframework.boot.testcontainers.service.connection.redis; +package org.springframework.boot.data.redis.testcontainers; diff --git a/spring-boot-project/spring-boot-data-redis/src/main/resources/META-INF/spring.factories b/spring-boot-project/spring-boot-data-redis/src/main/resources/META-INF/spring.factories index 187f283870..721f8f201c 100644 --- a/spring-boot-project/spring-boot-data-redis/src/main/resources/META-INF/spring.factories +++ b/spring-boot-project/spring-boot-data-redis/src/main/resources/META-INF/spring.factories @@ -1,3 +1,7 @@ +# Connection Details Factories +org.springframework.boot.autoconfigure.service.connection.ConnectionDetailsFactory=\ +org.springframework.boot.data.redis.testcontainers.RedisContainerConnectionDetailsFactory + # Failure Analyzers org.springframework.boot.diagnostics.FailureAnalyzer=\ org.springframework.boot.data.redis.autoconfigure.RedisUrlSyntaxFailureAnalyzer diff --git a/spring-boot-project/spring-boot-testcontainers-all/build.gradle b/spring-boot-project/spring-boot-testcontainers-all/build.gradle index 2e3a3db4b3..9919d5f2ea 100644 --- a/spring-boot-project/spring-boot-testcontainers-all/build.gradle +++ b/spring-boot-project/spring-boot-testcontainers-all/build.gradle @@ -24,23 +24,17 @@ dependencies { dockerTestImplementation("org.junit.platform:junit-platform-launcher") dockerTestImplementation("org.mockito:mockito-core") dockerTestImplementation("org.springframework:spring-core-test") - dockerTestImplementation("org.springframework.data:spring-data-redis") dockerTestImplementation("org.testcontainers:junit-jupiter") - dockerTestRuntimeOnly("io.lettuce:lettuce-core") - optional(project(":spring-boot-project:spring-boot-actuator-autoconfigure-all")) - optional(project(":spring-boot-project:spring-boot-data-redis")) optional(project(":spring-boot-project:spring-boot-tx")) optional("org.springframework:spring-test") optional("org.testcontainers:grafana") - optional("com.redis:testcontainers-redis") testImplementation(project(":spring-boot-project:spring-boot-test")) testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support")) testImplementation(testFixtures(project(":spring-boot-project:spring-boot-testcontainers"))) testImplementation("org.springframework:spring-jdbc") - testImplementation("org.springframework.data:spring-data-redis") testImplementation("org.testcontainers:junit-jupiter") } diff --git a/spring-boot-project/spring-boot-testcontainers-all/src/main/resources/META-INF/spring.factories b/spring-boot-project/spring-boot-testcontainers-all/src/main/resources/META-INF/spring.factories index 285306fbcd..7c1c23c71a 100644 --- a/spring-boot-project/spring-boot-testcontainers-all/src/main/resources/META-INF/spring.factories +++ b/spring-boot-project/spring-boot-testcontainers-all/src/main/resources/META-INF/spring.factories @@ -6,5 +6,4 @@ org.springframework.boot.testcontainers.service.connection.otlp.GrafanaOpenTelem org.springframework.boot.testcontainers.service.connection.otlp.OpenTelemetryLoggingContainerConnectionDetailsFactory,\ org.springframework.boot.testcontainers.service.connection.otlp.OpenTelemetryMetricsContainerConnectionDetailsFactory,\ org.springframework.boot.testcontainers.service.connection.otlp.OpenTelemetryTracingContainerConnectionDetailsFactory,\ -org.springframework.boot.testcontainers.service.connection.redis.RedisContainerConnectionDetailsFactory,\ org.springframework.boot.testcontainers.service.connection.zipkin.ZipkinContainerConnectionDetailsFactory diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-cache/build.gradle b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-cache/build.gradle index bcd65c7343..be084b7b97 100644 --- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-cache/build.gradle +++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-cache/build.gradle @@ -29,7 +29,7 @@ dependencies { dockerTestImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-data-redis")) dockerTestImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test")) - dockerTestImplementation(project(":spring-boot-project:spring-boot-testcontainers-all")) + dockerTestImplementation(project(":spring-boot-project:spring-boot-testcontainers")) dockerTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support-docker")) dockerTestImplementation("com.redis:testcontainers-redis") dockerTestImplementation("org.testcontainers:junit-jupiter") diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-data-redis/build.gradle b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-data-redis/build.gradle index 1f0dd35810..394637e156 100644 --- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-data-redis/build.gradle +++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-data-redis/build.gradle @@ -9,7 +9,7 @@ dependencies { dockerTestImplementation(project(":spring-boot-project:spring-boot-reactor")) dockerTestImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test")) dockerTestImplementation(project(":spring-boot-project:spring-boot-test")) - dockerTestImplementation(project(":spring-boot-project:spring-boot-testcontainers-all")) + dockerTestImplementation(project(":spring-boot-project:spring-boot-testcontainers")) dockerTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support-docker")) dockerTestImplementation("com.redis:testcontainers-redis") dockerTestImplementation("io.projectreactor:reactor-test") diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-redis/build.gradle b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-redis/build.gradle index 581a7361d0..11b93a81d3 100644 --- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-redis/build.gradle +++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-redis/build.gradle @@ -6,7 +6,7 @@ plugins { description = "Spring Boot Session Mongodb smoke test" dependencies { - dockerTestImplementation(project(":spring-boot-project:spring-boot-testcontainers-all")) + dockerTestImplementation(project(":spring-boot-project:spring-boot-testcontainers")) dockerTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support-docker")) dockerTestImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test")) dockerTestImplementation("com.redis:testcontainers-redis") diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-webflux-redis/build.gradle b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-webflux-redis/build.gradle index a4f83062bd..be05d41ec3 100644 --- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-webflux-redis/build.gradle +++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-webflux-redis/build.gradle @@ -7,7 +7,7 @@ description = "Spring Boot Session WebFlux Redis smoke test" dependencies { dockerTestImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test")) - dockerTestImplementation(project(":spring-boot-project:spring-boot-testcontainers-all")) + dockerTestImplementation(project(":spring-boot-project:spring-boot-testcontainers")) dockerTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support-docker")) dockerTestImplementation("com.redis:testcontainers-redis") dockerTestImplementation("org.testcontainers:junit-jupiter")