This is an automated email from the ASF dual-hosted git repository.

terrymanu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new f212965339d Refactor DockerStorageContainer (#39213)
f212965339d is described below

commit f212965339d97b88ca59277e7bf809868ba0ffc9
Author: Liang Zhang <[email protected]>
AuthorDate: Wed Jul 22 21:32:49 2026 +0800

    Refactor DockerStorageContainer (#39213)
    
    * Remove placeholder arguments from SQL E2E tests
    
    Allow SQL E2E parameterized tests to run with zero invocations.
    Remove synthetic null parameters and obsolete null guards.
    
    * Refactor DockerStorageContainer
---
 .../env/container/storage/type/DockerStorageContainer.java  | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/storage/type/DockerStorageContainer.java
 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/storage/type/DockerStorageContainer.java
index f4a104b205f..aee0791f51a 100644
--- 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/storage/type/DockerStorageContainer.java
+++ 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/storage/type/DockerStorageContainer.java
@@ -18,6 +18,8 @@
 package org.apache.shardingsphere.test.e2e.env.container.storage.type;
 
 import com.github.dockerjava.api.command.InspectContainerResponse;
+import com.github.dockerjava.api.model.ExposedPort;
+import com.github.dockerjava.api.model.Ports;
 import com.google.common.base.Preconditions;
 import com.google.common.base.Strings;
 import lombok.Getter;
@@ -129,8 +131,8 @@ public final class DockerStorageContainer extends 
DockerE2EContainer implements
     
     private String getURL() {
         return option.getCreateOption().getDefaultDatabaseName(majorVersion)
-                .map(optional -> option.getConnectOption().getURL("localhost", 
getFirstMappedPort(), optional))
-                .orElseGet(() -> option.getConnectOption().getURL("localhost", 
getFirstMappedPort()));
+                .map(optional -> option.getConnectOption().getURL("localhost", 
getMappedPort(), optional))
+                .orElseGet(() -> option.getConnectOption().getURL("localhost", 
getMappedPort()));
     }
     
     @SneakyThrows(SQLException.class)
@@ -140,7 +142,7 @@ public final class DockerStorageContainer extends 
DockerE2EContainer implements
             return;
         }
         try (
-                Connection connection = 
createConnection(option.getConnectOption(), 
option.getConnectOption().getURL("localhost", getFirstMappedPort()),
+                Connection connection = 
createConnection(option.getConnectOption(), 
option.getConnectOption().getURL("localhost", getMappedPort()),
                         
option.getCreateOption().getDefaultUserWhenUnsupportedDockerEntrypoint().orElse(""),
                         
option.getCreateOption().getDefaultPasswordWhenUnsupportedDockerEntrypoint().orElse("")))
 {
             for (String each : new MountSQLResourceGenerator(option.getType(), 
option.getCreateOption()).generate(majorVersion, scenario).keySet()) {
@@ -213,7 +215,10 @@ public final class DockerStorageContainer extends 
DockerE2EContainer implements
      * @return mapped database container port
      */
     public int getMappedPort() {
-        return getMappedPort(getExposedPort());
+        int exposedPort = getExposedPort();
+        Ports.Binding[] bindings = 
getCurrentContainerInfo().getNetworkSettings().getPorts().getBindings().get(ExposedPort.tcp(exposedPort));
+        Preconditions.checkNotNull(bindings, "Database port (%s) is not 
mapped", exposedPort);
+        return Integer.parseInt(bindings[0].getHostPortSpec());
     }
     
     @Override

Reply via email to