diff --git a/src/main/java/org/wiremock/integrations/testcontainers/WireMockContainer.java b/src/main/java/org/wiremock/integrations/testcontainers/WireMockContainer.java index f81dd99..e824abe 100644 --- a/src/main/java/org/wiremock/integrations/testcontainers/WireMockContainer.java +++ b/src/main/java/org/wiremock/integrations/testcontainers/WireMockContainer.java @@ -33,6 +33,8 @@ import java.util.stream.Stream; import org.testcontainers.containers.GenericContainer; +import org.testcontainers.containers.wait.strategy.Wait; +import org.testcontainers.containers.wait.strategy.WaitStrategy; import org.testcontainers.images.builder.Transferable; import org.testcontainers.shaded.com.google.common.io.Resources; import org.testcontainers.utility.MountableFile; @@ -51,6 +53,11 @@ public class WireMockContainer extends GenericContainer { private static final String EXTENSIONS_DIR = "/var/wiremock/extensions/"; + private static final WaitStrategy DEFAULT_WAITER = Wait + .forHttp("/__admin/mappings") + .withMethod("GET") + .forStatusCode(200); + private static final int PORT = 8080; private final StringBuilder wireMockArgs; @@ -193,6 +200,7 @@ public Integer getServerPort() { protected void configure() { super.configure(); withExposedPorts(PORT); + waitingFor(DEFAULT_WAITER); for (Stub stub : mappingStubs.values()) { withCopyToContainer(Transferable.of(stub.json), MAPPINGS_DIR + stub.name + ".json"); }