This is an automated email from the ASF dual-hosted git repository.
menghaoran 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 93d0cae4a20 Fix cluster IT in empty rules scenario (#19112)
93d0cae4a20 is described below
commit 93d0cae4a20a1bc39a99da3dd38df76c16fddb87
Author: gin <[email protected]>
AuthorDate: Thu Jul 14 13:11:07 2022 +0800
Fix cluster IT in empty rules scenario (#19112)
---
.github/workflows/it.yml | 3 ++-
.../framework/container/atomic/ITContainers.java | 2 +-
.../atomic/governance/impl/ZookeeperContainer.java | 1 +
.../atomic/adapter/AdapterContainerFactory.java | 11 +++++++---
...va => ShardingSphereProxyClusterContainer.java} | 14 ++++++-------
...=> ShardingSphereProxyStandaloneContainer.java} | 8 ++++----
.../compose/ComposedContainerRegistry.java | 7 +++----
.../compose/mode/ClusterComposedContainer.java | 5 +++--
.../compose/mode/StandaloneComposedContainer.java | 3 ++-
.../array/ClusterParameterizedArrayGenerator.java | 7 ++++---
.../param/array/ParameterizedArrayGenerator.java | 6 ++++--
.../StandaloneParameterizedArrayGenerator.java | 4 ++--
.../param/model/AssertionParameterizedArray.java | 2 ++
.../param/model/CaseParameterizedArray.java | 2 ++
.../framework/param/model/ParameterizedArray.java | 7 +++++++
.../common/{ => cluster}/proxy/conf/logback.xml | 0
.../common/{ => cluster}/proxy/conf/server.yaml | 24 +++++++++++-----------
.../common/{ => standalone}/proxy/conf/logback.xml | 0
.../common/{ => standalone}/proxy/conf/server.yaml | 0
19 files changed, 63 insertions(+), 43 deletions(-)
diff --git a/.github/workflows/it.yml b/.github/workflows/it.yml
index 4a38d3ed0d5..85ff22c6410 100644
--- a/.github/workflows/it.yml
+++ b/.github/workflows/it.yml
@@ -101,6 +101,7 @@ jobs:
adapter: [ proxy, jdbc ]
database: [ MySQL, PostgreSQL ]
scenario: [ empty_rules ]
+ mode: [Standalone, Cluster]
steps:
- uses: actions/checkout@v2
- name: Cache Maven Repos
@@ -123,7 +124,7 @@ jobs:
if: matrix.adapter == 'proxy'
run: docker load -i /tmp/shardingsphere-proxy-test.tar
- name: Run Integration Test
- run: ./mvnw -nsu -B install -f
shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/pom.xml
-Dcheckstyle.skip=true -Dspotless.apply.skip=true -Dit.run.modes=Cluster
-Dit.scenarios=${{ matrix.scenario }} -Dit.cluster.adapters=${{ matrix.adapter
}} -Dit.cluster.databases=${{ matrix.database }} -Dit.cluster.env.type=DOCKER
+ run: ./mvnw -nsu -B install -f
shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/pom.xml
-Dcheckstyle.skip=true -Dspotless.apply.skip=true -Dit.run.modes=${{
matrix.mode }} -Dit.scenarios=${{ matrix.scenario }} -Dit.cluster.adapters=${{
matrix.adapter }} -Dit.cluster.databases=${{ matrix.database }}
-Dit.cluster.env.type=DOCKER
it-single-rule:
name: single rule
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/ITContainers.java
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/ITContainers.java
index 5b3c84d7d03..63c87fb0c69 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/ITContainers.java
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/ITContainers.java
@@ -94,7 +94,7 @@ public final class ITContainers implements Startable {
.forEach(each -> {
while (!(each.isRunning() && each.isHealthy())) {
try {
- TimeUnit.MILLISECONDS.sleep(200L);
+ TimeUnit.MILLISECONDS.sleep(500L);
} catch (final InterruptedException ignored) {
}
}
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/governance/impl/ZookeeperContainer.java
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/governance/impl/ZookeeperContainer.java
index 51f4127877d..24917b8ed11 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/governance/impl/ZookeeperContainer.java
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-env/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/governance/impl/ZookeeperContainer.java
@@ -28,6 +28,7 @@ public final class ZookeeperContainer extends
GovernanceContainer {
public ZookeeperContainer() {
super("zookeeper", "zookeeper:3.6.2");
setWaitStrategy(new
LogMessageWaitStrategy().withRegEx(".*PrepRequestProcessor \\(sid:[0-9]+\\)
started.*"));
+ withExposedPorts(2181);
}
@Override
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/adapter/AdapterContainerFactory.java
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/adapter/AdapterContainerFactory.java
index 56720213e4a..957b81ed0f3 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/adapter/AdapterContainerFactory.java
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/adapter/AdapterContainerFactory.java
@@ -21,7 +21,8 @@ import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import
org.apache.shardingsphere.test.integration.framework.container.atomic.adapter.impl.ShardingSphereJDBCContainer;
-import
org.apache.shardingsphere.test.integration.framework.container.atomic.adapter.impl.ShardingSphereProxyContainer;
+import
org.apache.shardingsphere.test.integration.framework.container.atomic.adapter.impl.ShardingSphereProxyClusterContainer;
+import
org.apache.shardingsphere.test.integration.framework.container.atomic.adapter.impl.ShardingSphereProxyStandaloneContainer;
import
org.apache.shardingsphere.test.integration.framework.container.atomic.storage.StorageContainer;
/**
@@ -33,16 +34,20 @@ public final class AdapterContainerFactory {
/**
* Create new instance of adapter container.
*
+ * @param mode mode
* @param adapter adapter
* @param databaseType database type
* @param storageContainer storage container
* @param scenario scenario
* @return created instance
*/
- public static AdapterContainer newInstance(final String adapter, final
DatabaseType databaseType, final StorageContainer storageContainer, final
String scenario) {
+ public static AdapterContainer newInstance(final String mode, final String
adapter, final DatabaseType databaseType, final StorageContainer
storageContainer, final String scenario) {
switch (adapter) {
case "proxy":
- return new ShardingSphereProxyContainer(databaseType,
scenario);
+ if ("Cluster".equalsIgnoreCase(mode)) {
+ return new
ShardingSphereProxyClusterContainer(databaseType, scenario);
+ }
+ return new
ShardingSphereProxyStandaloneContainer(databaseType, scenario);
case "jdbc":
return new ShardingSphereJDBCContainer(storageContainer,
scenario);
default:
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/adapter/impl/ShardingSphereProxyContainer.java
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/adapter/impl/ShardingSphereProxyClusterContainer.java
similarity index 89%
copy from
shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/adapter/impl/ShardingSphereProxyContainer.java
copy to
shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/adapter/impl/ShardingSphereProxyClusterContainer.java
index 3673c004b65..b7ed3327d41 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/adapter/impl/ShardingSphereProxyContainer.java
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/adapter/impl/ShardingSphereProxyClusterContainer.java
@@ -18,12 +18,11 @@
package
org.apache.shardingsphere.test.integration.framework.container.atomic.adapter.impl;
import com.zaxxer.hikari.HikariDataSource;
-import lombok.extern.slf4j.Slf4j;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.test.integration.env.DataSourceEnvironment;
-import
org.apache.shardingsphere.test.integration.framework.container.wait.JDBCConnectionWaitStrategy;
import
org.apache.shardingsphere.test.integration.framework.container.atomic.DockerITContainer;
import
org.apache.shardingsphere.test.integration.framework.container.atomic.adapter.AdapterContainer;
+import
org.apache.shardingsphere.test.integration.framework.container.wait.JDBCConnectionWaitStrategy;
import org.testcontainers.containers.BindMode;
import javax.sql.DataSource;
@@ -32,10 +31,9 @@ import java.util.Objects;
import java.util.concurrent.atomic.AtomicReference;
/**
- * ShardingSphere proxy container.
+ * ShardingSphere proxy container for cluster mode.
*/
-@Slf4j
-public final class ShardingSphereProxyContainer extends DockerITContainer
implements AdapterContainer {
+public final class ShardingSphereProxyClusterContainer extends
DockerITContainer implements AdapterContainer {
private static final String AGENT_HOME_IN_CONTAINER =
"/usr/local/shardingsphere-agent";
@@ -47,7 +45,7 @@ public final class ShardingSphereProxyContainer extends
DockerITContainer implem
private final AtomicReference<DataSource> targetDataSourceProvider = new
AtomicReference<>();
- public ShardingSphereProxyContainer(final DatabaseType databaseType, final
String scenario) {
+ public ShardingSphereProxyClusterContainer(final DatabaseType
databaseType, final String scenario) {
super("ShardingSphere-Proxy", "apache/shardingsphere-proxy-test");
this.databaseType = databaseType;
this.scenario = scenario;
@@ -59,7 +57,7 @@ public final class ShardingSphereProxyContainer extends
DockerITContainer implem
* @param agentHome agent home
* @return self
*/
- public ShardingSphereProxyContainer withAgent(final String agentHome) {
+ public ShardingSphereProxyClusterContainer withAgent(final String
agentHome) {
withEnv(PROPERTY_AGENT_HOME, AGENT_HOME_IN_CONTAINER);
withFileSystemBind(agentHome, AGENT_HOME_IN_CONTAINER,
BindMode.READ_ONLY);
return this;
@@ -73,7 +71,7 @@ public final class ShardingSphereProxyContainer extends
DockerITContainer implem
private void mapConfigurationFiles() {
String containerPath = "/opt/shardingsphere-proxy/conf";
- withClasspathResourceMapping("/env/common/proxy/conf/", containerPath,
BindMode.READ_ONLY);
+ withClasspathResourceMapping("/env/common/cluster/proxy/conf/",
containerPath, BindMode.READ_ONLY);
withClasspathResourceMapping("/env/scenario/" + scenario +
"/proxy/conf/" + databaseType.getType().toLowerCase(), containerPath,
BindMode.READ_ONLY);
}
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/adapter/impl/ShardingSphereProxyContainer.java
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/adapter/impl/ShardingSphereProxyStandaloneContainer.java
similarity index 90%
rename from
shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/adapter/impl/ShardingSphereProxyContainer.java
rename to
shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/adapter/impl/ShardingSphereProxyStandaloneContainer.java
index 3673c004b65..f98cf186979 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/adapter/impl/ShardingSphereProxyContainer.java
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/adapter/impl/ShardingSphereProxyStandaloneContainer.java
@@ -35,7 +35,7 @@ import java.util.concurrent.atomic.AtomicReference;
* ShardingSphere proxy container.
*/
@Slf4j
-public final class ShardingSphereProxyContainer extends DockerITContainer
implements AdapterContainer {
+public final class ShardingSphereProxyStandaloneContainer extends
DockerITContainer implements AdapterContainer {
private static final String AGENT_HOME_IN_CONTAINER =
"/usr/local/shardingsphere-agent";
@@ -47,7 +47,7 @@ public final class ShardingSphereProxyContainer extends
DockerITContainer implem
private final AtomicReference<DataSource> targetDataSourceProvider = new
AtomicReference<>();
- public ShardingSphereProxyContainer(final DatabaseType databaseType, final
String scenario) {
+ public ShardingSphereProxyStandaloneContainer(final DatabaseType
databaseType, final String scenario) {
super("ShardingSphere-Proxy", "apache/shardingsphere-proxy-test");
this.databaseType = databaseType;
this.scenario = scenario;
@@ -59,7 +59,7 @@ public final class ShardingSphereProxyContainer extends
DockerITContainer implem
* @param agentHome agent home
* @return self
*/
- public ShardingSphereProxyContainer withAgent(final String agentHome) {
+ public ShardingSphereProxyStandaloneContainer withAgent(final String
agentHome) {
withEnv(PROPERTY_AGENT_HOME, AGENT_HOME_IN_CONTAINER);
withFileSystemBind(agentHome, AGENT_HOME_IN_CONTAINER,
BindMode.READ_ONLY);
return this;
@@ -73,7 +73,7 @@ public final class ShardingSphereProxyContainer extends
DockerITContainer implem
private void mapConfigurationFiles() {
String containerPath = "/opt/shardingsphere-proxy/conf";
- withClasspathResourceMapping("/env/common/proxy/conf/", containerPath,
BindMode.READ_ONLY);
+ withClasspathResourceMapping("/env/common/standalone/proxy/conf/",
containerPath, BindMode.READ_ONLY);
withClasspathResourceMapping("/env/scenario/" + scenario +
"/proxy/conf/" + databaseType.getType().toLowerCase(), containerPath,
BindMode.READ_ONLY);
}
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/ComposedContainerRegistry.java
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/ComposedContainerRegistry.java
index c6a7a3edfc5..10ae9b8b973 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/ComposedContainerRegistry.java
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/ComposedContainerRegistry.java
@@ -53,13 +53,12 @@ public final class ComposedContainerRegistry implements
AutoCloseable {
}
private ComposedContainer createComposedContainer(final ParameterizedArray
parameterizedArray) {
- return isMemoryMode(parameterizedArray) ? new
StandaloneComposedContainer(parameterizedArray) : new
ClusterComposedContainer(parameterizedArray);
+ return isClusterMode(parameterizedArray) ? new
ClusterComposedContainer(parameterizedArray) : new
StandaloneComposedContainer(parameterizedArray);
}
- private boolean isMemoryMode(final ParameterizedArray parameterizedArray) {
+ private boolean isClusterMode(final ParameterizedArray parameterizedArray)
{
// TODO cluster mode often throw exception sometimes, issue is #15517
- return true;
- // return "H2".equals(parameterizedArray.getDatabaseType().getName());
+ return "Cluster".equalsIgnoreCase(parameterizedArray.getMode());
}
@Override
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/mode/ClusterComposedContainer.java
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/mode/ClusterComposedContainer.java
index bfdeed9deed..6e8e5fc1581 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/mode/ClusterComposedContainer.java
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/mode/ClusterComposedContainer.java
@@ -52,11 +52,12 @@ public final class ClusterComposedContainer implements
ComposedContainer {
governanceContainer =
containers.registerContainer(GovernanceContainerFactory.newInstance("ZooKeeper"),
NetworkAliasUtil.getNetworkAlias("zk"));
storageContainer =
containers.registerContainer(StorageContainerFactory.newInstance(parameterizedArray.getDatabaseType(),
scenario),
NetworkAliasUtil.getNetworkAliasWithScenario(parameterizedArray.getDatabaseType().getType(),
scenario));
- adapterContainer =
containers.registerContainer(AdapterContainerFactory.newInstance(parameterizedArray.getAdapter(),
parameterizedArray.getDatabaseType(), storageContainer, scenario),
-
NetworkAliasUtil.getNetworkAliasWithScenario(parameterizedArray.getAdapter(),
scenario));
+ AdapterContainer adapterContainer =
AdapterContainerFactory.newInstance(parameterizedArray.getMode(),
parameterizedArray.getAdapter(), parameterizedArray.getDatabaseType(),
storageContainer,
+ scenario);
if (adapterContainer instanceof DockerITContainer) {
((DockerITContainer)
adapterContainer).dependsOn(governanceContainer, storageContainer);
}
+ this.adapterContainer = containers.registerContainer(adapterContainer,
NetworkAliasUtil.getNetworkAliasWithScenario(parameterizedArray.getAdapter(),
scenario));
}
@Override
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/mode/StandaloneComposedContainer.java
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/mode/StandaloneComposedContainer.java
index 9dc3363b5de..3df605672bd 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/mode/StandaloneComposedContainer.java
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/mode/StandaloneComposedContainer.java
@@ -46,7 +46,8 @@ public final class StandaloneComposedContainer implements
ComposedContainer {
containers = new ITContainers(scenario);
storageContainer =
containers.registerContainer(StorageContainerFactory.newInstance(parameterizedArray.getDatabaseType(),
scenario),
NetworkAliasUtil.getNetworkAliasWithScenario(parameterizedArray.getDatabaseType().getType(),
scenario));
- adapterContainer =
containers.registerContainer(AdapterContainerFactory.newInstance(parameterizedArray.getAdapter(),
parameterizedArray.getDatabaseType(), storageContainer, scenario),
+ adapterContainer =
containers.registerContainer(AdapterContainerFactory.newInstance(parameterizedArray.getMode(),
parameterizedArray.getAdapter(), parameterizedArray.getDatabaseType(),
+ storageContainer, scenario),
NetworkAliasUtil.getNetworkAliasWithScenario(parameterizedArray.getAdapter(),
scenario));
if (adapterContainer instanceof DockerITContainer) {
((DockerITContainer) adapterContainer).dependsOn(storageContainer);
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/array/ClusterParameterizedArrayGenerator.java
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/array/ClusterParameterizedArrayGenerator.java
index a599a35a016..b17de782a44 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/array/ClusterParameterizedArrayGenerator.java
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/array/ClusterParameterizedArrayGenerator.java
@@ -41,8 +41,8 @@ public final class ClusterParameterizedArrayGenerator {
* @return assertion parameterized array
*/
public static Collection<AssertionParameterizedArray>
getAssertionParameterized(final SQLCommandType sqlCommandType) {
- return new ParameterizedArrayGenerator(
- ENV.getClusterEnvironment().getAdapters(), ENV.getScenarios(),
ENV.getClusterEnvironment().getDatabaseTypes()).getAssertionParameterized(sqlCommandType);
+ return new
ParameterizedArrayGenerator(ENV.getClusterEnvironment().getAdapters(),
ENV.getScenarios(), "Cluster",
+
ENV.getClusterEnvironment().getDatabaseTypes()).getAssertionParameterized(sqlCommandType);
}
/**
@@ -52,6 +52,7 @@ public final class ClusterParameterizedArrayGenerator {
* @return case parameterized array
*/
public static Collection<ParameterizedArray> getCaseParameterized(final
SQLCommandType sqlCommandType) {
- return new
ParameterizedArrayGenerator(ENV.getClusterEnvironment().getAdapters(),
ENV.getScenarios(),
ENV.getClusterEnvironment().getDatabaseTypes()).getCaseParameterized(sqlCommandType);
+ return new
ParameterizedArrayGenerator(ENV.getClusterEnvironment().getAdapters(),
ENV.getScenarios(), "Cluster",
+
ENV.getClusterEnvironment().getDatabaseTypes()).getCaseParameterized(sqlCommandType);
}
}
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/array/ParameterizedArrayGenerator.java
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/array/ParameterizedArrayGenerator.java
index adf6b4d4235..7d277f2129a 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/array/ParameterizedArrayGenerator.java
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/array/ParameterizedArrayGenerator.java
@@ -52,6 +52,8 @@ public final class ParameterizedArrayGenerator {
private final Collection<String> envScenarios;
+ private final String envMode;
+
private final Collection<DatabaseType> envDatabaseTypes;
/**
@@ -115,7 +117,7 @@ public final class ParameterizedArrayGenerator {
final SQLExecuteType sqlExecuteType, final SQLCommandType sqlCommandType) {
Collection<String> scenarios = null ==
testCaseContext.getTestCase().getScenarioTypes() ? Collections.emptyList() :
Arrays.asList(testCaseContext.getTestCase().getScenarioTypes().split(","));
return envScenarios.stream().filter(each -> filterScenarios(each,
scenarios, sqlCommandType.getSqlStatementClass()))
- .map(each -> new AssertionParameterizedArray(testCaseContext,
assertion, adapter, each, databaseType,
sqlExecuteType)).collect(Collectors.toList());
+ .map(each -> new AssertionParameterizedArray(testCaseContext,
assertion, adapter, each, envMode, databaseType,
sqlExecuteType)).collect(Collectors.toList());
}
private boolean filterScenarios(final String scenario, final
Collection<String> scenarios, final Class<? extends SQLStatement>
sqlStatementClass) {
@@ -163,7 +165,7 @@ public final class ParameterizedArrayGenerator {
private Collection<ParameterizedArray> getCaseParameterizedArray(final
IntegrationTestCaseContext testCaseContext, final String adapter, final
DatabaseType databaseType) {
Collection<String> scenarios = null ==
testCaseContext.getTestCase().getScenarioTypes() ? Collections.emptyList() :
Arrays.asList(testCaseContext.getTestCase().getScenarioTypes().split(","));
return envScenarios.stream().filter(each -> scenarios.isEmpty() ||
scenarios.contains(each))
- .map(each -> new CaseParameterizedArray(testCaseContext,
adapter, each, databaseType)).collect(Collectors.toList());
+ .map(each -> new CaseParameterizedArray(testCaseContext,
adapter, each, envMode, databaseType)).collect(Collectors.toList());
}
private static Collection<DatabaseType> getDatabaseTypes(final String
databaseTypes) {
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/array/StandaloneParameterizedArrayGenerator.java
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/array/StandaloneParameterizedArrayGenerator.java
index f400a0258d1..931c6719500 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/array/StandaloneParameterizedArrayGenerator.java
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/array/StandaloneParameterizedArrayGenerator.java
@@ -48,7 +48,7 @@ public final class StandaloneParameterizedArrayGenerator {
* @return assertion parameterized array
*/
public static Collection<AssertionParameterizedArray>
getAssertionParameterized(final SQLCommandType sqlCommandType) {
- return new ParameterizedArrayGenerator(ADAPTERS, ENV.getScenarios(),
DATABASE_TYPES).getAssertionParameterized(sqlCommandType);
+ return new ParameterizedArrayGenerator(ADAPTERS, ENV.getScenarios(),
"Standalone", DATABASE_TYPES).getAssertionParameterized(sqlCommandType);
}
/**
@@ -58,6 +58,6 @@ public final class StandaloneParameterizedArrayGenerator {
* @return case parameterized array
*/
public static Collection<ParameterizedArray> getCaseParameterized(final
SQLCommandType sqlCommandType) {
- return new ParameterizedArrayGenerator(ADAPTERS, ENV.getScenarios(),
DATABASE_TYPES).getCaseParameterized(sqlCommandType);
+ return new ParameterizedArrayGenerator(ADAPTERS, ENV.getScenarios(),
"Standalone", DATABASE_TYPES).getCaseParameterized(sqlCommandType);
}
}
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/model/AssertionParameterizedArray.java
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/model/AssertionParameterizedArray.java
index 1cb4280e86d..ec0ed2532e0 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/model/AssertionParameterizedArray.java
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/model/AssertionParameterizedArray.java
@@ -39,6 +39,8 @@ public final class AssertionParameterizedArray implements
ParameterizedArray {
private final String scenario;
+ private final String mode;
+
private final DatabaseType databaseType;
private final SQLExecuteType sqlExecuteType;
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/model/CaseParameterizedArray.java
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/model/CaseParameterizedArray.java
index 3b77fb509f3..7882a1f386d 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/model/CaseParameterizedArray.java
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/model/CaseParameterizedArray.java
@@ -35,6 +35,8 @@ public final class CaseParameterizedArray implements
ParameterizedArray {
private final String scenario;
+ private final String mode;
+
private final DatabaseType databaseType;
@Override
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/model/ParameterizedArray.java
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/model/ParameterizedArray.java
index 515fc9f5d5c..1a8a6e8e0ba 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/model/ParameterizedArray.java
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/param/model/ParameterizedArray.java
@@ -53,6 +53,13 @@ public interface ParameterizedArray {
*/
DatabaseType getDatabaseType();
+ /**
+ * Get mode.
+ *
+ * @return mode
+ */
+ String getMode();
+
/**
* Get key.
*
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/common/proxy/conf/logback.xml
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/common/cluster/proxy/conf/logback.xml
similarity index 100%
copy from
shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/common/proxy/conf/logback.xml
copy to
shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/common/cluster/proxy/conf/logback.xml
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/common/proxy/conf/server.yaml
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/common/cluster/proxy/conf/server.yaml
similarity index 80%
copy from
shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/common/proxy/conf/server.yaml
copy to
shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/common/cluster/proxy/conf/server.yaml
index 9db73a46c23..f5e0992775c 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/common/proxy/conf/server.yaml
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/common/cluster/proxy/conf/server.yaml
@@ -15,18 +15,18 @@
# limitations under the License.
#
-#mode:
-# type: Cluster
-# repository:
-# type: ZooKeeper
-# props:
-# namespace: it_db
-# server-lists: zk.host:2181
-# timeToLiveSeconds: 60
-# operationTimeoutMilliseconds: 500
-# retryIntervalMilliseconds: 500
-# maxRetries: 3
-# overwrite: false
+mode:
+ type: Cluster
+ repository:
+ type: ZooKeeper
+ props:
+ namespace: it_db
+ server-lists: zk.host:2181
+ timeToLiveSeconds: 60
+ operationTimeoutMilliseconds: 500
+ retryIntervalMilliseconds: 500
+ maxRetries: 3
+ overwrite: false
rules:
- !AUTHORITY
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/common/proxy/conf/logback.xml
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/common/standalone/proxy/conf/logback.xml
similarity index 100%
rename from
shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/common/proxy/conf/logback.xml
rename to
shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/common/standalone/proxy/conf/logback.xml
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/common/proxy/conf/server.yaml
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/common/standalone/proxy/conf/server.yaml
similarity index 100%
rename from
shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/common/proxy/conf/server.yaml
rename to
shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/resources/env/common/standalone/proxy/conf/server.yaml