Skip to content

Commit ea5e2a7

Browse files
committed
fix: return mapped port from MariaDBContainer.getLivenessCheckPortNumbers
MariaDBContainer.getLivenessCheckPortNumbers() returned the hardcoded internal port (3306) instead of the mapped external port. This was originally fixed for other containers in a prior PR but MariaDB was missed. The new MariaDBContainer class then copied the same buggy implementation. Delegate to super.getLivenessCheckPortNumbers() which correctly maps internal ports to external mapped ports via getMappedPort(). Applied to both: - org.testcontainers.mariadb.MariaDBContainer (current) - org.testcontainers.containers.MariaDBContainer (deprecated)
1 parent 326987f commit ea5e2a7

File tree

3 files changed

+9
-4
lines changed

3 files changed

+9
-4
lines changed

modules/mariadb/src/main/java/org/testcontainers/containers/MariaDBContainer.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.images.builder.Transferable;
54
import org.testcontainers.utility.DockerImageName;
65

@@ -57,7 +56,7 @@ public MariaDBContainer(final DockerImageName dockerImageName) {
5756

5857
@Override
5958
public Set<Integer> getLivenessCheckPortNumbers() {
60-
return Sets.newHashSet(MARIADB_PORT);
59+
return super.getLivenessCheckPortNumbers();
6160
}
6261

6362
@Override

modules/mariadb/src/main/java/org/testcontainers/mariadb/MariaDBContainer.java

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

3-
import com.google.common.collect.Sets;
43
import org.testcontainers.containers.ContainerLaunchException;
54
import org.testcontainers.containers.JdbcDatabaseContainer;
65
import org.testcontainers.images.builder.Transferable;
@@ -50,7 +49,7 @@ public MariaDBContainer(final DockerImageName dockerImageName) {
5049

5150
@Override
5251
public Set<Integer> getLivenessCheckPortNumbers() {
53-
return Sets.newHashSet(MARIADB_PORT);
52+
return super.getLivenessCheckPortNumbers();
5453
}
5554

5655
@Override

modules/mariadb/src/test/java/org/testcontainers/mariadb/MariaDBContainerTest.java

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

3535
assertThat(resultSetInt).as("A basic SELECT query succeeds").isEqualTo(1);
36+
assertHasCorrectExposedAndLivenessCheckPorts(mariadb);
3637
}
3738
}
3839

@@ -145,6 +146,12 @@ void testEmptyPasswordWithRootUser() throws SQLException {
145146
}
146147
}
147148

149+
private void assertHasCorrectExposedAndLivenessCheckPorts(MariaDBContainer mariadb) {
150+
assertThat(mariadb.getExposedPorts()).containsExactly(MariaDBContainer.MARIADB_PORT);
151+
assertThat(mariadb.getLivenessCheckPortNumbers())
152+
.containsExactly(mariadb.getMappedPort(MariaDBContainer.MARIADB_PORT));
153+
}
154+
148155
private void assertThatCustomIniFileWasUsed(MariaDBContainer mariadb) throws SQLException {
149156
try (ResultSet resultSet = performQuery(mariadb, "SELECT @@GLOBAL.innodb_max_undo_log_size")) {
150157
long result = resultSet.getLong(1);

0 commit comments

Comments
 (0)