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 bb95ee28ae6 Add ArtifactEnvironment.getDatabaseImage() (#36714)
bb95ee28ae6 is described below

commit bb95ee28ae63d6f6b26c7a1f51c2bf22e1740fe3
Author: Liang Zhang <[email protected]>
AuthorDate: Fri Sep 26 01:05:19 2025 +0800

    Add ArtifactEnvironment.getDatabaseImage() (#36714)
    
    * Refactor TransactionE2EEnvironment
    
    * Refactor TransactionE2EEnvironment
    
    * Add ArtifactEnvironment.getDatabaseImage()
---
 .../test/e2e/env/runtime/type/ArtifactEnvironment.java       | 12 ++++++++++++
 .../transaction/engine/base/TransactionBaseE2EIT.java        |  5 +----
 .../env/container/compose/mode/ClusterContainerComposer.java |  2 +-
 .../container/compose/mode/StandaloneContainerComposer.java  |  2 +-
 4 files changed, 15 insertions(+), 6 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 07b693a36f5..6b7d6902be9 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
@@ -17,6 +17,7 @@
 
 package org.apache.shardingsphere.test.e2e.env.runtime.type;
 
+import lombok.AccessLevel;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.database.connector.core.type.DatabaseType;
@@ -46,6 +47,7 @@ public final class ArtifactEnvironment {
     
     private final Collection<DatabaseType> databaseTypes;
     
+    @Getter(AccessLevel.NONE)
     private final Map<DatabaseType, String> databaseImages;
     
     private final List<String> proxyPortBindings;
@@ -69,6 +71,16 @@ public final class ArtifactEnvironment {
         return result;
     }
     
+    /**
+     * Get database image.
+     *
+     * @param databaseType database type
+     * @return database image
+     */
+    public String getDatabaseImage(final DatabaseType databaseType) {
+        return databaseImages.get(databaseType);
+    }
+    
     public enum Mode {
         
         STANDALONE, CLUSTER
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 e3fdf0905c7..06fe3268126 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
@@ -355,14 +355,11 @@ public abstract class TransactionBaseE2EIT {
         }
         
         private Collection<TransactionTestParameter> getTestParameters(final 
TransactionTestCaseRegistry registry) {
-            return getTestParameters(registry, 
ENV.getArtifactEnvironment().getDatabaseImages().get(TypedSPILoader.getService(DatabaseType.class,
 registry.getDbType())));
-        }
-        
-        private Collection<TransactionTestParameter> getTestParameters(final 
TransactionTestCaseRegistry registry, final String databaseVersion) {
             Map<String, TransactionTestParameter> result = new 
LinkedHashMap<>();
             if (TEST_CASES.isEmpty()) {
                 log.warn("Transaction test cases are empty.");
             }
+            String databaseVersion = 
ENV.getArtifactEnvironment().getDatabaseImage(TypedSPILoader.getService(DatabaseType.class,
 registry.getDbType()));
             for (Class<? extends BaseTransactionTestCase> each : TEST_CASES) {
                 if (!TRANSACTION_ENV.getCases().isEmpty() && 
!ENV.getScenarios().contains(each.getSimpleName())) {
                     log.info("Collect transaction test case, need to run cases 
don't contain this, skip: {}.", each.getName());
diff --git 
a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/env/container/compose/mode/ClusterContainerComposer.java
 
b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/env/container/compose/mode/ClusterContainerComposer.java
index a80db5dd980..d277765ea33 100644
--- 
a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/env/container/compose/mode/ClusterContainerComposer.java
+++ 
b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/env/container/compose/mode/ClusterContainerComposer.java
@@ -60,7 +60,7 @@ public final class ClusterContainerComposer implements 
ContainerComposer {
         governanceContainer = containers.registerContainer(new 
GovernanceContainer(TypedSPILoader.getService(GovernanceContainerOption.class, 
"ZooKeeper")));
         Type envType = 
E2ETestEnvironment.getInstance().getRunEnvironment().getType();
         storageContainer = containers.registerContainer(Type.DOCKER == envType
-                ? new 
DockerStorageContainer(E2ETestEnvironment.getInstance().getArtifactEnvironment().getDatabaseImages().get(databaseType),
+                ? new 
DockerStorageContainer(E2ETestEnvironment.getInstance().getArtifactEnvironment().getDatabaseImage(databaseType),
                         
DatabaseTypedSPILoader.getService(StorageContainerOption.class, databaseType), 
scenario)
                 : new NativeStorageContainer(databaseType, scenario));
         AdaptorContainerConfiguration containerConfig = 
SQLE2EProxyContainerConfigurationFactory.newInstance(scenario, "cluster", 
databaseType);
diff --git 
a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/env/container/compose/mode/StandaloneContainerComposer.java
 
b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/env/container/compose/mode/StandaloneContainerComposer.java
index b3e0d1bda0b..5022827da8f 100644
--- 
a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/env/container/compose/mode/StandaloneContainerComposer.java
+++ 
b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/env/container/compose/mode/StandaloneContainerComposer.java
@@ -52,7 +52,7 @@ public final class StandaloneContainerComposer implements 
ContainerComposer {
         containers = new E2EContainers(scenario);
         Type envType = 
E2ETestEnvironment.getInstance().getRunEnvironment().getType();
         storageContainer = containers.registerContainer(Type.DOCKER == envType
-                ? new 
DockerStorageContainer(E2ETestEnvironment.getInstance().getArtifactEnvironment().getDatabaseImages().get(databaseType),
+                ? new 
DockerStorageContainer(E2ETestEnvironment.getInstance().getArtifactEnvironment().getDatabaseImage(databaseType),
                         
DatabaseTypedSPILoader.getService(StorageContainerOption.class, databaseType), 
scenario)
                 : new NativeStorageContainer(databaseType, scenario));
         AdaptorContainerConfiguration containerConfig = 
SQLE2EProxyContainerConfigurationFactory.newInstance(scenario, "standalone", 
databaseType);

Reply via email to