Move Amqp testcontainers support into spring-boot-amqp

See gh-46077
This commit is contained in:
Stéphane Nicoll
2025-05-19 14:43:46 +02:00
committed by Andy Wilkinson
parent 894bb9ed3d
commit ecb1e2123c
9 changed files with 18 additions and 9 deletions
@@ -17,6 +17,7 @@
plugins { plugins {
id "java-library" id "java-library"
id "org.springframework.boot.docker-test"
id "org.springframework.boot.auto-configuration" id "org.springframework.boot.auto-configuration"
id "org.springframework.boot.configuration-properties" id "org.springframework.boot.configuration-properties"
id "org.springframework.boot.deployed" id "org.springframework.boot.deployed"
@@ -36,10 +37,17 @@ dependencies {
optional(project(":spring-boot-project:spring-boot-actuator-autoconfigure")) optional(project(":spring-boot-project:spring-boot-actuator-autoconfigure"))
optional(project(":spring-boot-project:spring-boot-autoconfigure")) optional(project(":spring-boot-project:spring-boot-autoconfigure"))
optional(project(":spring-boot-project:spring-boot-testcontainers"))
optional("io.micrometer:micrometer-core") optional("io.micrometer:micrometer-core")
optional("org.springframework.amqp:spring-rabbit-stream") optional("org.springframework.amqp:spring-rabbit-stream")
optional("org.testcontainers:rabbitmq")
dockerTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support-docker"))
dockerTestImplementation("ch.qos.logback:logback-classic")
dockerTestImplementation("org.testcontainers:junit-jupiter")
testCompileOnly("com.fasterxml.jackson.core:jackson-annotations") testCompileOnly("com.fasterxml.jackson.core:jackson-annotations")
testImplementation(project(":spring-boot-project:spring-boot-test")) testImplementation(project(":spring-boot-project:spring-boot-test"))
testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support")) testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support"))
@@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.springframework.boot.testcontainers.service.connection.amqp; package org.springframework.boot.amqp.testcontainers;
import java.time.Duration; import java.time.Duration;
import java.util.ArrayList; import java.util.ArrayList;
@@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.springframework.boot.testcontainers.service.connection.amqp; package org.springframework.boot.amqp.testcontainers;
import java.net.URI; import java.net.URI;
import java.util.List; import java.util.List;
@@ -17,4 +17,4 @@
/** /**
* Support for testcontainers RabbitMQ service connections. * Support for testcontainers RabbitMQ service connections.
*/ */
package org.springframework.boot.testcontainers.service.connection.amqp; package org.springframework.boot.amqp.testcontainers;
@@ -0,0 +1,2 @@
org.springframework.boot.autoconfigure.service.connection.ConnectionDetailsFactory=\
org.springframework.boot.amqp.testcontainers.RabbitContainerConnectionDetailsFactory
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml"/>
</configuration>
@@ -58,7 +58,6 @@ dependencies {
dockerTestImplementation("org.mockito:mockito-core") dockerTestImplementation("org.mockito:mockito-core")
dockerTestImplementation("org.springframework:spring-core-test") dockerTestImplementation("org.springframework:spring-core-test")
dockerTestImplementation("org.springframework:spring-jdbc") dockerTestImplementation("org.springframework:spring-jdbc")
dockerTestImplementation("org.springframework.amqp:spring-rabbit")
dockerTestImplementation("org.springframework.data:spring-data-redis") dockerTestImplementation("org.springframework.data:spring-data-redis")
dockerTestImplementation("org.springframework.kafka:spring-kafka") dockerTestImplementation("org.springframework.kafka:spring-kafka")
dockerTestImplementation("org.springframework.ldap:spring-ldap-core") dockerTestImplementation("org.springframework.ldap:spring-ldap-core")
@@ -71,7 +70,6 @@ dependencies {
dockerTestRuntimeOnly("org.flywaydb:flyway-database-postgresql") dockerTestRuntimeOnly("org.flywaydb:flyway-database-postgresql")
dockerTestRuntimeOnly("org.postgresql:postgresql") dockerTestRuntimeOnly("org.postgresql:postgresql")
optional(project(":spring-boot-project:spring-boot-amqp"))
optional(project(":spring-boot-project:spring-boot-actuator-autoconfigure-all")) optional(project(":spring-boot-project:spring-boot-actuator-autoconfigure-all"))
optional(project(":spring-boot-project:spring-boot-cassandra")) optional(project(":spring-boot-project:spring-boot-cassandra"))
optional(project(":spring-boot-project:spring-boot-couchbase")) optional(project(":spring-boot-project:spring-boot-couchbase"))
@@ -108,7 +106,6 @@ dependencies {
optional("org.testcontainers:oracle-free") optional("org.testcontainers:oracle-free")
optional("org.testcontainers:postgresql") optional("org.testcontainers:postgresql")
optional("org.testcontainers:pulsar") optional("org.testcontainers:pulsar")
optional("org.testcontainers:rabbitmq")
optional("org.testcontainers:redpanda") optional("org.testcontainers:redpanda")
optional("org.testcontainers:r2dbc") optional("org.testcontainers:r2dbc")
optional("com.redis:testcontainers-redis") optional("com.redis:testcontainers-redis")
@@ -117,7 +114,6 @@ dependencies {
testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support")) testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support"))
testImplementation(testFixtures(project(":spring-boot-project:spring-boot-testcontainers"))) testImplementation(testFixtures(project(":spring-boot-project:spring-boot-testcontainers")))
testImplementation("org.springframework:spring-jdbc") testImplementation("org.springframework:spring-jdbc")
testImplementation("org.springframework.amqp:spring-rabbit")
testImplementation("org.springframework.data:spring-data-redis") testImplementation("org.springframework.data:spring-data-redis")
testImplementation("org.springframework.kafka:spring-kafka") testImplementation("org.springframework.kafka:spring-kafka")
testImplementation("org.testcontainers:junit-jupiter") testImplementation("org.testcontainers:junit-jupiter")
@@ -1,6 +1,5 @@
# Connection Details Factories # Connection Details Factories
org.springframework.boot.autoconfigure.service.connection.ConnectionDetailsFactory=\ org.springframework.boot.autoconfigure.service.connection.ConnectionDetailsFactory=\
org.springframework.boot.testcontainers.service.connection.amqp.RabbitContainerConnectionDetailsFactory,\
org.springframework.boot.testcontainers.service.connection.cassandra.CassandraContainerConnectionDetailsFactory,\ org.springframework.boot.testcontainers.service.connection.cassandra.CassandraContainerConnectionDetailsFactory,\
org.springframework.boot.testcontainers.service.connection.cassandra.DeprecatedCassandraContainerConnectionDetailsFactory,\ org.springframework.boot.testcontainers.service.connection.cassandra.DeprecatedCassandraContainerConnectionDetailsFactory,\
org.springframework.boot.testcontainers.service.connection.couchbase.CouchbaseContainerConnectionDetailsFactory,\ org.springframework.boot.testcontainers.service.connection.couchbase.CouchbaseContainerConnectionDetailsFactory,\
@@ -23,7 +23,7 @@ description = "Spring Boot AMQP smoke test"
dependencies { dependencies {
dockerTestImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test")) 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(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support-docker"))
dockerTestImplementation("org.awaitility:awaitility") dockerTestImplementation("org.awaitility:awaitility")
dockerTestImplementation("org.testcontainers:junit-jupiter") dockerTestImplementation("org.testcontainers:junit-jupiter")