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

zhangliang 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 0b2a41c99f5 Merge TransactionE2EEnvironment.portBindings to 
ArtifactEnvironment (#36711)
0b2a41c99f5 is described below

commit 0b2a41c99f590bc39648cbe3ffca53c829627e5b
Author: Liang Zhang <[email protected]>
AuthorDate: Thu Sep 25 23:02:32 2025 +0800

    Merge TransactionE2EEnvironment.portBindings to ArtifactEnvironment (#36711)
    
    * Refactor PostgresTest
    
    * Merge TransactionE2EEnvironment.portBindings to ArtifactEnvironment
---
 .../e2e/env/runtime/type/ArtifactEnvironment.java     | 11 +++++------
 .../transaction/engine/base/TransactionBaseE2EIT.java | 19 +++----------------
 .../transaction/env/TransactionE2EEnvironment.java    | 15 +++++----------
 3 files changed, 13 insertions(+), 32 deletions(-)

diff --git 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/runtime/type/ArtifactEnvironment.java
 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/runtime/type/ArtifactEnvironment.java
index fcd6d72ea9b..3ed3afc292c 100644
--- 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/runtime/type/ArtifactEnvironment.java
+++ 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/runtime/type/ArtifactEnvironment.java
@@ -25,7 +25,6 @@ import 
org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
 
 import java.util.Collection;
-import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -49,7 +48,7 @@ public final class ArtifactEnvironment {
     
     private final Map<DatabaseType, String> databaseImages;
     
-    private final Map<String, String> proxyPortBindingMap;
+    private final List<String> proxyPortBindings;
     
     public ArtifactEnvironment(final Properties props) {
         modes = 
Splitter.on(",").trimResults().splitToList(props.getProperty("e2e.artifact.modes",
 "")).stream()
@@ -58,7 +57,7 @@ public final class ArtifactEnvironment {
         regCenterType = props.getProperty("e2e.artifact.regcenter");
         databaseTypes = getDatabaseTypes(props);
         databaseImages = getDatabaseImages(props);
-        proxyPortBindingMap = getProxyPortBindingMap(props);
+        proxyPortBindings = getProxyPortBindings(props);
     }
     
     private Collection<String> getAdapters(final Properties props) {
@@ -79,9 +78,9 @@ public final class ArtifactEnvironment {
         return result;
     }
     
-    private Map<String, String> getProxyPortBindingMap(final Properties props) 
{
-        List<String> portBindingPair = 
Splitter.on(":").trimResults().splitToList(props.getProperty("e2e.artifact.proxy.port.bindings",
 ""));
-        return 2 == portBindingPair.size() ? 
Collections.singletonMap(portBindingPair.get(0), portBindingPair.get(1)) : 
Collections.emptyMap();
+    private List<String> getProxyPortBindings(final Properties props) {
+        return Splitter.on(",").trimResults()
+                
.splitToList(props.getProperty("e2e.artifact.proxy.port.bindings", 
"")).stream().filter(each -> !each.isEmpty()).collect(Collectors.toList());
     }
     
     public enum Mode {
diff --git 
a/test/e2e/operation/transaction/src/test/java/org/apache/shardingsphere/test/e2e/operation/transaction/engine/base/TransactionBaseE2EIT.java
 
b/test/e2e/operation/transaction/src/test/java/org/apache/shardingsphere/test/e2e/operation/transaction/engine/base/TransactionBaseE2EIT.java
index dd18f915369..3fb33cfd408 100644
--- 
a/test/e2e/operation/transaction/src/test/java/org/apache/shardingsphere/test/e2e/operation/transaction/engine/base/TransactionBaseE2EIT.java
+++ 
b/test/e2e/operation/transaction/src/test/java/org/apache/shardingsphere/test/e2e/operation/transaction/engine/base/TransactionBaseE2EIT.java
@@ -422,9 +422,9 @@ public abstract class TransactionBaseE2EIT {
         private void setTestParameters(final Map<String, 
TransactionTestParameter> testParams, final TransactionTestCaseRegistry 
registry, final String databaseVersion,
                                        final List<TransactionType> 
transactionTypes, final List<String> providers, final String scenario, final 
Class<? extends BaseTransactionTestCase> caseClass) {
             String key = getUniqueKey(registry.getDbType(), 
registry.getRunningAdaptor(), transactionTypes, providers, scenario);
-            testParams.putIfAbsent(
-                    key, new 
TransactionTestParameter(getDatabaseType(registry.getDbType()), 
registry.getRunningAdaptor(), TRANSACTION_ENV.getPortBindings(), 
transactionTypes, providers,
-                            getStorageContainerImageName(registry.getDbType(), 
databaseVersion), scenario, new LinkedList<>()));
+            testParams.putIfAbsent(key, new 
TransactionTestParameter(TypedSPILoader.getService(DatabaseType.class, 
registry.getDbType()),
+                    registry.getRunningAdaptor(), 
ENV.getArtifactEnvironment().getProxyPortBindings(), transactionTypes, 
providers,
+                    getStorageContainerImageName(registry.getDbType(), 
databaseVersion), scenario, new LinkedList<>()));
             testParams.get(key).getTransactionTestCaseClasses().add(caseClass);
         }
         
@@ -432,19 +432,6 @@ public abstract class TransactionBaseE2EIT {
             return String.join(File.separator, databaseType, runningAdapter, 
transactionTypes.toString(), providers.toString(), scenario);
         }
         
-        private DatabaseType getDatabaseType(final String databaseType) {
-            switch (databaseType) {
-                case TransactionTestConstants.MYSQL:
-                    return TypedSPILoader.getService(DatabaseType.class, 
"MySQL");
-                case TransactionTestConstants.POSTGRESQL:
-                    return TypedSPILoader.getService(DatabaseType.class, 
"PostgreSQL");
-                case TransactionTestConstants.OPENGAUSS:
-                    return TypedSPILoader.getService(DatabaseType.class, 
"openGauss");
-                default:
-                    throw new 
UnsupportedOperationException(String.format("Unsupported database type `%s`.", 
databaseType));
-            }
-        }
-        
         private String getStorageContainerImageName(final String databaseType, 
final String databaseVersion) {
             switch (databaseType) {
                 case TransactionTestConstants.MYSQL:
diff --git 
a/test/e2e/operation/transaction/src/test/java/org/apache/shardingsphere/test/e2e/operation/transaction/env/TransactionE2EEnvironment.java
 
b/test/e2e/operation/transaction/src/test/java/org/apache/shardingsphere/test/e2e/operation/transaction/env/TransactionE2EEnvironment.java
index 799abcfdf09..151b8600d9a 100644
--- 
a/test/e2e/operation/transaction/src/test/java/org/apache/shardingsphere/test/e2e/operation/transaction/env/TransactionE2EEnvironment.java
+++ 
b/test/e2e/operation/transaction/src/test/java/org/apache/shardingsphere/test/e2e/operation/transaction/env/TransactionE2EEnvironment.java
@@ -36,12 +36,8 @@ public final class TransactionE2EEnvironment {
     
     private static final TransactionE2EEnvironment INSTANCE = new 
TransactionE2EEnvironment();
     
-    private final Properties props;
-    
     private final Collection<String> cases;
     
-    private final List<String> portBindings;
-    
     private final List<String> allowTransactionTypes;
     
     private final List<String> allowXAProviders;
@@ -49,11 +45,10 @@ public final class TransactionE2EEnvironment {
     private final Map<String, TransactionTestCaseRegistry> 
transactionTestCaseRegistryMap;
     
     private TransactionE2EEnvironment() {
-        props = loadProperties();
-        cases = splitProperty("e2e.cases");
-        portBindings = splitProperty("e2e.artifact.proxy.port.bindings");
-        allowTransactionTypes = 
splitProperty("transaction.e2e.env.transtypes");
-        allowXAProviders = splitProperty("transaction.e2e.env.xa.providers");
+        Properties props = loadProperties();
+        cases = splitProperty(props, "e2e.cases");
+        allowTransactionTypes = splitProperty(props, 
"transaction.e2e.env.transtypes");
+        allowXAProviders = splitProperty(props, 
"transaction.e2e.env.xa.providers");
         transactionTestCaseRegistryMap = initTransactionTestCaseRegistryMap();
     }
     
@@ -70,7 +65,7 @@ public final class TransactionE2EEnvironment {
         return result;
     }
     
-    private List<String> splitProperty(final String key) {
+    private List<String> splitProperty(final Properties props, final String 
key) {
         return Arrays.stream(props.getOrDefault(key, 
"").toString().split(",")).filter(each -> 
!Strings.isNullOrEmpty(each)).map(String::trim).collect(Collectors.toList());
     }
     

Reply via email to