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