fix: container not ready

This commit is contained in:
ReaJason
2025-12-08 01:43:41 +08:00
parent 4a207e583a
commit 84c61629ff
18 changed files with 96 additions and 9 deletions
@@ -54,7 +54,7 @@ public class GlassFish3ContainerTest {
@BeforeAll
static void setup() {
container.waitingFor(Wait.forHttp("/app/"));
container.waitingFor(Wait.forLogMessage(".*(deployed|done).*", 1));
}
static Stream<Arguments> casesProvider() {
@@ -20,7 +20,6 @@ import org.testcontainers.images.builder.ImageFromDockerfile;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;
import java.time.Duration;
import java.util.List;
import java.util.stream.Stream;
@@ -54,7 +53,7 @@ public class GlassFish4ContainerTest {
@BeforeAll
static void setup() {
container.waitingFor(Wait.forHttp("/app/"));
container.waitingFor(Wait.forLogMessage(".*(deployed|done).*", 1));
}
static Stream<Arguments> casesProvider() {
@@ -8,6 +8,7 @@ import com.reajason.javaweb.packer.Packers;
import lombok.extern.slf4j.Slf4j;
import net.bytebuddy.jar.asm.Opcodes;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
@@ -63,6 +64,11 @@ public class GlassFish501ContainerTest {
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
}
@BeforeAll
static void setup() {
container.waitingFor(Wait.forLogMessage(".*(deployed|done).*", 1));
}
@AfterAll
static void tearDown() {
String logs = container.getLogs();
@@ -8,6 +8,7 @@ import com.reajason.javaweb.packer.Packers;
import lombok.extern.slf4j.Slf4j;
import net.bytebuddy.jar.asm.Opcodes;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
@@ -63,6 +64,11 @@ public class GlassFish510ContainerTest {
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
}
@BeforeAll
static void setup() {
container.waitingFor(Wait.forLogMessage(".*(deployed|done).*", 1));
}
@AfterAll
static void tearDown() {
String logs = container.getLogs();
@@ -9,6 +9,7 @@ import com.reajason.javaweb.packer.Packers;
import lombok.extern.slf4j.Slf4j;
import net.bytebuddy.jar.asm.Opcodes;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
@@ -62,6 +63,11 @@ public class GlassFish6ContainerTest {
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers, null, List.of(ShellTool.AntSword));
}
@BeforeAll
static void setup() {
container.waitingFor(Wait.forLogMessage(".*(deployed|done).*", 1));
}
@AfterAll
static void tearDown() {
String logs = container.getLogs();
@@ -9,6 +9,7 @@ import com.reajason.javaweb.packer.Packers;
import lombok.extern.slf4j.Slf4j;
import net.bytebuddy.jar.asm.Opcodes;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
@@ -48,7 +49,7 @@ public class GlassFish7ContainerTest {
.withCopyToContainer(glassfishPid, "/fetch_pid.sh")
.withNetwork(network)
.withNetworkAliases("app")
.waitingFor(Wait.forHttp("/app"))
.waitingFor(Wait.forLogMessage(".*JMXService.*", 1))
.withExposedPorts(8080);
static Stream<Arguments> casesProvider() {
@@ -64,6 +65,11 @@ public class GlassFish7ContainerTest {
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers, null, List.of(ShellTool.AntSword));
}
@BeforeAll
static void setup() {
container.waitingFor(Wait.forHttp("/app/test"));
}
@AfterAll
static void tearDown() {
String logs = container.getLogs();
@@ -8,6 +8,7 @@ import com.reajason.javaweb.packer.Packers;
import lombok.extern.slf4j.Slf4j;
import net.bytebuddy.jar.asm.Opcodes;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
@@ -63,6 +64,11 @@ public class Payara5201ContainerTest {
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
}
@BeforeAll
static void setup() {
container.waitingFor(Wait.forLogMessage(".*JMXService.*", 1));
}
@AfterAll
static void tearDown() {
String logs = container.getLogs();
@@ -8,6 +8,7 @@ import com.reajason.javaweb.packer.Packers;
import lombok.extern.slf4j.Slf4j;
import net.bytebuddy.jar.asm.Opcodes;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
@@ -63,6 +64,11 @@ public class Payara520225ContainerTest {
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
}
@BeforeAll
static void setup() {
container.waitingFor(Wait.forLogMessage(".*JMXService.*", 1));
}
@AfterAll
static void tearDown() {
String logs = container.getLogs();
@@ -9,6 +9,7 @@ import com.reajason.javaweb.packer.Packers;
import lombok.extern.slf4j.Slf4j;
import net.bytebuddy.jar.asm.Opcodes;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
@@ -46,7 +47,7 @@ public class Payara620222ContainerTest {
.withCopyToContainer(glassfishPid, "/fetch_pid.sh")
.withNetwork(network)
.withNetworkAliases("app")
.waitingFor(Wait.forHttp("/app"))
.waitingFor(Wait.forLogMessage(".*JMXService.*", 1))
.withExposedPorts(8080);
static Stream<Arguments> casesProvider() {
@@ -62,6 +63,11 @@ public class Payara620222ContainerTest {
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers, null, List.of(ShellTool.AntSword));
}
@BeforeAll
static void setup() {
container.waitingFor(Wait.forHttp("/app/test"));
}
@AfterAll
static void tearDown() {
String logs = container.getLogs();
@@ -36,9 +36,10 @@ public class GlassFish3ContainerTest {
.withCopyToContainer(warFile, "/usr/local/glassfish3/glassfish/domains/domain1/autodeploy/app.war")
.waitingFor(Wait.forHttp("/app"))
.withExposedPorts(8080);
@BeforeAll
static void setup() {
container.waitingFor(Wait.forHttp("/app/"));
container.waitingFor(Wait.forLogMessage(".*(deployed|done).*", 1));
}
@Test
@@ -40,8 +40,9 @@ public class GlassFish4ContainerTest {
@BeforeAll
static void setup() {
container.waitingFor(Wait.forHttp("/app/"));
container.waitingFor(Wait.forLogMessage(".*(deployed|done).*", 1));
}
@AfterAll
static void tearDown() {
System.out.println(container.getLogs());
@@ -6,6 +6,7 @@ import com.reajason.javaweb.integration.VulTool;
import com.reajason.javaweb.integration.probe.DetectionTool;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.objectweb.asm.Opcodes;
import org.testcontainers.containers.GenericContainer;
@@ -33,6 +34,12 @@ public class GlassFish501ContainerTest {
.withCopyToContainer(warFile, "/usr/local/glassfish5/glassfish/domains/domain1/autodeploy/app.war")
.waitingFor(Wait.forHttp("/app"))
.withExposedPorts(8080);
@BeforeAll
static void setup() {
container.waitingFor(Wait.forLogMessage(".*(deployed|done).*", 1));
}
@Test
void testJDK() {
String url = getUrl(container);
@@ -6,6 +6,7 @@ import com.reajason.javaweb.integration.VulTool;
import com.reajason.javaweb.integration.probe.DetectionTool;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.objectweb.asm.Opcodes;
import org.testcontainers.containers.GenericContainer;
@@ -34,6 +35,12 @@ public class GlassFish510ContainerTest {
.withCopyToContainer(warFile, "/usr/local/glassfish5/glassfish/domains/domain1/autodeploy/app.war")
.waitingFor(Wait.forHttp("/app"))
.withExposedPorts(8080);
@BeforeAll
static void setup() {
container.waitingFor(Wait.forLogMessage(".*(deployed|done).*", 1));
}
@Test
void testJDK() {
String url = getUrl(container);
@@ -6,6 +6,7 @@ import com.reajason.javaweb.integration.VulTool;
import com.reajason.javaweb.integration.probe.DetectionTool;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.objectweb.asm.Opcodes;
import org.testcontainers.containers.GenericContainer;
@@ -35,6 +36,11 @@ public class GlassFish6ContainerTest {
.waitingFor(Wait.forHttp("/app"))
.withExposedPorts(8080);
@BeforeAll
static void setup() {
container.waitingFor(Wait.forLogMessage(".*(deployed|done).*", 1));
}
@Test
void testJDK() {
String url = getUrl(container);
@@ -7,6 +7,7 @@ import com.reajason.javaweb.integration.probe.DetectionTool;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.objectweb.asm.Opcodes;
import org.testcontainers.containers.GenericContainer;
@@ -33,9 +34,14 @@ public class GlassFish7ContainerTest {
@Container
public static final GenericContainer<?> container = new GenericContainer<>(imageName)
.withCopyToContainer(warJakartaFile, "/usr/local/glassfish7/glassfish/domains/domain1/autodeploy/app.war")
.waitingFor(Wait.forHttp("/app"))
.waitingFor(Wait.forLogMessage(".*JMXService.*", 1))
.withExposedPorts(8080);
@BeforeAll
static void setup() {
container.waitingFor(Wait.forHttp("/app/test"));
}
@AfterAll
public static void tearDown() {
System.out.println(container.getLogs());
@@ -7,6 +7,7 @@ import com.reajason.javaweb.integration.probe.DetectionTool;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.objectweb.asm.Opcodes;
import org.testcontainers.containers.GenericContainer;
@@ -35,6 +36,11 @@ public class Payara5201ContainerTest {
.waitingFor(Wait.forHttp("/app"))
.withExposedPorts(8080);
@BeforeAll
static void setup() {
container.waitingFor(Wait.forLogMessage(".*JMXService.*", 1));
}
@AfterAll
public static void tearDown() {
System.out.println(container.getLogs());
@@ -6,6 +6,7 @@ import com.reajason.javaweb.integration.VulTool;
import com.reajason.javaweb.integration.probe.DetectionTool;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.objectweb.asm.Opcodes;
import org.testcontainers.containers.GenericContainer;
@@ -34,6 +35,11 @@ public class Payara520225ContainerTest {
.waitingFor(Wait.forHttp("/app"))
.withExposedPorts(8080);
@BeforeAll
static void setup() {
container.waitingFor(Wait.forLogMessage(".*JMXService.*", 1));
}
@Test
void testJDK() {
String url = getUrl(container);
@@ -6,6 +6,7 @@ import com.reajason.javaweb.integration.VulTool;
import com.reajason.javaweb.integration.probe.DetectionTool;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.objectweb.asm.Opcodes;
import org.testcontainers.containers.GenericContainer;
@@ -32,9 +33,14 @@ public class Payara620222ContainerTest {
@Container
public static final GenericContainer<?> container = new GenericContainer<>(imageName)
.withCopyToContainer(warJakartaFile, "/usr/local/payara6/glassfish/domains/domain1/autodeploy/app.war")
.waitingFor(Wait.forHttp("/app"))
.waitingFor(Wait.forHttp("/app/test"))
.withExposedPorts(8080);
@BeforeAll
static void setup() {
container.waitingFor(Wait.forLogMessage(".*JMXService.*", 1));
}
@Test
void testJDK() {
String url = getUrl(container);