diff --git a/core/src/main/java/org/testcontainers/containers/GenericContainer.java b/core/src/main/java/org/testcontainers/containers/GenericContainer.java index a4276a09c9a..14f09448817 100644 --- a/core/src/main/java/org/testcontainers/containers/GenericContainer.java +++ b/core/src/main/java/org/testcontainers/containers/GenericContainer.java @@ -42,7 +42,7 @@ import java.util.function.Consumer; import java.util.stream.Collectors; -import static java.util.Arrays.asList; +import static com.google.common.collect.Lists.newArrayList; import static org.testcontainers.containers.output.OutputFrame.OutputType.STDERR; import static org.testcontainers.containers.output.OutputFrame.OutputType.STDOUT; import static org.testcontainers.utility.CommandLine.runShellCommand; @@ -554,7 +554,7 @@ protected void finished(Description description) { */ @Override public SELF withExposedPorts(Integer... ports) { - this.setExposedPorts(asList(ports)); + this.setExposedPorts(newArrayList(ports)); return self(); } diff --git a/core/src/test/java/org/testcontainers/junit/GenericContainerRuleTest.java b/core/src/test/java/org/testcontainers/junit/GenericContainerRuleTest.java index b2a4d753b2d..b5ba5e1d0ed 100644 --- a/core/src/test/java/org/testcontainers/junit/GenericContainerRuleTest.java +++ b/core/src/test/java/org/testcontainers/junit/GenericContainerRuleTest.java @@ -23,6 +23,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; +import static org.hamcrest.CoreMatchers.equalTo; import static org.rnorth.visibleassertions.VisibleAssertions.*; import static org.testcontainers.containers.BindMode.READ_ONLY; import static org.testcontainers.containers.BindMode.READ_WRITE; @@ -338,4 +339,12 @@ private BufferedReader getReaderForContainerPort80(GenericContainer container) { return new BufferedReader(new InputStreamReader(socket.getInputStream())); }); } + + @Test + public void addExposedPortAfterWithExposedPortsTest() { + redis.addExposedPort(8987); + assertThat("Both ports should be exposed", redis.getExposedPorts().size(), equalTo(2)); + assertTrue("withExposedPort should be exposed", redis.getExposedPorts().contains(REDIS_PORT)); + assertTrue("addExposedPort should be exposed", redis.getExposedPorts().contains(8987)); + } }