From 33f146a4617e3f55df863a28b17eb63e25a370e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Mon, 19 May 2025 15:13:57 +0200 Subject: [PATCH] Move Couchbase testcontainers support into spring-boot-couchbase --- spring-boot-project/spring-boot-couchbase/build.gradle | 3 ++- .../CouchbaseContainerConnectionDetailsFactoryTests.java | 2 +- .../src/dockerTest/resources/logback-test.xml | 4 ++++ .../src/dockerTest/resources/spring.properties | 1 + .../CouchbaseContainerConnectionDetailsFactory.java | 2 +- .../boot/couchbase/testcontainers}/package-info.java | 2 +- .../src/main/resources/META-INF/spring.factories | 3 +++ .../spring-boot-testcontainers-all/build.gradle | 4 ---- .../src/main/resources/META-INF/spring.factories | 1 - .../spring-boot-smoke-test-data-couchbase/build.gradle | 2 +- 10 files changed, 14 insertions(+), 10 deletions(-) rename spring-boot-project/{spring-boot-testcontainers-all/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/couchbase => spring-boot-couchbase/src/dockerTest/java/org/springframework/boot/couchbase/testcontainers}/CouchbaseContainerConnectionDetailsFactoryTests.java (97%) create mode 100644 spring-boot-project/spring-boot-couchbase/src/dockerTest/resources/logback-test.xml create mode 100644 spring-boot-project/spring-boot-couchbase/src/dockerTest/resources/spring.properties rename spring-boot-project/{spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/couchbase => spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/testcontainers}/CouchbaseContainerConnectionDetailsFactory.java (96%) rename spring-boot-project/{spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/couchbase => spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/testcontainers}/package-info.java (89%) create mode 100644 spring-boot-project/spring-boot-couchbase/src/main/resources/META-INF/spring.factories diff --git a/spring-boot-project/spring-boot-couchbase/build.gradle b/spring-boot-project/spring-boot-couchbase/build.gradle index db6415deef..678d6486be 100644 --- a/spring-boot-project/spring-boot-couchbase/build.gradle +++ b/spring-boot-project/spring-boot-couchbase/build.gradle @@ -15,12 +15,13 @@ dependencies { optional(project(":spring-boot-project:spring-boot-actuator-autoconfigure")) optional(project(":spring-boot-project:spring-boot-autoconfigure")) + optional(project(":spring-boot-project:spring-boot-testcontainers")) optional(project(":spring-boot-project:spring-boot-jackson")) + optional("org.testcontainers:couchbase") dockerTestImplementation(project(":spring-boot-project:spring-boot-test")) dockerTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support-docker")) dockerTestImplementation("org.junit.jupiter:junit-jupiter") - dockerTestImplementation("org.testcontainers:couchbase") dockerTestImplementation("org.testcontainers:junit-jupiter") testImplementation(project(":spring-boot-project:spring-boot-test")) diff --git a/spring-boot-project/spring-boot-testcontainers-all/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/couchbase/CouchbaseContainerConnectionDetailsFactoryTests.java b/spring-boot-project/spring-boot-couchbase/src/dockerTest/java/org/springframework/boot/couchbase/testcontainers/CouchbaseContainerConnectionDetailsFactoryTests.java similarity index 97% rename from spring-boot-project/spring-boot-testcontainers-all/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/couchbase/CouchbaseContainerConnectionDetailsFactoryTests.java rename to spring-boot-project/spring-boot-couchbase/src/dockerTest/java/org/springframework/boot/couchbase/testcontainers/CouchbaseContainerConnectionDetailsFactoryTests.java index 1a5f61a8ba..8bc82b59e1 100644 --- a/spring-boot-project/spring-boot-testcontainers-all/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/couchbase/CouchbaseContainerConnectionDetailsFactoryTests.java +++ b/spring-boot-project/spring-boot-couchbase/src/dockerTest/java/org/springframework/boot/couchbase/testcontainers/CouchbaseContainerConnectionDetailsFactoryTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.testcontainers.service.connection.couchbase; +package org.springframework.boot.couchbase.testcontainers; import com.couchbase.client.java.Cluster; import org.junit.jupiter.api.Test; diff --git a/spring-boot-project/spring-boot-couchbase/src/dockerTest/resources/logback-test.xml b/spring-boot-project/spring-boot-couchbase/src/dockerTest/resources/logback-test.xml new file mode 100644 index 0000000000..b8a41480d7 --- /dev/null +++ b/spring-boot-project/spring-boot-couchbase/src/dockerTest/resources/logback-test.xml @@ -0,0 +1,4 @@ + + + + diff --git a/spring-boot-project/spring-boot-couchbase/src/dockerTest/resources/spring.properties b/spring-boot-project/spring-boot-couchbase/src/dockerTest/resources/spring.properties new file mode 100644 index 0000000000..47dff33f0b --- /dev/null +++ b/spring-boot-project/spring-boot-couchbase/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/couchbase/CouchbaseContainerConnectionDetailsFactory.java b/spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/testcontainers/CouchbaseContainerConnectionDetailsFactory.java similarity index 96% rename from spring-boot-project/spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/couchbase/CouchbaseContainerConnectionDetailsFactory.java rename to spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/testcontainers/CouchbaseContainerConnectionDetailsFactory.java index 8e9c69bddd..485ad27757 100644 --- a/spring-boot-project/spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/couchbase/CouchbaseContainerConnectionDetailsFactory.java +++ b/spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/testcontainers/CouchbaseContainerConnectionDetailsFactory.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.testcontainers.service.connection.couchbase; +package org.springframework.boot.couchbase.testcontainers; import org.testcontainers.couchbase.CouchbaseContainer; diff --git a/spring-boot-project/spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/couchbase/package-info.java b/spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/testcontainers/package-info.java similarity index 89% rename from spring-boot-project/spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/couchbase/package-info.java rename to spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/testcontainers/package-info.java index a41a07cd27..10647b89f7 100644 --- a/spring-boot-project/spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/couchbase/package-info.java +++ b/spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/testcontainers/package-info.java @@ -17,4 +17,4 @@ /** * Support for testcontainers Couchbase service connections. */ -package org.springframework.boot.testcontainers.service.connection.couchbase; +package org.springframework.boot.couchbase.testcontainers; diff --git a/spring-boot-project/spring-boot-couchbase/src/main/resources/META-INF/spring.factories b/spring-boot-project/spring-boot-couchbase/src/main/resources/META-INF/spring.factories new file mode 100644 index 0000000000..4eb3f0a800 --- /dev/null +++ b/spring-boot-project/spring-boot-couchbase/src/main/resources/META-INF/spring.factories @@ -0,0 +1,3 @@ +# Connection Details Factories +org.springframework.boot.autoconfigure.service.connection.ConnectionDetailsFactory=\ +org.springframework.boot.couchbase.testcontainers.CouchbaseContainerConnectionDetailsFactory diff --git a/spring-boot-project/spring-boot-testcontainers-all/build.gradle b/spring-boot-project/spring-boot-testcontainers-all/build.gradle index e9fad94402..cbbc21ce60 100644 --- a/spring-boot-project/spring-boot-testcontainers-all/build.gradle +++ b/spring-boot-project/spring-boot-testcontainers-all/build.gradle @@ -11,7 +11,6 @@ dependencies { api(project(":spring-boot-project:spring-boot-autoconfigure")) api(project(":spring-boot-project:spring-boot-testcontainers")) - dockerTestImplementation(project(":spring-boot-project:spring-boot-couchbase")) dockerTestImplementation(project(":spring-boot-project:spring-boot-flyway")) dockerTestImplementation(project(":spring-boot-project:spring-boot-jdbc")) dockerTestImplementation(project(":spring-boot-project:spring-boot-kafka")) @@ -24,7 +23,6 @@ dependencies { dockerTestImplementation(testFixtures(project(":spring-boot-project:spring-boot-testcontainers"))) dockerTestImplementation("ch.qos.logback:logback-classic") dockerTestImplementation("co.elastic.clients:elasticsearch-java") - dockerTestImplementation("com.couchbase.client:java-client") dockerTestImplementation("io.micrometer:micrometer-registry-otlp") dockerTestImplementation("io.rest-assured:rest-assured") dockerTestImplementation("org.assertj:assertj-core") @@ -50,7 +48,6 @@ dependencies { dockerTestRuntimeOnly("org.postgresql:postgresql") optional(project(":spring-boot-project:spring-boot-actuator-autoconfigure-all")) - optional(project(":spring-boot-project:spring-boot-couchbase")) optional(project(":spring-boot-project:spring-boot-data-redis")) optional(project(":spring-boot-project:spring-boot-elasticsearch")) optional(project(":spring-boot-project:spring-boot-flyway")) @@ -68,7 +65,6 @@ dependencies { optional("org.springframework.data:spring-data-mongodb") optional("org.springframework.data:spring-data-neo4j") optional("org.testcontainers:clickhouse") - optional("org.testcontainers:couchbase") optional("org.testcontainers:elasticsearch") optional("org.testcontainers:grafana") optional("org.testcontainers:jdbc") 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 332509600b..467ef88eb9 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 @@ -1,6 +1,5 @@ # Connection Details Factories org.springframework.boot.autoconfigure.service.connection.ConnectionDetailsFactory=\ -org.springframework.boot.testcontainers.service.connection.couchbase.CouchbaseContainerConnectionDetailsFactory,\ org.springframework.boot.testcontainers.service.connection.elasticsearch.ElasticsearchContainerConnectionDetailsFactory,\ org.springframework.boot.testcontainers.service.connection.flyway.FlywayContainerConnectionDetailsFactory,\ org.springframework.boot.testcontainers.service.connection.hazelcast.HazelcastContainerConnectionDetailsFactory,\ diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-data-couchbase/build.gradle b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-data-couchbase/build.gradle index 44fa2883f3..a569551ee7 100644 --- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-data-couchbase/build.gradle +++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-data-couchbase/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("io.projectreactor:reactor-test") dockerTestImplementation("org.apache.httpcomponents.client5:httpclient5")