Skip to content

Commit 3ab2f28

Browse files
committed
detect container startup with open ports
1 parent 83ad212 commit 3ab2f28

File tree

6 files changed

+16
-6
lines changed

6 files changed

+16
-6
lines changed

jmx-scraper/src/integrationTest/java/io/opentelemetry/contrib/jmxscraper/target_systems/ActiveMqIntegrationTest.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ protected GenericContainer<?> createTargetContainer(int jmxPort) {
2525
builder -> builder.from("apache/activemq-classic:5.18.6").build()))
2626
.withEnv("JAVA_TOOL_OPTIONS", genericJmxJvmArguments(jmxPort))
2727
.withStartupTimeout(Duration.ofMinutes(2))
28-
.waitingFor(Wait.forLogMessage(".*Apache ActiveMQ.*started.*", 1));
28+
.withExposedPorts(61616, jmxPort)
29+
.waitingFor(Wait.forListeningPorts(61616, jmxPort));
2930
}
3031

3132
@Override

jmx-scraper/src/integrationTest/java/io/opentelemetry/contrib/jmxscraper/target_systems/CassandraIntegrationTest.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@ protected GenericContainer<?> createTargetContainer(int jmxPort) {
3030
// making cassandra startup faster for single node, from ~1min to ~15s
3131
+ " -Dcassandra.skip_wait_for_gossip_to_settle=0 -Dcassandra.initial_token=0")
3232
.withStartupTimeout(Duration.ofMinutes(2))
33-
.waitingFor(Wait.forLogMessage(".*Startup complete.*", 1));
33+
.withExposedPorts(9042, jmxPort)
34+
.waitingFor(Wait.forListeningPorts(9042, jmxPort));
3435
}
3536

3637
@Override

jmx-scraper/src/integrationTest/java/io/opentelemetry/contrib/jmxscraper/target_systems/JettyIntegrationTest.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@ protected GenericContainer<?> createTargetContainer(int jmxPort) {
3939
container
4040
.withEnv("JAVA_OPTIONS", genericJmxJvmArguments(jmxPort))
4141
.withStartupTimeout(Duration.ofMinutes(2))
42-
.waitingFor(Wait.forLogMessage(".*Started Server.*", 1));
42+
.withExposedPorts(8080, jmxPort)
43+
.waitingFor(Wait.forListeningPorts(8080, jmxPort));
4344

4445
return container;
4546
}

jmx-scraper/src/integrationTest/java/io/opentelemetry/contrib/jmxscraper/target_systems/JvmIntegrationTest.java

+6-1
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,18 @@
1414
import java.util.Arrays;
1515
import java.util.List;
1616
import org.testcontainers.containers.GenericContainer;
17+
import org.testcontainers.containers.wait.strategy.Wait;
1718

1819
public class JvmIntegrationTest extends TargetSystemIntegrationTest {
1920

2021
@Override
2122
protected GenericContainer<?> createTargetContainer(int jmxPort) {
2223
// reusing test application for JVM metrics and custom yaml
23-
return new TestAppContainer().withJmxPort(jmxPort);
24+
//noinspection resource
25+
return new TestAppContainer()
26+
.withJmxPort(jmxPort)
27+
.withExposedPorts(jmxPort)
28+
.waitingFor(Wait.forListeningPorts(jmxPort));
2429
}
2530

2631
@Override

jmx-scraper/src/integrationTest/java/io/opentelemetry/contrib/jmxscraper/target_systems/TomcatIntegrationTest.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ protected GenericContainer<?> createTargetContainer(int jmxPort) {
3232
.build()))
3333
.withEnv("CATALINA_OPTS", genericJmxJvmArguments(jmxPort))
3434
.withStartupTimeout(Duration.ofMinutes(2))
35-
.waitingFor(Wait.forListeningPort());
35+
.withExposedPorts(8080, jmxPort)
36+
.waitingFor(Wait.forListeningPorts(8080, jmxPort));
3637
}
3738

3839
@Override

jmx-scraper/src/integrationTest/java/io/opentelemetry/contrib/jmxscraper/target_systems/WildflyIntegrationTest.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,8 @@ protected GenericContainer<?> createTargetContainer(int jmxPort) {
5959
MountableFile.forHostPath(appWarPath),
6060
"/opt/jboss/wildfly/standalone/deployments/testapp.war")
6161
.withStartupTimeout(Duration.ofMinutes(2))
62-
.waitingFor(Wait.forLogMessage(".*Http management interface listening on.*", 1));
62+
.withExposedPorts(8080, 9990)
63+
.waitingFor(Wait.forListeningPorts(8080, 9990));
6364
}
6465

6566
@Override

0 commit comments

Comments
 (0)