From 97ede9551dc29ad5be3f2d39d7b0fa450a7a905a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Mon, 19 May 2025 16:28:52 +0200 Subject: [PATCH] Move Pulsar testcontainers support into spring-boot-pulsar See gh-46093 --- spring-boot-project/spring-boot-pulsar/build.gradle | 4 +++- ...lsarContainerConnectionDetailsFactoryIntegrationTests.java | 2 +- .../src/dockerTest/resources/logback-test.xml | 4 ++++ .../src/dockerTest/resources/spring.properties | 1 + .../PulsarContainerConnectionDetailsFactory.java | 2 +- .../boot/pulsar/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-pulsar/build.gradle | 2 +- 10 files changed, 15 insertions(+), 10 deletions(-) rename spring-boot-project/{spring-boot-testcontainers-all/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/pulsar => spring-boot-pulsar/src/dockerTest/java/org/springframework/boot/pulsar/testcontainers}/PulsarContainerConnectionDetailsFactoryIntegrationTests.java (97%) create mode 100644 spring-boot-project/spring-boot-pulsar/src/dockerTest/resources/logback-test.xml create mode 100644 spring-boot-project/spring-boot-pulsar/src/dockerTest/resources/spring.properties rename spring-boot-project/{spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/pulsar => spring-boot-pulsar/src/main/java/org/springframework/boot/pulsar/testcontainers}/PulsarContainerConnectionDetailsFactory.java (96%) rename spring-boot-project/{spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/pulsar => spring-boot-pulsar/src/main/java/org/springframework/boot/pulsar/testcontainers}/package-info.java (90%) create mode 100644 spring-boot-project/spring-boot-pulsar/src/main/resources/META-INF/spring.factories diff --git a/spring-boot-project/spring-boot-pulsar/build.gradle b/spring-boot-project/spring-boot-pulsar/build.gradle index 5d8863b7a38..14a7361eb0d 100644 --- a/spring-boot-project/spring-boot-pulsar/build.gradle +++ b/spring-boot-project/spring-boot-pulsar/build.gradle @@ -30,8 +30,10 @@ dependencies { api(project(":spring-boot-project:spring-boot")) api("org.springframework.pulsar:spring-pulsar") - optional("org.springframework.pulsar:spring-pulsar-reactive") optional(project(":spring-boot-project:spring-boot-autoconfigure")) + optional(project(":spring-boot-project:spring-boot-testcontainers")) + optional("org.springframework.pulsar:spring-pulsar-reactive") + optional("org.testcontainers:pulsar") dockerTestImplementation(project(":spring-boot-project:spring-boot-test")) dockerTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support-docker")) diff --git a/spring-boot-project/spring-boot-testcontainers-all/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/pulsar/PulsarContainerConnectionDetailsFactoryIntegrationTests.java b/spring-boot-project/spring-boot-pulsar/src/dockerTest/java/org/springframework/boot/pulsar/testcontainers/PulsarContainerConnectionDetailsFactoryIntegrationTests.java similarity index 97% rename from spring-boot-project/spring-boot-testcontainers-all/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/pulsar/PulsarContainerConnectionDetailsFactoryIntegrationTests.java rename to spring-boot-project/spring-boot-pulsar/src/dockerTest/java/org/springframework/boot/pulsar/testcontainers/PulsarContainerConnectionDetailsFactoryIntegrationTests.java index 370321c0340..532c2941a5c 100644 --- a/spring-boot-project/spring-boot-testcontainers-all/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/pulsar/PulsarContainerConnectionDetailsFactoryIntegrationTests.java +++ b/spring-boot-project/spring-boot-pulsar/src/dockerTest/java/org/springframework/boot/pulsar/testcontainers/PulsarContainerConnectionDetailsFactoryIntegrationTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.testcontainers.service.connection.pulsar; +package org.springframework.boot.pulsar.testcontainers; import java.time.Duration; import java.util.ArrayList; diff --git a/spring-boot-project/spring-boot-pulsar/src/dockerTest/resources/logback-test.xml b/spring-boot-project/spring-boot-pulsar/src/dockerTest/resources/logback-test.xml new file mode 100644 index 00000000000..b8a41480d7d --- /dev/null +++ b/spring-boot-project/spring-boot-pulsar/src/dockerTest/resources/logback-test.xml @@ -0,0 +1,4 @@ + + + + diff --git a/spring-boot-project/spring-boot-pulsar/src/dockerTest/resources/spring.properties b/spring-boot-project/spring-boot-pulsar/src/dockerTest/resources/spring.properties new file mode 100644 index 00000000000..47dff33f0bb --- /dev/null +++ b/spring-boot-project/spring-boot-pulsar/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/pulsar/PulsarContainerConnectionDetailsFactory.java b/spring-boot-project/spring-boot-pulsar/src/main/java/org/springframework/boot/pulsar/testcontainers/PulsarContainerConnectionDetailsFactory.java similarity index 96% rename from spring-boot-project/spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/pulsar/PulsarContainerConnectionDetailsFactory.java rename to spring-boot-project/spring-boot-pulsar/src/main/java/org/springframework/boot/pulsar/testcontainers/PulsarContainerConnectionDetailsFactory.java index 3b2421fadc8..6bc45179a5e 100644 --- a/spring-boot-project/spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/pulsar/PulsarContainerConnectionDetailsFactory.java +++ b/spring-boot-project/spring-boot-pulsar/src/main/java/org/springframework/boot/pulsar/testcontainers/PulsarContainerConnectionDetailsFactory.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.testcontainers.service.connection.pulsar; +package org.springframework.boot.pulsar.testcontainers; import org.testcontainers.containers.PulsarContainer; diff --git a/spring-boot-project/spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/pulsar/package-info.java b/spring-boot-project/spring-boot-pulsar/src/main/java/org/springframework/boot/pulsar/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/pulsar/package-info.java rename to spring-boot-project/spring-boot-pulsar/src/main/java/org/springframework/boot/pulsar/testcontainers/package-info.java index b71538137c3..8cde01f0ddc 100644 --- a/spring-boot-project/spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/pulsar/package-info.java +++ b/spring-boot-project/spring-boot-pulsar/src/main/java/org/springframework/boot/pulsar/testcontainers/package-info.java @@ -17,4 +17,4 @@ /** * Support for testcontainers Pulsar service connections. */ -package org.springframework.boot.testcontainers.service.connection.pulsar; +package org.springframework.boot.pulsar.testcontainers; diff --git a/spring-boot-project/spring-boot-pulsar/src/main/resources/META-INF/spring.factories b/spring-boot-project/spring-boot-pulsar/src/main/resources/META-INF/spring.factories new file mode 100644 index 00000000000..e631bc7e5d0 --- /dev/null +++ b/spring-boot-project/spring-boot-pulsar/src/main/resources/META-INF/spring.factories @@ -0,0 +1,3 @@ +# Connection Details Factories +org.springframework.boot.autoconfigure.service.connection.ConnectionDetailsFactory=\ +org.springframework.boot.pulsar.testcontainers.PulsarContainerConnectionDetailsFactory diff --git a/spring-boot-project/spring-boot-testcontainers-all/build.gradle b/spring-boot-project/spring-boot-testcontainers-all/build.gradle index bb178659042..6fb0103b5d8 100644 --- a/spring-boot-project/spring-boot-testcontainers-all/build.gradle +++ b/spring-boot-project/spring-boot-testcontainers-all/build.gradle @@ -29,7 +29,6 @@ dependencies { api(project(":spring-boot-project:spring-boot-testcontainers")) dockerTestImplementation(project(":spring-boot-project:spring-boot-jdbc")) - dockerTestImplementation(project(":spring-boot-project:spring-boot-pulsar")) dockerTestImplementation(project(":spring-boot-project:spring-boot-r2dbc")) dockerTestImplementation(project(":spring-boot-project:spring-boot-test")) dockerTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support-docker")) @@ -46,7 +45,6 @@ dependencies { dockerTestImplementation("org.springframework:spring-core-test") dockerTestImplementation("org.springframework:spring-jdbc") dockerTestImplementation("org.springframework.data:spring-data-redis") - dockerTestImplementation("org.springframework.pulsar:spring-pulsar") dockerTestImplementation("org.testcontainers:junit-jupiter") dockerTestRuntimeOnly("com.oracle.database.r2dbc:oracle-r2dbc") @@ -57,7 +55,6 @@ dependencies { 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-jdbc")) - optional(project(":spring-boot-project:spring-boot-pulsar")) optional(project(":spring-boot-project:spring-boot-r2dbc")) optional(project(":spring-boot-project:spring-boot-tx")) optional("org.springframework:spring-test") @@ -70,7 +67,6 @@ dependencies { optional("org.testcontainers:oracle-xe") optional("org.testcontainers:oracle-free") optional("org.testcontainers:postgresql") - optional("org.testcontainers:pulsar") optional("org.testcontainers:r2dbc") optional("com.redis:testcontainers-redis") 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 06157c8ccd8..532f9d7e69d 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,7 +6,6 @@ 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.pulsar.PulsarContainerConnectionDetailsFactory,\ org.springframework.boot.testcontainers.service.connection.r2dbc.ClickHouseR2dbcContainerConnectionDetailsFactory,\ org.springframework.boot.testcontainers.service.connection.r2dbc.MariaDbR2dbcContainerConnectionDetailsFactory,\ org.springframework.boot.testcontainers.service.connection.r2dbc.MySqlR2dbcContainerConnectionDetailsFactory,\ diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-pulsar/build.gradle b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-pulsar/build.gradle index 9faca789b56..c4a275f145e 100644 --- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-pulsar/build.gradle +++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-pulsar/build.gradle @@ -24,7 +24,7 @@ description = "Spring Boot Pulsar smoke test" dependencies { dockerTestImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test")) dockerTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support-docker")) - dockerTestImplementation(project(":spring-boot-project:spring-boot-testcontainers-all")) + dockerTestImplementation(project(":spring-boot-project:spring-boot-testcontainers")) dockerTestImplementation("org.awaitility:awaitility") dockerTestImplementation("org.testcontainers:junit-jupiter") dockerTestImplementation("org.testcontainers:pulsar")