diff --git a/modules/db2/src/main/java/org/testcontainers/containers/Db2Container.java b/modules/db2/src/main/java/org/testcontainers/containers/Db2Container.java index 29e2ce8aa07..333a2e709c3 100644 --- a/modules/db2/src/main/java/org/testcontainers/containers/Db2Container.java +++ b/modules/db2/src/main/java/org/testcontainers/containers/Db2Container.java @@ -6,7 +6,6 @@ import java.time.Duration; import java.time.temporal.ChronoUnit; -import java.util.HashSet; import java.util.Set; public class Db2Container extends JdbcDatabaseContainer { @@ -54,9 +53,14 @@ public Db2Container(final DockerImageName dockerImageName) { addExposedPort(DB2_PORT); } + /** + * @return the ports on which to check if the container is ready + * @deprecated use {@link #getLivenessCheckPortNumbers()} instead + */ @Override + @Deprecated protected Set getLivenessCheckPorts() { - return new HashSet<>(getMappedPort(DB2_PORT)); + return super.getLivenessCheckPorts(); } @Override diff --git a/modules/db2/src/test/java/org/testcontainers/junit/db2/SimpleDb2Test.java b/modules/db2/src/test/java/org/testcontainers/junit/db2/SimpleDb2Test.java index 2c2c4cb2f09..ae35a8ee77c 100644 --- a/modules/db2/src/test/java/org/testcontainers/junit/db2/SimpleDb2Test.java +++ b/modules/db2/src/test/java/org/testcontainers/junit/db2/SimpleDb2Test.java @@ -21,6 +21,7 @@ public void testSimple() throws SQLException { int resultSetInt = resultSet.getInt(1); assertThat(resultSetInt).as("A basic SELECT query succeeds").isEqualTo(1); + assertHasCorrectExposedAndLivenessCheckPorts(db2); } } @@ -37,4 +38,9 @@ public void testWithAdditionalUrlParamInJdbcUrl() { assertThat(jdbcUrl).contains(":sslConnection=false;"); } } + + private void assertHasCorrectExposedAndLivenessCheckPorts(Db2Container db2) { + assertThat(db2.getExposedPorts()).containsExactly(Db2Container.DB2_PORT); + assertThat(db2.getLivenessCheckPortNumbers()).containsExactly(db2.getMappedPort(Db2Container.DB2_PORT)); + } } diff --git a/modules/mssqlserver/src/main/java/org/testcontainers/containers/MSSQLServerContainer.java b/modules/mssqlserver/src/main/java/org/testcontainers/containers/MSSQLServerContainer.java index 532316fb967..8ab3c1113a2 100644 --- a/modules/mssqlserver/src/main/java/org/testcontainers/containers/MSSQLServerContainer.java +++ b/modules/mssqlserver/src/main/java/org/testcontainers/containers/MSSQLServerContainer.java @@ -1,6 +1,5 @@ package org.testcontainers.containers; -import com.google.common.collect.Sets; import org.testcontainers.utility.DockerImageName; import org.testcontainers.utility.LicenseAcceptance; @@ -64,7 +63,7 @@ public MSSQLServerContainer(final DockerImageName dockerImageName) { @Override public Set getLivenessCheckPortNumbers() { - return Sets.newHashSet(MS_SQL_SERVER_PORT); + return super.getLivenessCheckPortNumbers(); } @Override diff --git a/modules/mssqlserver/src/test/java/org/testcontainers/junit/mssqlserver/SimpleMSSQLServerTest.java b/modules/mssqlserver/src/test/java/org/testcontainers/junit/mssqlserver/SimpleMSSQLServerTest.java index 15edbaa2ca1..2827544cade 100644 --- a/modules/mssqlserver/src/test/java/org/testcontainers/junit/mssqlserver/SimpleMSSQLServerTest.java +++ b/modules/mssqlserver/src/test/java/org/testcontainers/junit/mssqlserver/SimpleMSSQLServerTest.java @@ -25,6 +25,7 @@ public void testSimple() throws SQLException { int resultSetInt = resultSet.getInt(1); assertThat(resultSetInt).as("A basic SELECT query succeeds").isEqualTo(1); + assertHasCorrectExposedAndLivenessCheckPorts(mssqlServer); } } @@ -64,4 +65,10 @@ public void testSetupDatabase() throws SQLException { assertThat(resultSetInt).as("A basic SELECT query succeeds").isEqualTo(3); } } + + private void assertHasCorrectExposedAndLivenessCheckPorts(MSSQLServerContainer mssqlServer) { + assertThat(mssqlServer.getExposedPorts()).containsExactly(MSSQLServerContainer.MS_SQL_SERVER_PORT); + assertThat(mssqlServer.getLivenessCheckPortNumbers()) + .containsExactly(mssqlServer.getMappedPort(MSSQLServerContainer.MS_SQL_SERVER_PORT)); + } } diff --git a/modules/mysql/src/main/java/org/testcontainers/containers/MySQLContainer.java b/modules/mysql/src/main/java/org/testcontainers/containers/MySQLContainer.java index 14206018954..316e709995c 100644 --- a/modules/mysql/src/main/java/org/testcontainers/containers/MySQLContainer.java +++ b/modules/mysql/src/main/java/org/testcontainers/containers/MySQLContainer.java @@ -3,7 +3,6 @@ import org.jetbrains.annotations.NotNull; import org.testcontainers.utility.DockerImageName; -import java.util.HashSet; import java.util.Set; /** @@ -56,10 +55,15 @@ public MySQLContainer(final DockerImageName dockerImageName) { addExposedPort(MYSQL_PORT); } + /** + * @return the ports on which to check if the container is ready + * @deprecated use {@link #getLivenessCheckPortNumbers()} instead + */ @NotNull @Override + @Deprecated protected Set getLivenessCheckPorts() { - return new HashSet<>(getMappedPort(MYSQL_PORT)); + return super.getLivenessCheckPorts(); } @Override diff --git a/modules/mysql/src/test/java/org/testcontainers/junit/mysql/SimpleMySQLTest.java b/modules/mysql/src/test/java/org/testcontainers/junit/mysql/SimpleMySQLTest.java index 146010058ac..f60712e7123 100644 --- a/modules/mysql/src/test/java/org/testcontainers/junit/mysql/SimpleMySQLTest.java +++ b/modules/mysql/src/test/java/org/testcontainers/junit/mysql/SimpleMySQLTest.java @@ -57,6 +57,7 @@ public void testSimple() throws SQLException { int resultSetInt = resultSet.getInt(1); assertThat(resultSetInt).as("A basic SELECT query succeeds").isEqualTo(1); + assertHasCorrectExposedAndLivenessCheckPorts(mysql); } } @@ -237,4 +238,9 @@ public void testWithAdditionalUrlParamInJdbcUrl() { mysql.stop(); } } + + private void assertHasCorrectExposedAndLivenessCheckPorts(MySQLContainer mysql) { + assertThat(mysql.getExposedPorts()).containsExactly(MySQLContainer.MYSQL_PORT); + assertThat(mysql.getLivenessCheckPortNumbers()).containsExactly(mysql.getMappedPort(MySQLContainer.MYSQL_PORT)); + } } 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 3e7a2062fd0..b97992a5684 100644 --- a/modules/nginx/src/main/java/org/testcontainers/containers/NginxContainer.java +++ b/modules/nginx/src/main/java/org/testcontainers/containers/NginxContainer.java @@ -6,7 +6,6 @@ import java.net.MalformedURLException; import java.net.URL; -import java.util.Collections; import java.util.Set; /** @@ -42,10 +41,15 @@ public NginxContainer(final DockerImageName dockerImageName) { setCommand("nginx", "-g", "daemon off;"); } + /** + * @return the ports on which to check if the container is ready + * @deprecated use {@link #getLivenessCheckPortNumbers()} instead + */ @NotNull @Override + @Deprecated protected Set getLivenessCheckPorts() { - return Collections.singleton(getMappedPort(80)); + return super.getLivenessCheckPorts(); } public URL getBaseUrl(String scheme, int port) throws MalformedURLException { diff --git a/modules/nginx/src/test/java/org/testcontainers/junit/SimpleNginxTest.java b/modules/nginx/src/test/java/org/testcontainers/junit/SimpleNginxTest.java index 24e913cf281..abfbb663207 100644 --- a/modules/nginx/src/test/java/org/testcontainers/junit/SimpleNginxTest.java +++ b/modules/nginx/src/test/java/org/testcontainers/junit/SimpleNginxTest.java @@ -58,6 +58,12 @@ public void testSimple() throws Exception { .as("An HTTP GET from the Nginx server returns the index.html from the custom content directory") .contains("Hello World!"); // } + assertHasCorrectExposedAndLivenessCheckPorts(nginx); + } + + private void assertHasCorrectExposedAndLivenessCheckPorts(NginxContainer nginxContainer) throws Exception { + assertThat(nginxContainer.getExposedPorts()).containsExactly(80); + assertThat(nginxContainer.getLivenessCheckPortNumbers()).containsExactly(nginxContainer.getMappedPort(80)); } private static String responseFromNginx(URL baseUrl) throws IOException { diff --git a/modules/postgresql/src/main/java/org/testcontainers/containers/PostgreSQLContainer.java b/modules/postgresql/src/main/java/org/testcontainers/containers/PostgreSQLContainer.java index 3b36b61ea77..d3ff65ee351 100644 --- a/modules/postgresql/src/main/java/org/testcontainers/containers/PostgreSQLContainer.java +++ b/modules/postgresql/src/main/java/org/testcontainers/containers/PostgreSQLContainer.java @@ -6,7 +6,6 @@ import java.time.Duration; import java.time.temporal.ChronoUnit; -import java.util.Collections; import java.util.Set; /** @@ -62,10 +61,15 @@ public PostgreSQLContainer(final DockerImageName dockerImageName) { addExposedPort(POSTGRESQL_PORT); } + /** + * @return the ports on which to check if the container is ready + * @deprecated use {@link #getLivenessCheckPortNumbers()} instead + */ @NotNull @Override + @Deprecated protected Set getLivenessCheckPorts() { - return Collections.singleton(getMappedPort(POSTGRESQL_PORT)); + return super.getLivenessCheckPorts(); } @Override diff --git a/modules/postgresql/src/test/java/org/testcontainers/junit/postgresql/SimplePostgreSQLTest.java b/modules/postgresql/src/test/java/org/testcontainers/junit/postgresql/SimplePostgreSQLTest.java index 2a7db242421..84beb779fa4 100644 --- a/modules/postgresql/src/test/java/org/testcontainers/junit/postgresql/SimplePostgreSQLTest.java +++ b/modules/postgresql/src/test/java/org/testcontainers/junit/postgresql/SimplePostgreSQLTest.java @@ -26,6 +26,7 @@ public void testSimple() throws SQLException { ResultSet resultSet = performQuery(postgres, "SELECT 1"); int resultSetInt = resultSet.getInt(1); assertThat(resultSetInt).as("A basic SELECT query succeeds").isEqualTo(1); + assertHasCorrectExposedAndLivenessCheckPorts(postgres); } } @@ -86,4 +87,10 @@ public void testWithAdditionalUrlParamInJdbcUrl() { assertThat(jdbcUrl).contains("charSet=UNICODE"); } } + + private void assertHasCorrectExposedAndLivenessCheckPorts(PostgreSQLContainer postgres) { + assertThat(postgres.getExposedPorts()).containsExactly(PostgreSQLContainer.POSTGRESQL_PORT); + assertThat(postgres.getLivenessCheckPortNumbers()) + .containsExactly(postgres.getMappedPort(PostgreSQLContainer.POSTGRESQL_PORT)); + } } diff --git a/modules/presto/src/main/java/org/testcontainers/containers/PrestoContainer.java b/modules/presto/src/main/java/org/testcontainers/containers/PrestoContainer.java index e73f6cc0f6b..5c89682643a 100644 --- a/modules/presto/src/main/java/org/testcontainers/containers/PrestoContainer.java +++ b/modules/presto/src/main/java/org/testcontainers/containers/PrestoContainer.java @@ -9,7 +9,6 @@ import java.sql.SQLException; import java.time.Duration; import java.time.temporal.ChronoUnit; -import java.util.HashSet; import java.util.Set; /** @@ -56,10 +55,15 @@ public PrestoContainer(final DockerImageName dockerImageName) { addExposedPort(PRESTO_PORT); } + /** + * @return the ports on which to check if the container is ready + * @deprecated use {@link #getLivenessCheckPortNumbers()} instead + */ @NotNull @Override + @Deprecated protected Set getLivenessCheckPorts() { - return new HashSet<>(getMappedPort(PRESTO_PORT)); + return super.getLivenessCheckPorts(); } @Override diff --git a/modules/presto/src/test/java/org/testcontainers/containers/PrestoContainerTest.java b/modules/presto/src/test/java/org/testcontainers/containers/PrestoContainerTest.java index 721186807aa..0e86b587c50 100644 --- a/modules/presto/src/test/java/org/testcontainers/containers/PrestoContainerTest.java +++ b/modules/presto/src/test/java/org/testcontainers/containers/PrestoContainerTest.java @@ -32,6 +32,7 @@ public void testSimple() throws Exception { assertThat(resultSet.getString("node_version")) .as("Presto version") .isEqualTo(PrestoContainer.DEFAULT_TAG); + assertHasCorrectExposedAndLivenessCheckPorts(prestoSql); } } } @@ -149,4 +150,10 @@ public void testTcJdbcUri() throws Exception { .isEqualTo(Connection.TRANSACTION_READ_UNCOMMITTED); } } + + private void assertHasCorrectExposedAndLivenessCheckPorts(PrestoContainer prestoSql) { + assertThat(prestoSql.getExposedPorts()).containsExactly(PrestoContainer.PRESTO_PORT); + assertThat(prestoSql.getLivenessCheckPortNumbers()) + .containsExactly(prestoSql.getMappedPort(PrestoContainer.PRESTO_PORT)); + } } diff --git a/modules/tidb/src/main/java/org/testcontainers/tidb/TiDBContainer.java b/modules/tidb/src/main/java/org/testcontainers/tidb/TiDBContainer.java index f8030fd2422..c78590d8393 100644 --- a/modules/tidb/src/main/java/org/testcontainers/tidb/TiDBContainer.java +++ b/modules/tidb/src/main/java/org/testcontainers/tidb/TiDBContainer.java @@ -6,7 +6,6 @@ import org.testcontainers.utility.DockerImageName; import java.time.Duration; -import java.util.HashSet; import java.util.Set; /** @@ -51,10 +50,15 @@ public TiDBContainer(final DockerImageName dockerImageName) { ); } + /** + * @return the ports on which to check if the container is ready + * @deprecated use {@link #getLivenessCheckPortNumbers()} instead + */ @NotNull @Override + @Deprecated protected Set getLivenessCheckPorts() { - return new HashSet<>(getMappedPort(TIDB_PORT)); + return super.getLivenessCheckPorts(); } @Override diff --git a/modules/tidb/src/test/java/org/testcontainers/junit/tidb/SimpleTiDBTest.java b/modules/tidb/src/test/java/org/testcontainers/junit/tidb/SimpleTiDBTest.java index 714c9854f39..6b4429afe75 100644 --- a/modules/tidb/src/test/java/org/testcontainers/junit/tidb/SimpleTiDBTest.java +++ b/modules/tidb/src/test/java/org/testcontainers/junit/tidb/SimpleTiDBTest.java @@ -21,6 +21,7 @@ public void testSimple() throws SQLException { int resultSetInt = resultSet.getInt(1); assertThat(resultSetInt).isEqualTo(1); + assertHasCorrectExposedAndLivenessCheckPorts(tidb); } } @@ -51,4 +52,13 @@ public void testWithAdditionalUrlParamInJdbcUrl() { tidb.stop(); } } + + private void assertHasCorrectExposedAndLivenessCheckPorts(TiDBContainer tidb) { + Integer tidbPort = 4000; + Integer restApiPort = 10080; + + assertThat(tidb.getExposedPorts()).containsExactlyInAnyOrder(tidbPort, restApiPort); + assertThat(tidb.getLivenessCheckPortNumbers()) + .containsExactlyInAnyOrder(tidb.getMappedPort(tidbPort), tidb.getMappedPort(restApiPort)); + } } diff --git a/modules/trino/src/main/java/org/testcontainers/containers/TrinoContainer.java b/modules/trino/src/main/java/org/testcontainers/containers/TrinoContainer.java index 9ed18e96d28..21171fd2c15 100644 --- a/modules/trino/src/main/java/org/testcontainers/containers/TrinoContainer.java +++ b/modules/trino/src/main/java/org/testcontainers/containers/TrinoContainer.java @@ -7,7 +7,6 @@ import java.sql.Connection; import java.sql.SQLException; -import java.util.HashSet; import java.util.Set; public class TrinoContainer extends JdbcDatabaseContainer { @@ -37,10 +36,15 @@ public TrinoContainer(final DockerImageName dockerImageName) { addExposedPort(TRINO_PORT); } + /** + * @return the ports on which to check if the container is ready + * @deprecated use {@link #getLivenessCheckPortNumbers()} instead + */ @NotNull @Override + @Deprecated protected Set getLivenessCheckPorts() { - return new HashSet<>(getMappedPort(TRINO_PORT)); + return super.getLivenessCheckPorts(); } @Override diff --git a/modules/trino/src/test/java/org/testcontainers/containers/TrinoContainerTest.java b/modules/trino/src/test/java/org/testcontainers/containers/TrinoContainerTest.java index a58944946f0..6ef733ca972 100644 --- a/modules/trino/src/test/java/org/testcontainers/containers/TrinoContainerTest.java +++ b/modules/trino/src/test/java/org/testcontainers/containers/TrinoContainerTest.java @@ -24,6 +24,7 @@ public void testSimple() throws Exception { assertThat(resultSet.getString("node_version")) .as("Trino version") .isEqualTo(TrinoContainer.DEFAULT_TAG); + assertContainerHasCorrectExposedAndLivenessCheckPorts(trino); } } } @@ -61,4 +62,9 @@ public void testInitScript() throws Exception { } } } + + private void assertContainerHasCorrectExposedAndLivenessCheckPorts(TrinoContainer trino) { + assertThat(trino.getExposedPorts()).containsExactly(8080); + assertThat(trino.getLivenessCheckPortNumbers()).containsExactly(trino.getMappedPort(8080)); + } }