Add wait strategy to the artemis container in spring jms 6 tests (#8646)

This commit is contained in:
Mateusz Rzeszutek 2023-06-05 11:07:01 +02:00 committed by GitHub
parent e64f9dc824
commit c74fa61b5d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 0 deletions

View File

@ -29,6 +29,7 @@ import jakarta.jms.MessageConsumer;
import jakarta.jms.MessageProducer;
import jakarta.jms.Session;
import jakarta.jms.TextMessage;
import java.time.Duration;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicReference;
@ -48,6 +49,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testcontainers.containers.GenericContainer;
import org.testcontainers.containers.output.Slf4jLogConsumer;
import org.testcontainers.containers.wait.strategy.Wait;
class Jms3InstrumentationTest {
@ -70,6 +72,8 @@ class Jms3InstrumentationTest {
.withEnv("AMQ_USER", "test")
.withEnv("AMQ_PASSWORD", "test")
.withExposedPorts(61616, 8161)
.waitingFor(Wait.forLogMessage(".*Server is now live.*", 1))
.withStartupTimeout(Duration.ofMinutes(2))
.withLogConsumer(new Slf4jLogConsumer(logger));
broker.start();

View File

@ -21,6 +21,7 @@ import io.opentelemetry.instrumentation.testing.junit.AgentInstrumentationExtens
import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension;
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
import jakarta.jms.ConnectionFactory;
import java.time.Duration;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
@ -44,6 +45,7 @@ import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.jms.core.JmsTemplate;
import org.testcontainers.containers.GenericContainer;
import org.testcontainers.containers.output.Slf4jLogConsumer;
import org.testcontainers.containers.wait.strategy.Wait;
class SpringJmsListenerTest {
@ -63,6 +65,8 @@ class SpringJmsListenerTest {
.withEnv("AMQ_USER", "test")
.withEnv("AMQ_PASSWORD", "test")
.withExposedPorts(61616, 8161)
.waitingFor(Wait.forLogMessage(".*Server is now live.*", 1))
.withStartupTimeout(Duration.ofMinutes(2))
.withLogConsumer(new Slf4jLogConsumer(logger));
broker.start();
}