From ca4889d7482cb235697f13d9829ae855e7dbb464 Mon Sep 17 00:00:00 2001 From: Nikita Karpuk Date: Wed, 26 Apr 2023 11:54:32 +0200 Subject: [PATCH] Add waiting strategy to make sure that wiremock server up and running --- .../integrations/testcontainers/WireMockContainer.java | 8 ++++++++ 1 file changed, 8 insertions(+) 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"); }