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);