From d69fa6f0015bbb0ca90abac1c1a1b0d4a9638bd2 Mon Sep 17 00:00:00 2001 From: Lex Vorona Date: Wed, 8 Jul 2020 21:49:55 +0000 Subject: [PATCH 1/2] Fixes issue 2982. ElasticsearchContainer to wait for HTTP_OK response as a signal of being ready. --- .../testcontainers/elasticsearch/ElasticsearchContainer.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/modules/elasticsearch/src/main/java/org/testcontainers/elasticsearch/ElasticsearchContainer.java b/modules/elasticsearch/src/main/java/org/testcontainers/elasticsearch/ElasticsearchContainer.java index e9a0b95d7ed..a842f62d360 100644 --- a/modules/elasticsearch/src/main/java/org/testcontainers/elasticsearch/ElasticsearchContainer.java +++ b/modules/elasticsearch/src/main/java/org/testcontainers/elasticsearch/ElasticsearchContainer.java @@ -8,7 +8,6 @@ import java.time.Duration; import static java.net.HttpURLConnection.HTTP_OK; -import static java.net.HttpURLConnection.HTTP_UNAUTHORIZED; /** * Represents an elasticsearch docker instance which exposes by default port 9200 and 9300 (transport.tcp.port) @@ -52,7 +51,7 @@ public ElasticsearchContainer(String dockerImageName) { addExposedPorts(ELASTICSEARCH_DEFAULT_PORT, ELASTICSEARCH_DEFAULT_TCP_PORT); setWaitStrategy(new HttpWaitStrategy() .forPort(ELASTICSEARCH_DEFAULT_PORT) - .forStatusCodeMatching(response -> response == HTTP_OK || response == HTTP_UNAUTHORIZED) + .forStatusCode(HTTP_OK) .withStartupTimeout(Duration.ofMinutes(2))); } From 2a0eb91675494b8e8158537b9db6977d0e033e92 Mon Sep 17 00:00:00 2001 From: Lex Vorona Date: Tue, 14 Jul 2020 20:10:47 +0000 Subject: [PATCH 2/2] Use the dedicated health check endpoint instead of the root. --- .../org/testcontainers/elasticsearch/ElasticsearchContainer.java | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/elasticsearch/src/main/java/org/testcontainers/elasticsearch/ElasticsearchContainer.java b/modules/elasticsearch/src/main/java/org/testcontainers/elasticsearch/ElasticsearchContainer.java index a842f62d360..9b6c7cf7564 100644 --- a/modules/elasticsearch/src/main/java/org/testcontainers/elasticsearch/ElasticsearchContainer.java +++ b/modules/elasticsearch/src/main/java/org/testcontainers/elasticsearch/ElasticsearchContainer.java @@ -51,6 +51,7 @@ public ElasticsearchContainer(String dockerImageName) { addExposedPorts(ELASTICSEARCH_DEFAULT_PORT, ELASTICSEARCH_DEFAULT_TCP_PORT); setWaitStrategy(new HttpWaitStrategy() .forPort(ELASTICSEARCH_DEFAULT_PORT) + .forPath("/_cluster/health") .forStatusCode(HTTP_OK) .withStartupTimeout(Duration.ofMinutes(2))); }