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

Reply via email to