Skip to content

Commit f54a29a

Browse files
aidando73kiview
andauthored
getLivenessCheckPortNumbers() should return mapped port (#5734)
Co-authored-by: Kevin Wittek <[email protected]>
1 parent 9847d59 commit f54a29a

File tree

16 files changed

+98
-16
lines changed

16 files changed

+98
-16
lines changed

modules/db2/src/main/java/org/testcontainers/containers/Db2Container.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
import java.time.Duration;
88
import java.time.temporal.ChronoUnit;
9-
import java.util.HashSet;
109
import java.util.Set;
1110

1211
public class Db2Container extends JdbcDatabaseContainer<Db2Container> {
@@ -54,9 +53,14 @@ public Db2Container(final DockerImageName dockerImageName) {
5453
addExposedPort(DB2_PORT);
5554
}
5655

56+
/**
57+
* @return the ports on which to check if the container is ready
58+
* @deprecated use {@link #getLivenessCheckPortNumbers()} instead
59+
*/
5760
@Override
61+
@Deprecated
5862
protected Set<Integer> getLivenessCheckPorts() {
59-
return new HashSet<>(getMappedPort(DB2_PORT));
63+
return super.getLivenessCheckPorts();
6064
}
6165

6266
@Override

modules/db2/src/test/java/org/testcontainers/junit/db2/SimpleDb2Test.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ public void testSimple() throws SQLException {
2121

2222
int resultSetInt = resultSet.getInt(1);
2323
assertThat(resultSetInt).as("A basic SELECT query succeeds").isEqualTo(1);
24+
assertHasCorrectExposedAndLivenessCheckPorts(db2);
2425
}
2526
}
2627

@@ -37,4 +38,9 @@ public void testWithAdditionalUrlParamInJdbcUrl() {
3738
assertThat(jdbcUrl).contains(":sslConnection=false;");
3839
}
3940
}
41+
42+
private void assertHasCorrectExposedAndLivenessCheckPorts(Db2Container db2) {
43+
assertThat(db2.getExposedPorts()).containsExactly(Db2Container.DB2_PORT);
44+
assertThat(db2.getLivenessCheckPortNumbers()).containsExactly(db2.getMappedPort(Db2Container.DB2_PORT));
45+
}
4046
}

modules/mssqlserver/src/main/java/org/testcontainers/containers/MSSQLServerContainer.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package org.testcontainers.containers;
22

3-
import com.google.common.collect.Sets;
43
import org.testcontainers.utility.DockerImageName;
54
import org.testcontainers.utility.LicenseAcceptance;
65

@@ -64,7 +63,7 @@ public MSSQLServerContainer(final DockerImageName dockerImageName) {
6463

6564
@Override
6665
public Set<Integer> getLivenessCheckPortNumbers() {
67-
return Sets.newHashSet(MS_SQL_SERVER_PORT);
66+
return super.getLivenessCheckPortNumbers();
6867
}
6968

7069
@Override

modules/mssqlserver/src/test/java/org/testcontainers/junit/mssqlserver/SimpleMSSQLServerTest.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ public void testSimple() throws SQLException {
2525

2626
int resultSetInt = resultSet.getInt(1);
2727
assertThat(resultSetInt).as("A basic SELECT query succeeds").isEqualTo(1);
28+
assertHasCorrectExposedAndLivenessCheckPorts(mssqlServer);
2829
}
2930
}
3031

@@ -64,4 +65,10 @@ public void testSetupDatabase() throws SQLException {
6465
assertThat(resultSetInt).as("A basic SELECT query succeeds").isEqualTo(3);
6566
}
6667
}
68+
69+
private void assertHasCorrectExposedAndLivenessCheckPorts(MSSQLServerContainer<?> mssqlServer) {
70+
assertThat(mssqlServer.getExposedPorts()).containsExactly(MSSQLServerContainer.MS_SQL_SERVER_PORT);
71+
assertThat(mssqlServer.getLivenessCheckPortNumbers())
72+
.containsExactly(mssqlServer.getMappedPort(MSSQLServerContainer.MS_SQL_SERVER_PORT));
73+
}
6774
}

modules/mysql/src/main/java/org/testcontainers/containers/MySQLContainer.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import org.jetbrains.annotations.NotNull;
44
import org.testcontainers.utility.DockerImageName;
55

6-
import java.util.HashSet;
76
import java.util.Set;
87

98
/**
@@ -56,10 +55,15 @@ public MySQLContainer(final DockerImageName dockerImageName) {
5655
addExposedPort(MYSQL_PORT);
5756
}
5857

58+
/**
59+
* @return the ports on which to check if the container is ready
60+
* @deprecated use {@link #getLivenessCheckPortNumbers()} instead
61+
*/
5962
@NotNull
6063
@Override
64+
@Deprecated
6165
protected Set<Integer> getLivenessCheckPorts() {
62-
return new HashSet<>(getMappedPort(MYSQL_PORT));
66+
return super.getLivenessCheckPorts();
6367
}
6468

6569
@Override

modules/mysql/src/test/java/org/testcontainers/junit/mysql/SimpleMySQLTest.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ public void testSimple() throws SQLException {
5757
int resultSetInt = resultSet.getInt(1);
5858

5959
assertThat(resultSetInt).as("A basic SELECT query succeeds").isEqualTo(1);
60+
assertHasCorrectExposedAndLivenessCheckPorts(mysql);
6061
}
6162
}
6263

@@ -237,4 +238,9 @@ public void testWithAdditionalUrlParamInJdbcUrl() {
237238
mysql.stop();
238239
}
239240
}
241+
242+
private void assertHasCorrectExposedAndLivenessCheckPorts(MySQLContainer<?> mysql) {
243+
assertThat(mysql.getExposedPorts()).containsExactly(MySQLContainer.MYSQL_PORT);
244+
assertThat(mysql.getLivenessCheckPortNumbers()).containsExactly(mysql.getMappedPort(MySQLContainer.MYSQL_PORT));
245+
}
240246
}

modules/nginx/src/main/java/org/testcontainers/containers/NginxContainer.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
import java.net.MalformedURLException;
88
import java.net.URL;
9-
import java.util.Collections;
109
import java.util.Set;
1110

1211
/**
@@ -42,10 +41,15 @@ public NginxContainer(final DockerImageName dockerImageName) {
4241
setCommand("nginx", "-g", "daemon off;");
4342
}
4443

44+
/**
45+
* @return the ports on which to check if the container is ready
46+
* @deprecated use {@link #getLivenessCheckPortNumbers()} instead
47+
*/
4548
@NotNull
4649
@Override
50+
@Deprecated
4751
protected Set<Integer> getLivenessCheckPorts() {
48-
return Collections.singleton(getMappedPort(80));
52+
return super.getLivenessCheckPorts();
4953
}
5054

5155
public URL getBaseUrl(String scheme, int port) throws MalformedURLException {

modules/nginx/src/test/java/org/testcontainers/junit/SimpleNginxTest.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,12 @@ public void testSimple() throws Exception {
5858
.as("An HTTP GET from the Nginx server returns the index.html from the custom content directory")
5959
.contains("Hello World!");
6060
// }
61+
assertHasCorrectExposedAndLivenessCheckPorts(nginx);
62+
}
63+
64+
private void assertHasCorrectExposedAndLivenessCheckPorts(NginxContainer<?> nginxContainer) throws Exception {
65+
assertThat(nginxContainer.getExposedPorts()).containsExactly(80);
66+
assertThat(nginxContainer.getLivenessCheckPortNumbers()).containsExactly(nginxContainer.getMappedPort(80));
6167
}
6268

6369
private static String responseFromNginx(URL baseUrl) throws IOException {

modules/postgresql/src/main/java/org/testcontainers/containers/PostgreSQLContainer.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
import java.time.Duration;
88
import java.time.temporal.ChronoUnit;
9-
import java.util.Collections;
109
import java.util.Set;
1110

1211
/**
@@ -62,10 +61,15 @@ public PostgreSQLContainer(final DockerImageName dockerImageName) {
6261
addExposedPort(POSTGRESQL_PORT);
6362
}
6463

64+
/**
65+
* @return the ports on which to check if the container is ready
66+
* @deprecated use {@link #getLivenessCheckPortNumbers()} instead
67+
*/
6568
@NotNull
6669
@Override
70+
@Deprecated
6771
protected Set<Integer> getLivenessCheckPorts() {
68-
return Collections.singleton(getMappedPort(POSTGRESQL_PORT));
72+
return super.getLivenessCheckPorts();
6973
}
7074

7175
@Override

modules/postgresql/src/test/java/org/testcontainers/junit/postgresql/SimplePostgreSQLTest.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ public void testSimple() throws SQLException {
2626
ResultSet resultSet = performQuery(postgres, "SELECT 1");
2727
int resultSetInt = resultSet.getInt(1);
2828
assertThat(resultSetInt).as("A basic SELECT query succeeds").isEqualTo(1);
29+
assertHasCorrectExposedAndLivenessCheckPorts(postgres);
2930
}
3031
}
3132

@@ -86,4 +87,10 @@ public void testWithAdditionalUrlParamInJdbcUrl() {
8687
assertThat(jdbcUrl).contains("charSet=UNICODE");
8788
}
8889
}
90+
91+
private void assertHasCorrectExposedAndLivenessCheckPorts(PostgreSQLContainer<?> postgres) {
92+
assertThat(postgres.getExposedPorts()).containsExactly(PostgreSQLContainer.POSTGRESQL_PORT);
93+
assertThat(postgres.getLivenessCheckPortNumbers())
94+
.containsExactly(postgres.getMappedPort(PostgreSQLContainer.POSTGRESQL_PORT));
95+
}
8996
}

0 commit comments

Comments
 (0)