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 852f1dbda63 Merge TransactionE2EEnvironment and E2ETestEnvironment
(#36709)
852f1dbda63 is described below
commit 852f1dbda635113377d3b23c0f565afbf9b28a1c
Author: Liang Zhang <[email protected]>
AuthorDate: Thu Sep 25 22:29:33 2025 +0800
Merge TransactionE2EEnvironment and E2ETestEnvironment (#36709)
* Merge TransactionE2EEnvironment and E2ETestEnvironment
* Merge TransactionE2EEnvironment and E2ETestEnvironment
* Merge TransactionE2EEnvironment and E2ETestEnvironment
* Merge TransactionE2EEnvironment and E2ETestEnvironment
* Merge TransactionE2EEnvironment and E2ETestEnvironment
* Merge TransactionE2EEnvironment and E2ETestEnvironment
* Merge TransactionE2EEnvironment and E2ETestEnvironment
---
.../e2e/env/runtime/type/ArtifactEnvironment.java | 24 ++++++---
.../engine/base/TransactionBaseE2EIT.java | 48 +++++++----------
.../engine/base/TransactionContainerComposer.java | 8 +--
.../transaction/env/TransactionE2EEnvironment.java | 62 +++-------------------
.../TransactionDockerContainerComposer.java | 12 ++---
.../src/test/resources/env/e2e-env.properties | 8 +--
.../sql/src/test/resources/env/e2e-env.properties | 2 +
7 files changed, 62 insertions(+), 102 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 da94fb8ba1f..fcd6d72ea9b 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,9 @@ 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;
import java.util.Optional;
import java.util.Properties;
@@ -47,6 +49,8 @@ public final class ArtifactEnvironment {
private final Map<DatabaseType, String> databaseImages;
+ private final Map<String, String> proxyPortBindingMap;
+
public ArtifactEnvironment(final Properties props) {
modes =
Splitter.on(",").trimResults().splitToList(props.getProperty("e2e.artifact.modes",
"")).stream()
.filter(each -> !each.isEmpty()).map(each ->
Mode.valueOf(each.toUpperCase())).collect(Collectors.toList());
@@ -54,6 +58,16 @@ public final class ArtifactEnvironment {
regCenterType = props.getProperty("e2e.artifact.regcenter");
databaseTypes = getDatabaseTypes(props);
databaseImages = getDatabaseImages(props);
+ proxyPortBindingMap = getProxyPortBindingMap(props);
+ }
+
+ private Collection<String> getAdapters(final Properties props) {
+ return
Splitter.on(",").trimResults().splitToList(props.getProperty("e2e.artifact.adapters",
"")).stream().filter(each -> !each.isEmpty()).collect(Collectors.toList());
+ }
+
+ private Collection<DatabaseType> getDatabaseTypes(final Properties props) {
+ return
Splitter.on(",").trimResults().splitToList(props.getProperty("e2e.artifact.databases",
"")).stream()
+ .filter(each -> !each.isEmpty()).map(each ->
TypedSPILoader.getService(DatabaseType.class,
each.trim())).collect(Collectors.toSet());
}
private Map<DatabaseType, String> getDatabaseImages(final Properties
props) {
@@ -65,13 +79,9 @@ public final class ArtifactEnvironment {
return result;
}
- private Collection<String> getAdapters(final Properties props) {
- return
Splitter.on(",").trimResults().splitToList(props.getProperty("e2e.artifact.adapters",
"")).stream().filter(each -> !each.isEmpty()).collect(Collectors.toList());
- }
-
- private Collection<DatabaseType> getDatabaseTypes(final Properties props) {
- return
Splitter.on(",").trimResults().splitToList(props.getProperty("e2e.artifact.databases",
"")).stream()
- .filter(each -> !each.isEmpty()).map(each ->
TypedSPILoader.getService(DatabaseType.class,
each.trim())).collect(Collectors.toSet());
+ 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();
}
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 bce77a3aa62..dd18f915369 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
@@ -27,6 +27,7 @@ import
org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import
org.apache.shardingsphere.test.e2e.env.container.storage.option.StorageContainerConnectOption;
import
org.apache.shardingsphere.test.e2e.env.container.storage.option.StorageContainerOption;
import
org.apache.shardingsphere.test.e2e.env.container.storage.type.DockerStorageContainer;
+import org.apache.shardingsphere.test.e2e.env.runtime.E2ETestEnvironment;
import
org.apache.shardingsphere.test.e2e.env.runtime.type.ArtifactEnvironment.Adapter;
import org.apache.shardingsphere.test.e2e.env.runtime.type.RunEnvironment.Type;
import
org.apache.shardingsphere.test.e2e.operation.transaction.cases.base.BaseTransactionTestCase;
@@ -81,7 +82,9 @@ public abstract class TransactionBaseE2EIT {
private static final List<Class<? extends BaseTransactionTestCase>>
TEST_CASES = TestCaseClassScanner.scan();
- private static final TransactionE2EEnvironment ENV =
TransactionE2EEnvironment.getInstance();
+ private static final E2ETestEnvironment ENV =
E2ETestEnvironment.getInstance();
+
+ private static final TransactionE2EEnvironment TRANSACTION_ENV =
TransactionE2EEnvironment.getInstance();
private final CommonSQLCommand commonSQL;
@@ -267,8 +270,8 @@ public abstract class TransactionBaseE2EIT {
*/
public void addResource(final Connection connection, final String
databaseName, final TransactionContainerComposer containerComposer) throws
SQLException {
String addSourceResource = commonSQL.getSourceAddNewResourceTemplate()
- .replace("${user}", ENV.getActualDataSourceUsername())
- .replace("${password}", ENV.getActualDataSourcePassword())
+ .replace("${user}",
ENV.getNativeStorageEnvironment().getUser())
+ .replace("${password}",
ENV.getNativeStorageEnvironment().getPassword())
.replace("${ds2}", getActualJdbcUrlTemplate(databaseName,
containerComposer));
executeWithLog(connection, addSourceResource);
int resourceCount = countWithLog("SHOW STORAGE UNITS FROM
sharding_db", containerComposer);
@@ -278,11 +281,11 @@ public abstract class TransactionBaseE2EIT {
private String getActualJdbcUrlTemplate(final String databaseName, final
TransactionContainerComposer containerComposer) {
StorageContainerConnectOption option =
DatabaseTypedSPILoader.getService(StorageContainerOption.class,
containerComposer.getDatabaseType()).getConnectOption();
- if (Type.DOCKER == ENV.getType()) {
+ if (Type.DOCKER == ENV.getRunEnvironment().getType()) {
DockerStorageContainer storageContainer = (DockerStorageContainer)
((TransactionDockerContainerComposer)
containerComposer.getContainerComposer()).getStorageContainer();
return
option.getURL(containerComposer.getDatabaseType().getType().toLowerCase() +
".host", storageContainer.getExposedPort(), databaseName);
}
- return option.getURL("127.0.0.1",
ENV.getActualDataSourceDefaultPort(containerComposer.getDatabaseType()),
databaseName);
+ return option.getURL("127.0.0.1",
ENV.getNativeStorageEnvironment().getPort(), databaseName);
}
/**
@@ -329,7 +332,7 @@ public abstract class TransactionBaseE2EIT {
}
private static boolean isEnabled() {
- return !ENV.getScenarios().isEmpty() && null != ENV.getType();
+ return !TRANSACTION_ENV.getCases().isEmpty() && null !=
ENV.getRunEnvironment().getType();
}
private static final class TestCaseArgumentsProvider implements
ArgumentsProvider {
@@ -342,7 +345,7 @@ public abstract class TransactionBaseE2EIT {
}
private Collection<TransactionTestParameter>
getTransactionTestParameters(final Class<? extends TransactionBaseE2EIT>
testCaseClass) {
- TransactionTestCaseRegistry currentTestCaseInfo =
ENV.getTransactionTestCaseRegistryMap().get(testCaseClass.getName());
+ TransactionTestCaseRegistry currentTestCaseInfo =
TRANSACTION_ENV.getTransactionTestCaseRegistryMap().get(testCaseClass.getName());
Collection<TransactionTestParameter> result =
getTestParameters(currentTestCaseInfo);
// TODO zhangcheng make sure the test cases should not empty
if (result.isEmpty()) {
@@ -352,19 +355,7 @@ public abstract class TransactionBaseE2EIT {
}
private Collection<TransactionTestParameter> getTestParameters(final
TransactionTestCaseRegistry registry) {
- Collection<TransactionTestParameter> result = new LinkedList<>();
- if
(TransactionTestConstants.MYSQL.equalsIgnoreCase(registry.getDbType())) {
- result.addAll(getTestParameters(registry,
ENV.getMysqlVersions()));
- } else if
(TransactionTestConstants.POSTGRESQL.equalsIgnoreCase(registry.getDbType())) {
- result.addAll(getTestParameters(registry,
ENV.getPostgresqlVersions()));
- } else if
(TransactionTestConstants.OPENGAUSS.equalsIgnoreCase(registry.getDbType())) {
- result.addAll(getTestParameters(registry,
ENV.getOpenGaussVersions()));
- }
- return result;
- }
-
- private Collection<TransactionTestParameter> getTestParameters(final
TransactionTestCaseRegistry registry, final List<String> databaseVersions) {
- return databaseVersions.stream().flatMap(each ->
getTestParameters(registry, each).stream()).collect(Collectors.toList());
+ return getTestParameters(registry,
ENV.getArtifactEnvironment().getDatabaseImages().get(TypedSPILoader.getService(DatabaseType.class,
registry.getDbType())));
}
private Collection<TransactionTestParameter> getTestParameters(final
TransactionTestCaseRegistry registry, final String databaseVersion) {
@@ -373,7 +364,7 @@ public abstract class TransactionBaseE2EIT {
log.warn("Transaction test cases are empty.");
}
for (Class<? extends BaseTransactionTestCase> each : TEST_CASES) {
- if (!ENV.getScenarios().isEmpty() &&
!ENV.getScenarios().contains(each.getSimpleName())) {
+ 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());
continue;
}
@@ -400,14 +391,14 @@ public abstract class TransactionBaseE2EIT {
private void setTestParameters(final Map<String,
TransactionTestParameter> testParams, final TransactionTestCaseRegistry
registry, final String databaseVersion,
final TransactionTestCase
transactionTestCase, final String scenario, final Class<? extends
BaseTransactionTestCase> caseClass) {
if (Adapter.PROXY.getValue().equals(registry.getRunningAdaptor()))
{
- List<TransactionType> allowedTransactionTypes =
ENV.getAllowTransactionTypes().isEmpty() ?
Arrays.stream(TransactionType.values()).collect(Collectors.toList())
- :
ENV.getAllowTransactionTypes().stream().map(TransactionType::valueOf).collect(Collectors.toList());
- List<String> allowedProviders =
ENV.getAllowXAProviders().isEmpty() ? ALL_XA_PROVIDERS :
ENV.getAllowXAProviders();
+ List<TransactionType> allowedTransactionTypes =
TRANSACTION_ENV.getAllowTransactionTypes().isEmpty() ?
Arrays.stream(TransactionType.values()).collect(Collectors.toList())
+ :
TRANSACTION_ENV.getAllowTransactionTypes().stream().map(TransactionType::valueOf).collect(Collectors.toList());
+ List<String> allowedProviders =
TRANSACTION_ENV.getAllowXAProviders().isEmpty() ? ALL_XA_PROVIDERS :
TRANSACTION_ENV.getAllowXAProviders();
setTestParameters(testParams, registry, databaseVersion,
allowedTransactionTypes, allowedProviders, scenario, caseClass);
return;
}
for (TransactionType each :
transactionTestCase.transactionTypes()) {
- if (!ENV.getAllowTransactionTypes().isEmpty() &&
!ENV.getAllowTransactionTypes().contains(each.toString())) {
+ if (!TRANSACTION_ENV.getAllowTransactionTypes().isEmpty() &&
!TRANSACTION_ENV.getAllowTransactionTypes().contains(each.toString())) {
log.info("Collect transaction test case, need to run
transaction types don't contain this, skip: {}-{}.", caseClass.getName(), each);
continue;
}
@@ -422,7 +413,7 @@ public abstract class TransactionBaseE2EIT {
return;
}
if (TransactionType.XA == transactionType) {
- for (String each : ENV.getAllowXAProviders().isEmpty() ?
ALL_XA_PROVIDERS : ENV.getAllowXAProviders()) {
+ for (String each :
TRANSACTION_ENV.getAllowXAProviders().isEmpty() ? ALL_XA_PROVIDERS :
TRANSACTION_ENV.getAllowXAProviders()) {
setTestParameters(testParams, registry, databaseVersion,
Collections.singletonList(transactionType), Collections.singletonList(each),
scenario, caseClass);
}
}
@@ -431,8 +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(), ENV.getPortBindings(), transactionTypes,
providers,
- getStorageContainerImageName(registry.getDbType(),
databaseVersion), scenario, new LinkedList<>()));
+ testParams.putIfAbsent(
+ key, new
TransactionTestParameter(getDatabaseType(registry.getDbType()),
registry.getRunningAdaptor(), TRANSACTION_ENV.getPortBindings(),
transactionTypes, providers,
+ getStorageContainerImageName(registry.getDbType(),
databaseVersion), scenario, new LinkedList<>()));
testParams.get(key).getTransactionTestCaseClasses().add(caseClass);
}
diff --git
a/test/e2e/operation/transaction/src/test/java/org/apache/shardingsphere/test/e2e/operation/transaction/engine/base/TransactionContainerComposer.java
b/test/e2e/operation/transaction/src/test/java/org/apache/shardingsphere/test/e2e/operation/transaction/engine/base/TransactionContainerComposer.java
index 574bf67e87b..e06f81eddcf 100644
---
a/test/e2e/operation/transaction/src/test/java/org/apache/shardingsphere/test/e2e/operation/transaction/engine/base/TransactionContainerComposer.java
+++
b/test/e2e/operation/transaction/src/test/java/org/apache/shardingsphere/test/e2e/operation/transaction/engine/base/TransactionContainerComposer.java
@@ -19,9 +19,9 @@ package
org.apache.shardingsphere.test.e2e.operation.transaction.engine.base;
import lombok.Getter;
import org.apache.shardingsphere.database.connector.core.type.DatabaseType;
+import org.apache.shardingsphere.test.e2e.env.runtime.E2ETestEnvironment;
import
org.apache.shardingsphere.test.e2e.env.runtime.type.ArtifactEnvironment.Adapter;
import org.apache.shardingsphere.test.e2e.env.runtime.type.RunEnvironment.Type;
-import
org.apache.shardingsphere.test.e2e.operation.transaction.env.TransactionE2EEnvironment;
import
org.apache.shardingsphere.test.e2e.operation.transaction.framework.container.compose.TransactionBaseContainerComposer;
import
org.apache.shardingsphere.test.e2e.operation.transaction.framework.container.compose.TransactionDockerContainerComposer;
import
org.apache.shardingsphere.test.e2e.operation.transaction.framework.container.compose.TransactionNativeContainerComposer;
@@ -35,8 +35,6 @@ import javax.sql.DataSource;
@Getter
public final class TransactionContainerComposer implements AutoCloseable {
- private static final TransactionE2EEnvironment ENV =
TransactionE2EEnvironment.getInstance();
-
private final DatabaseType databaseType;
private final TransactionBaseContainerComposer containerComposer;
@@ -50,7 +48,9 @@ public final class TransactionContainerComposer implements
AutoCloseable {
}
private TransactionBaseContainerComposer initContainerComposer(final
TransactionTestParameter testParam) {
- TransactionBaseContainerComposer result = Type.NATIVE == ENV.getType()
? new TransactionNativeContainerComposer() : new
TransactionDockerContainerComposer(testParam);
+ TransactionBaseContainerComposer result = Type.NATIVE ==
E2ETestEnvironment.getInstance().getRunEnvironment().getType()
+ ? new TransactionNativeContainerComposer()
+ : new TransactionDockerContainerComposer(testParam);
result.start();
return result;
}
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 69c791c4144..799abcfdf09 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
@@ -19,17 +19,12 @@ package
org.apache.shardingsphere.test.e2e.operation.transaction.env;
import com.google.common.base.Strings;
import lombok.Getter;
-import
org.apache.shardingsphere.database.connector.core.spi.DatabaseTypedSPILoader;
-import org.apache.shardingsphere.database.connector.core.type.DatabaseType;
-import
org.apache.shardingsphere.test.e2e.env.container.constants.ProxyContainerConstants;
-import
org.apache.shardingsphere.test.e2e.env.container.constants.StorageContainerConstants;
-import
org.apache.shardingsphere.test.e2e.env.container.storage.option.StorageContainerOption;
-import org.apache.shardingsphere.test.e2e.env.runtime.type.RunEnvironment.Type;
import
org.apache.shardingsphere.test.e2e.operation.transaction.env.enums.TransactionTestCaseRegistry;
import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;
+import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -43,18 +38,10 @@ public final class TransactionE2EEnvironment {
private final Properties props;
- private final List<String> scenarios;
-
- private final Type type;
+ private final Collection<String> cases;
private final List<String> portBindings;
- private final List<String> mysqlVersions;
-
- private final List<String> postgresqlVersions;
-
- private final List<String> openGaussVersions;
-
private final List<String> allowTransactionTypes;
private final List<String> allowXAProviders;
@@ -63,21 +50,13 @@ public final class TransactionE2EEnvironment {
private TransactionE2EEnvironment() {
props = loadProperties();
- scenarios = splitProperty("e2e.scenarios");
- type = props.containsKey("e2e.run.type") ? null :
Type.valueOf(props.getProperty("e2e.run.type").toUpperCase());
- portBindings = splitProperty("e2e.proxy.port.bindings");
- mysqlVersions = splitProperty("e2e.artifact.database.mysql.image");
- postgresqlVersions =
splitProperty("e2e.artifact.database.postgresql.image");
- openGaussVersions =
splitProperty("e2e.artifact.database.opengauss.image");
+ cases = splitProperty("e2e.cases");
+ portBindings = splitProperty("e2e.artifact.proxy.port.bindings");
allowTransactionTypes =
splitProperty("transaction.e2e.env.transtypes");
allowXAProviders = splitProperty("transaction.e2e.env.xa.providers");
transactionTestCaseRegistryMap = initTransactionTestCaseRegistryMap();
}
- private List<String> splitProperty(final String key) {
- return Arrays.stream(props.getOrDefault(key,
"").toString().split(",")).filter(each ->
!Strings.isNullOrEmpty(each)).map(String::trim).collect(Collectors.toList());
- }
-
private Properties loadProperties() {
Properties result = new Properties();
try (InputStream inputStream =
Thread.currentThread().getContextClassLoader().getResourceAsStream("env/e2e-env.properties"))
{
@@ -91,6 +70,10 @@ public final class TransactionE2EEnvironment {
return result;
}
+ private List<String> splitProperty(final String key) {
+ return Arrays.stream(props.getOrDefault(key,
"").toString().split(",")).filter(each ->
!Strings.isNullOrEmpty(each)).map(String::trim).collect(Collectors.toList());
+ }
+
private Map<String, TransactionTestCaseRegistry>
initTransactionTestCaseRegistryMap() {
Map<String, TransactionTestCaseRegistry> result = new
HashMap<>(TransactionTestCaseRegistry.values().length, 1F);
for (TransactionTestCaseRegistry each :
TransactionTestCaseRegistry.values()) {
@@ -99,35 +82,6 @@ public final class TransactionE2EEnvironment {
return result;
}
- /**
- * Get actual data source default port.
- *
- * @param databaseType database type
- * @return default port
- */
- public int getActualDataSourceDefaultPort(final DatabaseType databaseType)
{
- int defaultPort =
DatabaseTypedSPILoader.getService(StorageContainerOption.class,
databaseType).getCreateOption().getPort();
- return Integer.parseInt(props.getOrDefault("e2e.native.storage.port",
defaultPort).toString());
- }
-
- /**
- * Get actual data source username.
- *
- * @return actual data source username
- */
- public String getActualDataSourceUsername() {
- return type == Type.NATIVE ?
String.valueOf(props.getOrDefault("e2e.native.storage.username",
ProxyContainerConstants.USER)) : StorageContainerConstants.OPERATION_USER;
- }
-
- /**
- * Get actual data source password.
- *
- * @return actual data source password
- */
- public String getActualDataSourcePassword() {
- return type == Type.NATIVE ?
props.getOrDefault("e2e.native.storage.password",
ProxyContainerConstants.PASSWORD).toString() :
StorageContainerConstants.OPERATION_PASSWORD;
- }
-
/**
* Get instance.
*
diff --git
a/test/e2e/operation/transaction/src/test/java/org/apache/shardingsphere/test/e2e/operation/transaction/framework/container/compose/TransactionDockerContainerComposer.java
b/test/e2e/operation/transaction/src/test/java/org/apache/shardingsphere/test/e2e/operation/transaction/framework/container/compose/TransactionDockerContainerComposer.java
index 739b2153b14..5eca7fc2c7e 100644
---
a/test/e2e/operation/transaction/src/test/java/org/apache/shardingsphere/test/e2e/operation/transaction/framework/container/compose/TransactionDockerContainerComposer.java
+++
b/test/e2e/operation/transaction/src/test/java/org/apache/shardingsphere/test/e2e/operation/transaction/framework/container/compose/TransactionDockerContainerComposer.java
@@ -35,9 +35,9 @@ import
org.apache.shardingsphere.test.e2e.env.container.storage.StorageContainer
import
org.apache.shardingsphere.test.e2e.env.container.storage.option.StorageContainerOption;
import
org.apache.shardingsphere.test.e2e.env.container.storage.type.DockerStorageContainer;
import
org.apache.shardingsphere.test.e2e.env.container.storage.type.NativeStorageContainer;
+import org.apache.shardingsphere.test.e2e.env.runtime.E2ETestEnvironment;
import
org.apache.shardingsphere.test.e2e.env.runtime.type.ArtifactEnvironment.Adapter;
import org.apache.shardingsphere.test.e2e.env.runtime.type.RunEnvironment.Type;
-import
org.apache.shardingsphere.test.e2e.operation.transaction.env.TransactionE2EEnvironment;
import
org.apache.shardingsphere.test.e2e.operation.transaction.framework.container.config.TransactionProxyContainerConfigurationFactory;
import
org.apache.shardingsphere.test.e2e.operation.transaction.framework.param.TransactionTestParameter;
@@ -61,17 +61,17 @@ public final class TransactionDockerContainerComposer
extends TransactionBaseCon
super(testParam.getScenario());
DatabaseType databaseType = testParam.getDatabaseType();
GovernanceContainer governanceContainer =
getContainers().registerContainer(new
GovernanceContainer(TypedSPILoader.getService(GovernanceContainerOption.class,
"ZooKeeper")));
- if (Type.DOCKER == TransactionE2EEnvironment.getInstance().getType()) {
- storageContainer = getContainers().registerContainer(new
DockerStorageContainer(
- testParam.getStorageContainerImage(),
DatabaseTypedSPILoader.getService(StorageContainerOption.class, databaseType),
testParam.getScenario()));
+ Type type =
E2ETestEnvironment.getInstance().getRunEnvironment().getType();
+ if (Type.DOCKER == type) {
+ storageContainer = getContainers().registerContainer(
+ new
DockerStorageContainer(testParam.getStorageContainerImage(),
DatabaseTypedSPILoader.getService(StorageContainerOption.class, databaseType),
testParam.getScenario()));
} else {
storageContainer = getContainers().registerContainer(new
NativeStorageContainer(databaseType, testParam.getScenario()));
}
if (Adapter.PROXY.getValue().equalsIgnoreCase(testParam.getAdapter()))
{
jdbcContainer = null;
AdaptorContainerConfiguration containerConfig =
TransactionProxyContainerConfigurationFactory.newInstance(testParam.getScenario(),
databaseType, testParam.getPortBindings());
- proxyContainer = AdapterContainerFactory.newInstance(
- Adapter.PROXY, databaseType, testParam.getScenario(),
containerConfig, storageContainer,
TransactionE2EEnvironment.getInstance().getType().name());
+ proxyContainer =
AdapterContainerFactory.newInstance(Adapter.PROXY, databaseType,
testParam.getScenario(), containerConfig, storageContainer, type.name());
if (proxyContainer instanceof DockerE2EContainer) {
((DockerE2EContainer)
proxyContainer).dependsOn(governanceContainer, storageContainer);
}
diff --git
a/test/e2e/operation/transaction/src/test/resources/env/e2e-env.properties
b/test/e2e/operation/transaction/src/test/resources/env/e2e-env.properties
index 91230d650c7..9b0fa8d6938 100644
--- a/test/e2e/operation/transaction/src/test/resources/env/e2e-env.properties
+++ b/test/e2e/operation/transaction/src/test/resources/env/e2e-env.properties
@@ -15,8 +15,10 @@
# limitations under the License.
#
-#e2e.scenarios=ClassicTransferTestCase
-e2e.scenarios=TransactionDeadlockTestCase, MultiJDBCConnectionsTestCase,
MultiTransactionInConnectionTestCase, MultiOperationsCommitAndRollbackTestCase,
MySQLAutoCommitTestCase, PostgreSQLAutoCommitTestCase,
BroadcastTableTransactionTestCase, ExceptionInTransactionTestCase,
MultiTableCommitAndRollbackTestCase, SingleTableCommitAndRollbackTestCase,
MySQLSetReadOnlyTestCase, MySQLLocalTruncateTestCase, MySQLXATruncateTestCase,
OpenGaussCursorTestCase, NestedTransactionTestCase, ReadwriteSp [...]
+#e2e.cases=ClassicTransferTestCase
+e2e.cases=TransactionDeadlockTestCase, MultiJDBCConnectionsTestCase,
MultiTransactionInConnectionTestCase, MultiOperationsCommitAndRollbackTestCase,
MySQLAutoCommitTestCase, PostgreSQLAutoCommitTestCase,
BroadcastTableTransactionTestCase, ExceptionInTransactionTestCase,
MultiTableCommitAndRollbackTestCase, SingleTableCommitAndRollbackTestCase,
MySQLSetReadOnlyTestCase, MySQLLocalTruncateTestCase, MySQLXATruncateTestCase,
OpenGaussCursorTestCase, NestedTransactionTestCase, ReadwriteSplitt [...]
+
+e2e.scenarios=default,cursor,readwrite-splitting
#e2e.run.type=DOCKER,NATIVE
e2e.run.type=
@@ -26,7 +28,7 @@ transaction.e2e.env.transtypes=LOCAL, XA
# transaction.e2e.env.xa.providers=Atomikos, Narayana
transaction.e2e.env.xa.providers=Atomikos, Narayana
-#e2e.proxy.port.bindings=63308:3308
+#e2e.artifact.proxy.port.bindings=63308:3308
#e2e.artifact.database.mysql.image=mysql:5.7,mysql:8.0
e2e.artifact.database.mysql.image=
diff --git a/test/e2e/sql/src/test/resources/env/e2e-env.properties
b/test/e2e/sql/src/test/resources/env/e2e-env.properties
index 11836088cf5..91d35e2c32a 100644
--- a/test/e2e/sql/src/test/resources/env/e2e-env.properties
+++ b/test/e2e/sql/src/test/resources/env/e2e-env.properties
@@ -38,6 +38,8 @@ e2e.artifact.databases=
#e2e.artifact.database.mysql.image=mysql:8.2.0
+#e2e.artifact.proxy.port.bindings=63308:3308
+
e2e.native.storage.host=127.0.0.1
e2e.native.storage.port=3306
e2e.native.storage.username=root