From 481ebe468c3da0fdc4fd1eb3230659643c8bf511 Mon Sep 17 00:00:00 2001 From: Artyom Dubinin Date: Thu, 15 Jun 2023 13:35:30 +0300 Subject: [PATCH 1/3] Use add exposed ports instead of set exposed ports It's needed when you want to use not only default ports. For example it's usefull when you use metrics for TarantoolContainer. --- CHANGELOG.md | 1 + .../testcontainers/containers/TarantoolCartridgeContainer.java | 3 ++- .../java/org/testcontainers/containers/TarantoolContainer.java | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1d45f88..72b3f82 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ - Fix problem if topology isn't applied correctly - Bump testcontainers to 1.18.0 - Move rocks building in build phase +- Use add exposed ports instead of set exposed ports ## [0.5.4] - 2023-03-31 - Use tarantool image as base instead of centos in cartridge container diff --git a/src/main/java/org/testcontainers/containers/TarantoolCartridgeContainer.java b/src/main/java/org/testcontainers/containers/TarantoolCartridgeContainer.java index b9dd581..a150d0e 100644 --- a/src/main/java/org/testcontainers/containers/TarantoolCartridgeContainer.java +++ b/src/main/java/org/testcontainers/containers/TarantoolCartridgeContainer.java @@ -5,6 +5,7 @@ import org.testcontainers.containers.exceptions.CartridgeTopologyException; import org.testcontainers.images.builder.ImageFromDockerfile; +import org.testcontainers.shaded.org.apache.commons.lang3.ArrayUtils; import java.net.URL; import java.util.Arrays; @@ -463,7 +464,7 @@ protected void configure() { addFixedExposedPort(port, port); } } else { - withExposedPorts(instanceFileParser.getExposablePorts()); + addExposedPorts(ArrayUtils.toPrimitive(instanceFileParser.getExposablePorts())); } } diff --git a/src/main/java/org/testcontainers/containers/TarantoolContainer.java b/src/main/java/org/testcontainers/containers/TarantoolContainer.java index 588d797..8bd8b44 100644 --- a/src/main/java/org/testcontainers/containers/TarantoolContainer.java +++ b/src/main/java/org/testcontainers/containers/TarantoolContainer.java @@ -349,7 +349,7 @@ protected void configure() { if (useFixedPorts) { addFixedExposedPort(port, port); } else { - withExposedPorts(port); + addExposedPorts(port); } withCommand("tarantool", normalizePath( From 90641464a2c88e7e47ac50fa46e7fa3d8060af25 Mon Sep 17 00:00:00 2001 From: Artyom Dubinin Date: Thu, 15 Jun 2023 14:37:08 +0300 Subject: [PATCH 2/3] Add exposedPorts methods to use them in init chain --- .../containers/TarantoolCartridgeContainer.java | 10 ++++++++++ .../testcontainers/containers/TarantoolContainer.java | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/src/main/java/org/testcontainers/containers/TarantoolCartridgeContainer.java b/src/main/java/org/testcontainers/containers/TarantoolCartridgeContainer.java index a150d0e..4a01f74 100644 --- a/src/main/java/org/testcontainers/containers/TarantoolCartridgeContainer.java +++ b/src/main/java/org/testcontainers/containers/TarantoolCartridgeContainer.java @@ -217,6 +217,16 @@ private static ImageFromDockerfile withBuildArgs(ImageFromDockerfile image, Map< return image; } + public TarantoolCartridgeContainer withFixedExposedPort(int hostPort, int containerPort) { + super.addFixedExposedPort(hostPort, containerPort); + return this; + } + + public TarantoolCartridgeContainer withExposedPort(Integer port) { + super.addExposedPort(port); + return this; + } + private static Map mergeBuildArguments(Map buildArgs) { Map args = new HashMap<>(buildArgs); diff --git a/src/main/java/org/testcontainers/containers/TarantoolContainer.java b/src/main/java/org/testcontainers/containers/TarantoolContainer.java index 8bd8b44..2065ab2 100644 --- a/src/main/java/org/testcontainers/containers/TarantoolContainer.java +++ b/src/main/java/org/testcontainers/containers/TarantoolContainer.java @@ -166,6 +166,16 @@ public TarantoolContainer withPort(int port) { return this; } + public TarantoolContainer withFixedExposedPort(int hostPort, int containerPort) { + super.addFixedExposedPort(hostPort, containerPort); + return this; + } + + public TarantoolContainer withExposedPort(Integer port) { + super.addExposedPort(port); + return this; + } + @Override public String getHost() { return host; From 758a476b59e73d85573175f46656023ea2bf07df Mon Sep 17 00:00:00 2001 From: Artyom Dubinin Date: Thu, 15 Jun 2023 18:12:53 +0300 Subject: [PATCH 3/3] Update CHANGELOG.md Co-authored-by: Dmitry Kasimovskiy <98410443+dkasimovskiy@users.noreply.github.com> --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 72b3f82..987f60f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ - Fix problem if topology isn't applied correctly - Bump testcontainers to 1.18.0 - Move rocks building in build phase -- Use add exposed ports instead of set exposed ports +- Use "addExposedPorts" instead of "withExposedPorts" ## [0.5.4] - 2023-03-31 - Use tarantool image as base instead of centos in cartridge container