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 672ea72  support governance's assert (#10004)
672ea72 is described below

commit 672ea720c2eb7fe043f43753f916037e33f6070a
Author: Jieker <[email protected]>
AuthorDate: Fri Apr 9 17:53:22 2021 +0800

    support governance's assert (#10004)
    
    * support governance's assert
    
    * add eof
---
 .../integration/junit/compose/ComposeManager.java  |  1 +
 .../junit/compose/ContainerCompose.java            | 22 ++--------------------
 .../junit/compose/GovernanceContainerCompose.java  | 14 +++++---------
 .../test/integration/engine/it/BaseITCase.java     |  2 +-
 .../test/integration/engine/it/BatchITCase.java    |  4 +++-
 .../test/integration/engine/it/ddl/BaseDDLIT.java  | 10 +++++++---
 .../test/integration/engine/it/dml/BaseDMLIT.java  |  7 +++++--
 7 files changed, 24 insertions(+), 36 deletions(-)

diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-fixture/src/test/java/org/apache/shardingsphere/test/integration/junit/compose/ComposeManager.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-fixture/src/test/java/org/apache/shardingsphere/test/integration/junit/compose/ComposeManager.java
index 0892b9c..dbf73e6 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-fixture/src/test/java/org/apache/shardingsphere/test/integration/junit/compose/ComposeManager.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-fixture/src/test/java/org/apache/shardingsphere/test/integration/junit/compose/ComposeManager.java
@@ -46,6 +46,7 @@ public final class ComposeManager extends ExternalResource {
             return composeMap.get(key);
         }
         ContainerCompose result;
+        // TODO fix sharding_governance
         if ("sharding_governance".equals(parameterizedArray.getScenario())) {
             result = new GovernanceContainerCompose(suiteName, 
parameterizedArray);
         } else {
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-fixture/src/test/java/org/apache/shardingsphere/test/integration/junit/compose/ContainerCompose.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-fixture/src/test/java/org/apache/shardingsphere/test/integration/junit/compose/ContainerCompose.java
index 991a079..4b101b1 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-fixture/src/test/java/org/apache/shardingsphere/test/integration/junit/compose/ContainerCompose.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-fixture/src/test/java/org/apache/shardingsphere/test/integration/junit/compose/ContainerCompose.java
@@ -149,32 +149,14 @@ public abstract class ContainerCompose extends 
ExternalResource implements Close
      * @return ShardingSphere storage container
      */
     public abstract ShardingSphereStorageContainer getStorageContainer();
-    
-    /**
-     * Get target datasource for writer.
-     *
-     * @return datasource
-     */
-    public DataSource getDataSourceForWriter() {
-        return getAdapterContainer().getDataSource();
-    }
-    
-    /**
-     * Get target datasource for reader.
-     *
-     * @return datasource
-     */
-    public DataSource getDataSourceForReader() {
-        return getAdapterContainer().getDataSource();
-    }
-    
+
     /**
      * Get all target datasources.
      *
      * @return datasource map
      */
     public Map<String, DataSource> getDataSourceMap() {
-        return Collections.singletonMap(getAdapterContainer().getDockerName(), 
getAdapterContainer().getDataSource());
+        return Collections.singletonMap("adapterForWriter", 
getAdapterContainer().getDataSource());
     }
     
     @Override
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-fixture/src/test/java/org/apache/shardingsphere/test/integration/junit/compose/GovernanceContainerCompose.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-fixture/src/test/java/org/apache/shardingsphere/test/integration/junit/compose/GovernanceContainerCompose.java
index 91c1ec9..50dcb2d 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-fixture/src/test/java/org/apache/shardingsphere/test/integration/junit/compose/GovernanceContainerCompose.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-fixture/src/test/java/org/apache/shardingsphere/test/integration/junit/compose/GovernanceContainerCompose.java
@@ -38,7 +38,7 @@ public final class GovernanceContainerCompose extends 
ContainerCompose {
     
     @Getter
     private final ShardingSphereAdapterContainer adapterContainer;
-    
+
     private final ShardingSphereAdapterContainer adapterContainerForReader;
     
     public GovernanceContainerCompose(final String clusterName, final 
ParameterizedArray parameterizedArray) {
@@ -51,7 +51,8 @@ public final class GovernanceContainerCompose extends 
ContainerCompose {
             adapterContainerForReader = createContainer(() -> new 
ShardingSphereProxyContainer("ShardingSphere-Proxy-1", parameterizedArray), 
"ShardingSphere-Proxy-1");
             adapterContainerForReader.dependsOn(storageContainer, 
zookeeperContainer);
         } else {
-            adapterContainerForReader = this.adapterContainer;
+            adapterContainerForReader = createAdapterContainer();
+            adapterContainerForReader.dependsOn(storageContainer, 
zookeeperContainer);
         }
         adapterContainer.dependsOn(storageContainer, zookeeperContainer);
     }
@@ -61,15 +62,10 @@ public final class GovernanceContainerCompose extends 
ContainerCompose {
     }
     
     @Override
-    public DataSource getDataSourceForReader() {
-        return adapterContainerForReader.getDataSource();
-    }
-    
-    @Override
     public Map<String, DataSource> getDataSourceMap() {
         Map<String, DataSource> result = new HashMap<>(2);
-        result.put(adapterContainer.getDockerName(), 
adapterContainer.getDataSource());
-        result.put(adapterContainerForReader.getDockerName(), 
adapterContainerForReader.getDataSource());
+        result.put("adapterForWriter", adapterContainer.getDataSource());
+        result.put("adapterForReader", 
adapterContainerForReader.getDataSource());
         return result;
     }
 }
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/BaseITCase.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/BaseITCase.java
index 13ad029..bd00ca8 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/BaseITCase.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/BaseITCase.java
@@ -79,7 +79,7 @@ public abstract class BaseITCase {
     
     @Before
     public final void createDataSource() {
-        targetDataSource = adapterContainer.getDataSource();
+        targetDataSource = compose.getDataSourceMap().get("adapterForWriter");
     }
     
     @After
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/BatchITCase.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/BatchITCase.java
index d27a117..64357dd 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/BatchITCase.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/BatchITCase.java
@@ -29,6 +29,7 @@ import 
org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSet
 import org.apache.shardingsphere.test.integration.cases.dataset.row.DataSetRow;
 import org.apache.shardingsphere.test.integration.env.EnvironmentPath;
 import 
org.apache.shardingsphere.test.integration.env.dataset.DataSetEnvironmentManager;
+import 
org.apache.shardingsphere.test.integration.junit.compose.GovernanceContainerCompose;
 import 
org.apache.shardingsphere.test.integration.junit.param.model.CaseParameterizedArray;
 import org.junit.After;
 import org.junit.Before;
@@ -92,7 +93,8 @@ public abstract class BatchITCase extends BaseITCase {
         DataSetMetadata expectedDataSetMetadata = 
expected.getMetadataList().get(0);
         for (String each : new 
InlineExpressionParser(expectedDataSetMetadata.getDataNodes()).splitAndEvaluate())
 {
             DataNode dataNode = new DataNode(each);
-            try (Connection connection = 
getStorageContainer().getDataSourceMap().get(dataNode.getDataSourceName()).getConnection();
+            try (Connection connection = getCompose() instanceof 
GovernanceContainerCompose
+                    ? 
getCompose().getDataSourceMap().get("adapterForReader").getConnection() : 
getStorageContainer().getDataSourceMap().get(dataNode.getDataSourceName()).getConnection();
                  PreparedStatement preparedStatement = 
connection.prepareStatement(String.format("SELECT * FROM %s ORDER BY 1", 
dataNode.getTableName()))) {
                 assertDataSet(preparedStatement, expected.findRows(dataNode), 
expectedDataSetMetadata);
             }
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/ddl/BaseDDLIT.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/ddl/BaseDDLIT.java
index 9a04abe..808a7bd 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/ddl/BaseDDLIT.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/ddl/BaseDDLIT.java
@@ -28,6 +28,7 @@ import 
org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSet
 import org.apache.shardingsphere.test.integration.engine.it.SingleITCase;
 import org.apache.shardingsphere.test.integration.env.EnvironmentPath;
 import 
org.apache.shardingsphere.test.integration.env.dataset.DataSetEnvironmentManager;
+import 
org.apache.shardingsphere.test.integration.junit.compose.GovernanceContainerCompose;
 import 
org.apache.shardingsphere.test.integration.junit.param.model.AssertionParameterizedArray;
 import org.junit.After;
 import org.junit.Before;
@@ -114,7 +115,8 @@ public abstract class BaseDDLIT extends SingleITCase {
     
     private void assertNotContainsTable(final Collection<DataNode> dataNodes) 
throws SQLException {
         for (DataNode each : dataNodes) {
-            try (Connection connection = 
getStorageContainer().getDataSourceMap().get(each.getDataSourceName()).getConnection())
 {
+            try (Connection connection = getCompose() instanceof 
GovernanceContainerCompose
+                    ? 
getCompose().getDataSourceMap().get("adapterForReader").getConnection() : 
getStorageContainer().getDataSourceMap().get(each.getDataSourceName()).getConnection())
 {
                 assertNotContainsTable(connection, each.getTableName());
             }
         }
@@ -127,7 +129,8 @@ public abstract class BaseDDLIT extends SingleITCase {
     private List<DataSetColumn> getActualColumns(final Collection<DataNode> 
dataNodes) throws SQLException {
         Set<DataSetColumn> result = new LinkedHashSet<>();
         for (DataNode each : dataNodes) {
-            try (Connection connection = 
getStorageContainer().getDataSourceMap().get(each.getDataSourceName()).getConnection())
 {
+            try (Connection connection = getCompose() instanceof 
GovernanceContainerCompose
+                    ? 
getCompose().getDataSourceMap().get("adapterForReader").getConnection() : 
getStorageContainer().getDataSourceMap().get(each.getDataSourceName()).getConnection())
 {
                 result.addAll(getActualColumns(connection, 
each.getTableName()));
             }
         }
@@ -151,7 +154,8 @@ public abstract class BaseDDLIT extends SingleITCase {
     private List<DataSetIndex> getActualIndexes(final Collection<DataNode> 
dataNodes) throws SQLException {
         Set<DataSetIndex> result = new LinkedHashSet<>();
         for (DataNode each : dataNodes) {
-            try (Connection connection = 
getStorageContainer().getDataSourceMap().get(each.getDataSourceName()).getConnection())
 {
+            try (Connection connection = getCompose() instanceof 
GovernanceContainerCompose
+                    ? 
getCompose().getDataSourceMap().get("adapterForReader").getConnection() : 
getStorageContainer().getDataSourceMap().get(each.getDataSourceName()).getConnection())
 {
                 result.addAll(getActualIndexes(connection, 
each.getTableName()));
             }
         }
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dml/BaseDMLIT.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dml/BaseDMLIT.java
index a945c28..fc54962 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dml/BaseDMLIT.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dml/BaseDMLIT.java
@@ -27,6 +27,7 @@ import 
org.apache.shardingsphere.test.integration.cases.dataset.row.DataSetRow;
 import org.apache.shardingsphere.test.integration.engine.it.SingleITCase;
 import org.apache.shardingsphere.test.integration.env.EnvironmentPath;
 import 
org.apache.shardingsphere.test.integration.env.dataset.DataSetEnvironmentManager;
+import 
org.apache.shardingsphere.test.integration.junit.compose.GovernanceContainerCompose;
 import 
org.apache.shardingsphere.test.integration.junit.param.model.AssertionParameterizedArray;
 import org.junit.After;
 import org.junit.Before;
@@ -75,7 +76,8 @@ public abstract class BaseDMLIT extends SingleITCase {
         for (String each : new 
InlineExpressionParser(expectedDataSetMetadata.getDataNodes()).splitAndEvaluate())
 {
             DataNode dataNode = new DataNode(each);
             try (
-                    Connection connection = 
getStorageContainer().getDataSourceMap().get(dataNode.getDataSourceName()).getConnection();
+                    Connection connection = getCompose() instanceof 
GovernanceContainerCompose
+                            ? 
getCompose().getDataSourceMap().get("adapterForReader").getConnection() : 
getStorageContainer().getDataSourceMap().get(dataNode.getDataSourceName()).getConnection();
                     PreparedStatement preparedStatement = 
connection.prepareStatement(generateFetchActualDataSQL(dataNode))) {
                 assertDataSet(preparedStatement, expectedDataSetMetadata, 
getDataSet().findRows(dataNode));
             }
@@ -101,7 +103,8 @@ public abstract class BaseDMLIT extends SingleITCase {
         String sql = String.format("SELECT a.attname, format_type(a.atttypid, 
a.atttypmod) AS data_type "
                 + "FROM pg_index i JOIN pg_attribute a ON a.attrelid = 
i.indrelid AND a.attnum = ANY(i.indkey) WHERE i.indrelid = '%s'::regclass AND 
i.indisprimary", dataNode.getTableName());
         try (
-                Connection connection = 
getStorageContainer().getDataSourceMap().get(dataNode.getDataSourceName()).getConnection();
+                Connection connection = getCompose() instanceof 
GovernanceContainerCompose
+                        ? 
getCompose().getDataSourceMap().get("adapterForReader").getConnection() : 
getStorageContainer().getDataSourceMap().get(dataNode.getDataSourceName()).getConnection();
                 Statement statement = connection.createStatement();
                 ResultSet resultSet = statement.executeQuery(sql)) {
             if (resultSet.next()) {

Reply via email to