diff --git a/docs/modules/nginx.md b/docs/modules/nginx.md index fb4270ba4a3..d0661330bb1 100644 --- a/docs/modules/nginx.md +++ b/docs/modules/nginx.md @@ -7,19 +7,19 @@ Nginx is a web server, reverse proxy and mail proxy and http cache. The following example shows how to start Nginx. -[Creating a Nginx container](../../modules/nginx/src/test/java/org/testcontainers/junit/SimpleNginxTest.java) inside_block:creatingContainer +[Creating a Nginx container](../../modules/nginx/src/test/java/org/testcontainers/nginx/NginxContainerTest.java) inside_block:creatingContainer How to add custom content to the Nginx server. -[Creating the static content to serve](../../modules/nginx/src/test/java/org/testcontainers/junit/SimpleNginxTest.java) inside_block:addCustomContent +[Creating the static content to serve](../../modules/nginx/src/test/java/org/testcontainers/nginx/NginxContainerTest.java) inside_block:addCustomContent And how to query the Nginx server for the custom content added. -[Creating the static content to serve](../../modules/nginx/src/test/java/org/testcontainers/junit/SimpleNginxTest.java) inside_block:getFromNginxServer +[Creating the static content to serve](../../modules/nginx/src/test/java/org/testcontainers/nginx/NginxContainerTest.java) inside_block:getFromNginxServer ## Adding this module to your project dependencies diff --git a/modules/nginx/src/main/java/org/testcontainers/containers/NginxContainer.java b/modules/nginx/src/main/java/org/testcontainers/containers/NginxContainer.java index 7f6b5b0f74c..d7c201e6474 100644 --- a/modules/nginx/src/main/java/org/testcontainers/containers/NginxContainer.java +++ b/modules/nginx/src/main/java/org/testcontainers/containers/NginxContainer.java @@ -7,6 +7,10 @@ import java.net.URL; import java.util.Set; +/** + * @deprecated use {@link org.testcontainers.nginx.NginxContainer} instead. + */ +@Deprecated public class NginxContainer extends GenericContainer { private static final int NGINX_DEFAULT_PORT = 80; diff --git a/modules/nginx/src/main/java/org/testcontainers/nginx/NginxContainer.java b/modules/nginx/src/main/java/org/testcontainers/nginx/NginxContainer.java new file mode 100644 index 00000000000..61ac3678bed --- /dev/null +++ b/modules/nginx/src/main/java/org/testcontainers/nginx/NginxContainer.java @@ -0,0 +1,30 @@ +package org.testcontainers.nginx; + +import org.testcontainers.containers.GenericContainer; +import org.testcontainers.utility.DockerImageName; + +import java.net.MalformedURLException; +import java.net.URL; + +public class NginxContainer extends GenericContainer { + + private static final int NGINX_DEFAULT_PORT = 80; + + private static final DockerImageName DEFAULT_IMAGE_NAME = DockerImageName.parse("nginx"); + + public NginxContainer(String dockerImageName) { + this(DockerImageName.parse(dockerImageName)); + } + + public NginxContainer(final DockerImageName dockerImageName) { + super(dockerImageName); + dockerImageName.assertCompatibleWith(DEFAULT_IMAGE_NAME); + + addExposedPort(NGINX_DEFAULT_PORT); + setCommand("nginx", "-g", "daemon off;"); + } + + public URL getBaseUrl(String scheme, int port) throws MalformedURLException { + return new URL(scheme + "://" + getHost() + ":" + getMappedPort(port)); + } +} diff --git a/modules/nginx/src/test/java/org/testcontainers/junit/SimpleNginxTest.java b/modules/nginx/src/test/java/org/testcontainers/nginx/NginxContainerTest.java similarity index 96% rename from modules/nginx/src/test/java/org/testcontainers/junit/SimpleNginxTest.java rename to modules/nginx/src/test/java/org/testcontainers/nginx/NginxContainerTest.java index 1c527c27a63..ec495a06d1c 100644 --- a/modules/nginx/src/test/java/org/testcontainers/junit/SimpleNginxTest.java +++ b/modules/nginx/src/test/java/org/testcontainers/nginx/NginxContainerTest.java @@ -1,9 +1,8 @@ -package org.testcontainers.junit; +package org.testcontainers.nginx; import lombok.Cleanup; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; -import org.testcontainers.containers.NginxContainer; import org.testcontainers.containers.wait.strategy.HttpWaitStrategy; import org.testcontainers.utility.DockerImageName; import org.testcontainers.utility.MountableFile; @@ -19,7 +18,7 @@ import static org.assertj.core.api.Assertions.assertThat; -class SimpleNginxTest { +class NginxContainerTest { private static final DockerImageName NGINX_IMAGE = DockerImageName.parse("nginx:1.27.0-alpine3.19-slim");