Skip to content

Commit d5e9301

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 PR #5734 but MariaDB was missed. The new MariaDBContainer class (PR #11083) 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) Fixes #10359
1 parent 18e55b8 commit d5e9301

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)