From 4293de5eee6aa60d5c31b0753e74076a373371ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edd=C3=BA=20Mel=C3=A9ndez?= Date: Mon, 20 Jul 2026 15:25:54 -0600 Subject: [PATCH] Simplify Artemis AMQP 1.0 integration test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See gh-51081 Signed-off-by: Eddú Meléndez --- ...nectionDetailsFactoryIntegrationTests.java | 33 +++++-------------- 1 file changed, 8 insertions(+), 25 deletions(-) diff --git a/module/spring-boot-amqp/src/dockerTest/java/org/springframework/boot/amqp/testcontainers/ArtemisAmqpContainerConnectionDetailsFactoryIntegrationTests.java b/module/spring-boot-amqp/src/dockerTest/java/org/springframework/boot/amqp/testcontainers/ArtemisAmqpContainerConnectionDetailsFactoryIntegrationTests.java index d5439c03cde..dec132ae075 100644 --- a/module/spring-boot-amqp/src/dockerTest/java/org/springframework/boot/amqp/testcontainers/ArtemisAmqpContainerConnectionDetailsFactoryIntegrationTests.java +++ b/module/spring-boot-amqp/src/dockerTest/java/org/springframework/boot/amqp/testcontainers/ArtemisAmqpContainerConnectionDetailsFactoryIntegrationTests.java @@ -20,7 +20,7 @@ import java.util.UUID; import java.util.concurrent.TimeUnit; import org.junit.jupiter.api.Test; -import org.testcontainers.containers.Container.ExecResult; +import org.testcontainers.activemq.ArtemisContainer; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; @@ -41,14 +41,18 @@ import static org.assertj.core.api.Assertions.assertThat; * Tests for {@link ArtemisAmqpContainerConnectionDetailsFactory}. * * @author Stephane Nicoll + * @author Eddú Meléndez */ @SpringJUnitConfig @Testcontainers(disabledWithoutDocker = true) class ArtemisAmqpContainerConnectionDetailsFactoryIntegrationTests { + private static final String QUEUE_NAME = UUID.randomUUID().toString(); + @Container @ServiceConnection - static final ArtemisLegacyContainer container = TestImage.container(ArtemisLegacyContainer.class); + static final ArtemisContainer container = TestImage.container(ArtemisLegacyContainer.class) + .withEnv("EXTRA_ARGS", "--queues %s:anycast".formatted(QUEUE_NAME)); @Autowired(required = false) private AmqpConnectionDetails connectionDetails; @@ -59,32 +63,11 @@ class ArtemisAmqpContainerConnectionDetailsFactoryIntegrationTests { @Test void connectionCanBeMadeToArtemisContainer() throws Exception { assertThat(this.connectionDetails).isNotNull(); - String address = createRandomQueue(); - this.amqpClient.to(address).body("test message").send(); - Object message = this.amqpClient.from(address).receiveAndConvert().get(4, TimeUnit.MINUTES); + this.amqpClient.to(QUEUE_NAME).body("test message").send(); + Object message = this.amqpClient.from(QUEUE_NAME).receiveAndConvert().get(4, TimeUnit.MINUTES); assertThat(message).isEqualTo("test message"); } - private String createRandomQueue() { - String name = UUID.randomUUID().toString(); - createQueue(name); - return name; - } - - private void createQueue(String name) { - try { - ExecResult execResult = container.execInContainer("/var/lib/artemis-instance/bin/artemis", "queue", - "create", "--name=" + name, "--auto-create-address", "--anycast", "--silent", - "--user=" + container.getUser(), "--password=" + container.getPassword()); - if (execResult.getExitCode() != 0) { - throw new IllegalStateException("Failed to create queue: " + execResult); - } - } - catch (Exception ex) { - throw new IllegalStateException("Failed to create queue " + name, ex); - } - } - @Configuration(proxyBeanMethods = false) @ImportAutoConfiguration(AmqpAutoConfiguration.class) static class TestConfiguration {