From 5c232d171a5d9139d860c123298ba03eca0c9cee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Mon, 19 May 2025 16:10:47 +0200 Subject: [PATCH] Move LDAP testcontainers support into spring-boot-ldap --- spring-boot-project/spring-boot-ldap/build.gradle | 8 ++++++++ ...ContainerConnectionDetailsFactoryIntegrationTests.java | 2 +- ...ContainerConnectionDetailsFactoryIntegrationTests.java | 2 +- .../src/dockerTest/resources/logback-test.xml | 4 ++++ .../src/dockerTest/resources/spring.properties | 1 + .../LLdapContainerConnectionDetailsFactory.java | 2 +- .../OpenLdapContainerConnectionDetailsFactory.java | 2 +- .../boot/ldap/testcontainers}/package-info.java | 2 +- .../src/main/resources/META-INF/spring.factories | 4 ++++ .../spring-boot-testcontainers-all/build.gradle | 3 --- .../src/main/resources/META-INF/spring.factories | 2 -- 11 files changed, 22 insertions(+), 10 deletions(-) rename spring-boot-project/{spring-boot-testcontainers-all/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/ldap => spring-boot-ldap/src/dockerTest/java/org/springframework/boot/ldap/testcontainers}/LLdapContainerConnectionDetailsFactoryIntegrationTests.java (97%) rename spring-boot-project/{spring-boot-testcontainers-all/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/ldap => spring-boot-ldap/src/dockerTest/java/org/springframework/boot/ldap/testcontainers}/OpenLdapContainerConnectionDetailsFactoryIntegrationTests.java (97%) create mode 100644 spring-boot-project/spring-boot-ldap/src/dockerTest/resources/logback-test.xml create mode 100644 spring-boot-project/spring-boot-ldap/src/dockerTest/resources/spring.properties rename spring-boot-project/{spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/ldap => spring-boot-ldap/src/main/java/org/springframework/boot/ldap/testcontainers}/LLdapContainerConnectionDetailsFactory.java (96%) rename spring-boot-project/{spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/ldap => spring-boot-ldap/src/main/java/org/springframework/boot/ldap/testcontainers}/OpenLdapContainerConnectionDetailsFactory.java (97%) rename spring-boot-project/{spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/ldap => spring-boot-ldap/src/main/java/org/springframework/boot/ldap/testcontainers}/package-info.java (90%) create mode 100644 spring-boot-project/spring-boot-ldap/src/main/resources/META-INF/spring.factories diff --git a/spring-boot-project/spring-boot-ldap/build.gradle b/spring-boot-project/spring-boot-ldap/build.gradle index 51f9018306..c5d81ca775 100644 --- a/spring-boot-project/spring-boot-ldap/build.gradle +++ b/spring-boot-project/spring-boot-ldap/build.gradle @@ -3,6 +3,7 @@ plugins { id "org.springframework.boot.auto-configuration" id "org.springframework.boot.configuration-properties" id "org.springframework.boot.deployed" + id "org.springframework.boot.docker-test" id "org.springframework.boot.optional-dependencies" } @@ -16,9 +17,16 @@ 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("com.unboundid:unboundid-ldapsdk") + optional("org.testcontainers:ldap") + + dockerTestImplementation(project(":spring-boot-project:spring-boot-test")) + dockerTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support-docker")) + dockerTestImplementation("org.testcontainers:junit-jupiter") testCompileOnly("com.fasterxml.jackson.core:jackson-annotations") + testImplementation(project(":spring-boot-project:spring-boot-test")) testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support")) diff --git a/spring-boot-project/spring-boot-testcontainers-all/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/ldap/LLdapContainerConnectionDetailsFactoryIntegrationTests.java b/spring-boot-project/spring-boot-ldap/src/dockerTest/java/org/springframework/boot/ldap/testcontainers/LLdapContainerConnectionDetailsFactoryIntegrationTests.java similarity index 97% rename from spring-boot-project/spring-boot-testcontainers-all/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/ldap/LLdapContainerConnectionDetailsFactoryIntegrationTests.java rename to spring-boot-project/spring-boot-ldap/src/dockerTest/java/org/springframework/boot/ldap/testcontainers/LLdapContainerConnectionDetailsFactoryIntegrationTests.java index 50ba5601af..d3a4eecc76 100644 --- a/spring-boot-project/spring-boot-testcontainers-all/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/ldap/LLdapContainerConnectionDetailsFactoryIntegrationTests.java +++ b/spring-boot-project/spring-boot-ldap/src/dockerTest/java/org/springframework/boot/ldap/testcontainers/LLdapContainerConnectionDetailsFactoryIntegrationTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.testcontainers.service.connection.ldap; +package org.springframework.boot.ldap.testcontainers; import java.util.List; diff --git a/spring-boot-project/spring-boot-testcontainers-all/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/ldap/OpenLdapContainerConnectionDetailsFactoryIntegrationTests.java b/spring-boot-project/spring-boot-ldap/src/dockerTest/java/org/springframework/boot/ldap/testcontainers/OpenLdapContainerConnectionDetailsFactoryIntegrationTests.java similarity index 97% rename from spring-boot-project/spring-boot-testcontainers-all/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/ldap/OpenLdapContainerConnectionDetailsFactoryIntegrationTests.java rename to spring-boot-project/spring-boot-ldap/src/dockerTest/java/org/springframework/boot/ldap/testcontainers/OpenLdapContainerConnectionDetailsFactoryIntegrationTests.java index 8f71c07acd..ca6ef65b97 100644 --- a/spring-boot-project/spring-boot-testcontainers-all/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/ldap/OpenLdapContainerConnectionDetailsFactoryIntegrationTests.java +++ b/spring-boot-project/spring-boot-ldap/src/dockerTest/java/org/springframework/boot/ldap/testcontainers/OpenLdapContainerConnectionDetailsFactoryIntegrationTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.testcontainers.service.connection.ldap; +package org.springframework.boot.ldap.testcontainers; import java.util.List; diff --git a/spring-boot-project/spring-boot-ldap/src/dockerTest/resources/logback-test.xml b/spring-boot-project/spring-boot-ldap/src/dockerTest/resources/logback-test.xml new file mode 100644 index 0000000000..b8a41480d7 --- /dev/null +++ b/spring-boot-project/spring-boot-ldap/src/dockerTest/resources/logback-test.xml @@ -0,0 +1,4 @@ + + + + diff --git a/spring-boot-project/spring-boot-ldap/src/dockerTest/resources/spring.properties b/spring-boot-project/spring-boot-ldap/src/dockerTest/resources/spring.properties new file mode 100644 index 0000000000..47dff33f0b --- /dev/null +++ b/spring-boot-project/spring-boot-ldap/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/ldap/LLdapContainerConnectionDetailsFactory.java b/spring-boot-project/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/testcontainers/LLdapContainerConnectionDetailsFactory.java similarity index 96% rename from spring-boot-project/spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/ldap/LLdapContainerConnectionDetailsFactory.java rename to spring-boot-project/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/testcontainers/LLdapContainerConnectionDetailsFactory.java index 05eb996280..6b6aa9af1c 100644 --- a/spring-boot-project/spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/ldap/LLdapContainerConnectionDetailsFactory.java +++ b/spring-boot-project/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/testcontainers/LLdapContainerConnectionDetailsFactory.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.testcontainers.service.connection.ldap; +package org.springframework.boot.ldap.testcontainers; import org.testcontainers.ldap.LLdapContainer; diff --git a/spring-boot-project/spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/ldap/OpenLdapContainerConnectionDetailsFactory.java b/spring-boot-project/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/testcontainers/OpenLdapContainerConnectionDetailsFactory.java similarity index 97% rename from spring-boot-project/spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/ldap/OpenLdapContainerConnectionDetailsFactory.java rename to spring-boot-project/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/testcontainers/OpenLdapContainerConnectionDetailsFactory.java index 892edf8b7e..30b6a7ac28 100644 --- a/spring-boot-project/spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/ldap/OpenLdapContainerConnectionDetailsFactory.java +++ b/spring-boot-project/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/testcontainers/OpenLdapContainerConnectionDetailsFactory.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.testcontainers.service.connection.ldap; +package org.springframework.boot.ldap.testcontainers; import java.util.Arrays; import java.util.Map; diff --git a/spring-boot-project/spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/ldap/package-info.java b/spring-boot-project/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/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/ldap/package-info.java rename to spring-boot-project/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/testcontainers/package-info.java index 2589545267..0893c108dc 100644 --- a/spring-boot-project/spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/ldap/package-info.java +++ b/spring-boot-project/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/testcontainers/package-info.java @@ -17,4 +17,4 @@ /** * Support for testcontainers Ldap service connections. */ -package org.springframework.boot.testcontainers.service.connection.ldap; +package org.springframework.boot.ldap.testcontainers; diff --git a/spring-boot-project/spring-boot-ldap/src/main/resources/META-INF/spring.factories b/spring-boot-project/spring-boot-ldap/src/main/resources/META-INF/spring.factories new file mode 100644 index 0000000000..515b9fbb39 --- /dev/null +++ b/spring-boot-project/spring-boot-ldap/src/main/resources/META-INF/spring.factories @@ -0,0 +1,4 @@ +# Connection Details Factories +org.springframework.boot.autoconfigure.service.connection.ConnectionDetailsFactory=\ +org.springframework.boot.ldap.testcontainers.LLdapContainerConnectionDetailsFactory,\ +org.springframework.boot.ldap.testcontainers.OpenLdapContainerConnectionDetailsFactory diff --git a/spring-boot-project/spring-boot-testcontainers-all/build.gradle b/spring-boot-project/spring-boot-testcontainers-all/build.gradle index 35d8893454..84429658f8 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 { dockerTestImplementation("org.springframework:spring-core-test") dockerTestImplementation("org.springframework:spring-jdbc") dockerTestImplementation("org.springframework.data:spring-data-redis") - dockerTestImplementation("org.springframework.ldap:spring-ldap-core") dockerTestImplementation("org.springframework.pulsar:spring-pulsar") dockerTestImplementation("org.testcontainers:junit-jupiter") @@ -41,7 +40,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-ldap")) optional(project(":spring-boot-project:spring-boot-mongodb")) optional(project(":spring-boot-project:spring-boot-neo4j")) optional(project(":spring-boot-project:spring-boot-pulsar")) @@ -53,7 +51,6 @@ dependencies { optional("org.testcontainers:clickhouse") optional("org.testcontainers:grafana") optional("org.testcontainers:jdbc") - optional("org.testcontainers:ldap") optional("org.testcontainers:mariadb") optional("org.testcontainers:mongodb") optional("org.testcontainers:mssqlserver") 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 7fda046118..372d609598 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,7 +1,5 @@ # Connection Details Factories org.springframework.boot.autoconfigure.service.connection.ConnectionDetailsFactory=\ -org.springframework.boot.testcontainers.service.connection.ldap.LLdapContainerConnectionDetailsFactory,\ -org.springframework.boot.testcontainers.service.connection.ldap.OpenLdapContainerConnectionDetailsFactory,\ org.springframework.boot.testcontainers.service.connection.mongo.MongoContainerConnectionDetailsFactory,\ org.springframework.boot.testcontainers.service.connection.neo4j.Neo4jContainerConnectionDetailsFactory,\ org.springframework.boot.testcontainers.service.connection.otlp.GrafanaOpenTelemetryLoggingContainerConnectionDetailsFactory,\