From 9083a52bdd6a0ef911173a4f5a8415a93002ca45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edd=C3=BA=20Mel=C3=A9ndez?= Date: Mon, 14 Oct 2024 21:55:47 -0600 Subject: [PATCH] Add ComposeContainer test to junit-jupiter module --- .../junit/jupiter/ComposeContainerTests.java | 22 ++++-------- .../jupiter/DockerComposeContainerTests.java | 35 +++++++++++++++++++ 2 files changed, 41 insertions(+), 16 deletions(-) create mode 100644 modules/junit-jupiter/src/test/java/org/testcontainers/junit/jupiter/DockerComposeContainerTests.java diff --git a/modules/junit-jupiter/src/test/java/org/testcontainers/junit/jupiter/ComposeContainerTests.java b/modules/junit-jupiter/src/test/java/org/testcontainers/junit/jupiter/ComposeContainerTests.java index 866b76df301..a60b24a23d2 100644 --- a/modules/junit-jupiter/src/test/java/org/testcontainers/junit/jupiter/ComposeContainerTests.java +++ b/modules/junit-jupiter/src/test/java/org/testcontainers/junit/jupiter/ComposeContainerTests.java @@ -4,9 +4,8 @@ import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.HttpClientBuilder; -import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.testcontainers.containers.DockerComposeContainer; +import org.testcontainers.containers.ComposeContainer; import org.testcontainers.containers.wait.strategy.Wait; import java.io.File; @@ -17,25 +16,16 @@ class ComposeContainerTests { @Container - private DockerComposeContainer composeContainer = new DockerComposeContainer( - new File("src/test/resources/docker-compose.yml") - ) - .withExposedService("whoami_1", 80, Wait.forHttp("/")); - - private String host; - - private int port; - - @BeforeEach - void setup() { - host = composeContainer.getServiceHost("whoami_1", 80); - port = composeContainer.getServicePort("whoami_1", 80); - } + private ComposeContainer composeContainer = new ComposeContainer(new File("src/test/resources/docker-compose.yml")) + .withExposedService("whoami-1", 80, Wait.forHttp("/")); @Test void running_compose_defined_container_is_accessible_on_configured_port() throws Exception { HttpClient client = HttpClientBuilder.create().build(); + String host = composeContainer.getServiceHost("whoami-1", 80); + int port = composeContainer.getServicePort("whoami-1", 80); + HttpResponse response = client.execute(new HttpGet("http://" + host + ":" + port)); assertThat(response.getStatusLine().getStatusCode()).isEqualTo(200); diff --git a/modules/junit-jupiter/src/test/java/org/testcontainers/junit/jupiter/DockerComposeContainerTests.java b/modules/junit-jupiter/src/test/java/org/testcontainers/junit/jupiter/DockerComposeContainerTests.java new file mode 100644 index 00000000000..7a43ed67a7d --- /dev/null +++ b/modules/junit-jupiter/src/test/java/org/testcontainers/junit/jupiter/DockerComposeContainerTests.java @@ -0,0 +1,35 @@ +package org.testcontainers.junit.jupiter; + +import org.apache.http.HttpResponse; +import org.apache.http.client.HttpClient; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.impl.client.HttpClientBuilder; +import org.junit.jupiter.api.Test; +import org.testcontainers.containers.DockerComposeContainer; +import org.testcontainers.containers.wait.strategy.Wait; + +import java.io.File; + +import static org.assertj.core.api.Assertions.assertThat; + +@Testcontainers +class DockerComposeContainerTests { + + @Container + private DockerComposeContainer composeContainer = new DockerComposeContainer( + new File("src/test/resources/docker-compose.yml") + ) + .withExposedService("whoami_1", 80, Wait.forHttp("/")); + + @Test + void running_compose_defined_container_is_accessible_on_configured_port() throws Exception { + HttpClient client = HttpClientBuilder.create().build(); + + String host = composeContainer.getServiceHost("whoami_1", 80); + int port = composeContainer.getServicePort("whoami_1", 80); + + HttpResponse response = client.execute(new HttpGet("http://" + host + ":" + port)); + + assertThat(response.getStatusLine().getStatusCode()).isEqualTo(200); + } +}