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 c9e8eb7  Integration testing framework micro adjustments. (#12174)
c9e8eb7 is described below

commit c9e8eb7df8756da8b88bdb01472f089226577171
Author: Jieker <[email protected]>
AuthorDate: Fri Sep 3 17:45:39 2021 +0800

    Integration testing framework micro adjustments. (#12174)
    
    * Increase the speed of integrated speed measurement.
    
    * add eof
    
    * prefect formulate
---
 .../test/integration/engine/it/BaseITCase.java     | 11 +++---
 .../test/integration/engine/it/BatchITCase.java    | 19 ++++-----
 .../test/integration/engine/it/dcl/BaseDCLIT.java  | 16 ++++----
 .../test/integration/engine/it/ddl/BaseDDLIT.java  | 19 ++++-----
 .../integration/engine/it/ddl/GeneralDDLIT.java    | 46 +++++++++++++++-------
 .../test/integration/engine/it/dml/BaseDMLIT.java  | 13 +++---
 .../test/integration/engine/it/dql/BaseDQLIT.java  | 10 +++--
 7 files changed, 79 insertions(+), 55 deletions(-)

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 479ba1b..13f6163 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
@@ -35,6 +35,7 @@ import org.junit.Rule;
 import org.junit.runner.RunWith;
 
 import javax.sql.DataSource;
+import java.io.IOException;
 import java.text.ParseException;
 import java.util.Map;
 import java.util.TimeZone;
@@ -59,11 +60,11 @@ public abstract class BaseITCase {
     private final IntegrationTestCase integrationTestCase;
     
     private final ShardingSphereStorageContainer storageContainer;
-    
+
     private final ShardingSphereAdapterContainer adapterContainer;
 
     private Map<String, DataSource> dataSourceMap;
-    
+
     private DataSource targetDataSource;
 
     private DataSource dataSourceForReader;
@@ -84,7 +85,7 @@ public abstract class BaseITCase {
     }
     
     @Before
-    public final void createDataSource() {
+    public void init() throws IOException {
         dataSourceMap = compose.getDataSourceMap();
         targetDataSource = dataSourceMap.get("adapterForWriter");
         if (compose instanceof GovernanceContainerCompose) {
@@ -93,11 +94,11 @@ public abstract class BaseITCase {
     }
     
     @After
-    public final void tearDown() throws Exception {
+    public void tearDown() throws Exception {
         if (targetDataSource instanceof ShardingSphereDataSource) {
             ((ShardingSphereDataSource) 
targetDataSource).getContextManager().close();
         }
-        if (dataSourceForReader != null) {
+        if (null != dataSourceForReader && dataSourceForReader instanceof 
ShardingSphereDataSource) {
             ((ShardingSphereDataSource) 
dataSourceForReader).getContextManager().close();
             dataSourceMap.clear();
         }
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 b971ee0..622f781 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
@@ -19,6 +19,7 @@ package org.apache.shardingsphere.test.integration.engine.it;
 
 import lombok.AccessLevel;
 import lombok.Getter;
+import lombok.SneakyThrows;
 import org.apache.shardingsphere.infra.datanode.DataNode;
 import org.apache.shardingsphere.sharding.support.InlineExpressionParser;
 import 
org.apache.shardingsphere.test.integration.cases.assertion.IntegrationTestCaseAssertion;
@@ -31,10 +32,7 @@ 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;
 
-import javax.xml.bind.JAXBException;
 import java.io.IOException;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
@@ -67,9 +65,11 @@ public abstract class BatchITCase extends BaseITCase {
         super(parameterizedArray);
         this.parentPath = 
parameterizedArray.getTestCaseContext().getParentPath();
     }
-    
-    @Before
-    public void fillData() throws SQLException, ParseException, IOException, 
JAXBException {
+
+    @SneakyThrows
+    @Override
+    public void init() throws IOException {
+        super.init();
         for (IntegrationTestCaseAssertion each : 
getIntegrationTestCase().getAssertions()) {
             dataSets.add(DataSetLoader.load(getParentPath(), getScenario(), 
getDatabaseType(), each.getExpectedDataFile()));
         }
@@ -82,9 +82,10 @@ public abstract class BatchITCase extends BaseITCase {
         return getIntegrationTestCase().getSql();
     }
     
-    @After
-    public void clearData() {
+    @Override
+    public void tearDown() throws Exception {
         dataSetEnvironmentManager.clearData();
+        super.tearDown();
     }
     
     protected final void assertDataSets(final int[] actualUpdateCounts) throws 
SQLException {
@@ -94,7 +95,7 @@ public abstract class BatchITCase extends BaseITCase {
         for (String each : new 
InlineExpressionParser(expectedDataSetMetadata.getDataNodes()).splitAndEvaluate())
 {
             DataNode dataNode = new DataNode(each);
             try (Connection connection = getCompose() instanceof 
GovernanceContainerCompose
-                    ? 
getCompose().getDataSourceMap().get("adapterForReader").getConnection() : 
getStorageContainer().getDataSourceMap().get(dataNode.getDataSourceName()).getConnection();
+                    ? getDataSourceForReader().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/dcl/BaseDCLIT.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dcl/BaseDCLIT.java
index b3edd15..566cf4c 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dcl/BaseDCLIT.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dcl/BaseDCLIT.java
@@ -17,16 +17,13 @@
 
 package org.apache.shardingsphere.test.integration.engine.it.dcl;
 
+import lombok.SneakyThrows;
 import org.apache.shardingsphere.test.integration.engine.it.SingleITCase;
 import org.apache.shardingsphere.test.integration.env.EnvironmentPath;
 import 
org.apache.shardingsphere.test.integration.env.authority.AuthorityEnvironmentManager;
 import 
org.apache.shardingsphere.test.integration.junit.param.model.AssertionParameterizedArray;
-import org.junit.After;
-import org.junit.Before;
 
-import javax.xml.bind.JAXBException;
 import java.io.IOException;
-import java.sql.SQLException;
 
 public abstract class BaseDCLIT extends SingleITCase {
     
@@ -36,8 +33,10 @@ public abstract class BaseDCLIT extends SingleITCase {
         super(parameterizedArray);
     }
     
-    @Before
-    public final void insertData() throws SQLException, IOException, 
JAXBException {
+    @SneakyThrows
+    @Override
+    public final void init() throws IOException {
+        super.init();
         authorityEnvironmentManager = new AuthorityEnvironmentManager(
                 EnvironmentPath.getAuthorityFile(getScenario()),
                 getStorageContainer().getDataSourceMap(),
@@ -46,8 +45,9 @@ public abstract class BaseDCLIT extends SingleITCase {
         authorityEnvironmentManager.initialize();
     }
     
-    @After
-    public final void cleanData() throws SQLException {
+    @Override
+    public final void tearDown() throws Exception {
         authorityEnvironmentManager.clean();
+        super.tearDown();
     }
 }
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 776a7f7..ecead5e 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
@@ -20,8 +20,8 @@ package 
org.apache.shardingsphere.test.integration.engine.it.ddl;
 import com.google.common.base.Splitter;
 import lombok.SneakyThrows;
 import org.apache.shardingsphere.infra.datanode.DataNode;
-import org.apache.shardingsphere.sharding.support.InlineExpressionParser;
 import 
org.apache.shardingsphere.sharding.route.engine.exception.NoSuchTableException;
+import org.apache.shardingsphere.sharding.support.InlineExpressionParser;
 import 
org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSetColumn;
 import 
org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSetIndex;
 import 
org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSetMetadata;
@@ -30,9 +30,8 @@ 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;
 
+import java.io.IOException;
 import java.sql.Connection;
 import java.sql.DatabaseMetaData;
 import java.sql.PreparedStatement;
@@ -58,9 +57,10 @@ public abstract class BaseDDLIT extends SingleITCase {
         super(parameterizedArray);
     }
     
-    @Before
     @SneakyThrows
-    public final void initTables() {
+    @Override
+    public final void init() throws IOException {
+        super.init();
         assertNotNull("Expected affected table is required", 
getAssertion().getInitialSQL());
         assertNotNull("Expected affected table is required", 
getAssertion().getInitialSQL().getAffectedTable());
         dataSetEnvironmentManager = new DataSetEnvironmentManager(
@@ -73,12 +73,13 @@ public abstract class BaseDDLIT extends SingleITCase {
         }
     }
     
-    @After
-    public final void destroyTables() throws SQLException {
+    @Override
+    public final void tearDown() throws Exception {
         dataSetEnvironmentManager.clearData();
         try (Connection connection = getTargetDataSource().getConnection()) {
             dropInitializedTable(connection);
         }
+        super.tearDown();
     }
     
     private void executeInitSQLs(final Connection connection) throws 
SQLException {
@@ -112,7 +113,7 @@ public abstract class BaseDDLIT extends SingleITCase {
         assertColumnMetaData(actualColumns, expected.getColumns());
         assertIndexMetaData(actualIndexes, expected.getIndexes());
     }
-    
+
     private void assertNotContainsTable(final Collection<DataNode> dataNodes) 
throws SQLException {
         for (DataNode each : dataNodes) {
             try (Connection connection = getCompose() instanceof 
GovernanceContainerCompose
@@ -125,7 +126,7 @@ public abstract class BaseDDLIT extends SingleITCase {
     private void assertNotContainsTable(final Connection connection, final 
String tableName) throws SQLException {
         assertFalse(String.format("Table `%s` should not existed", tableName), 
connection.getMetaData().getTables(null, null, tableName, new 
String[]{"TABLE"}).next());
     }
-    
+
     private List<DataSetColumn> getActualColumns(final Collection<DataNode> 
dataNodes) throws SQLException {
         Set<DataSetColumn> result = new LinkedHashSet<>();
         for (DataNode each : dataNodes) {
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/ddl/GeneralDDLIT.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/ddl/GeneralDDLIT.java
index aa77cce..72f11c2 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/ddl/GeneralDDLIT.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/ddl/GeneralDDLIT.java
@@ -36,6 +36,8 @@ import java.text.ParseException;
 import java.util.Collection;
 import java.util.stream.Collectors;
 
+import static org.junit.Assert.assertFalse;
+
 @ParallelRuntimeStrategy(ParallelLevel.SCENARIO)
 public final class GeneralDDLIT extends BaseDDLIT {
     
@@ -53,36 +55,52 @@ public final class GeneralDDLIT extends BaseDDLIT {
                 .peek(each -> 
each.setCompose(composeManager.getOrCreateCompose(each)))
                 .collect(Collectors.toList());
     }
-    
+
     @Test
     public void assertExecuteUpdate() throws SQLException, ParseException {
         try (Connection connection = getTargetDataSource().getConnection()) {
             if (SQLExecuteType.Literal == getSqlExecuteType()) {
-                try (Statement statement = connection.createStatement()) {
-                    statement.executeUpdate(getSQL());
-                }
+                executeUpdateForStatement(connection);
             } else {
-                try (PreparedStatement statement = 
connection.prepareStatement(getSQL())) {
-                    statement.executeUpdate();
-                }
+                executeUpdateForPreparedStatement(connection);
             }
             assertTableMetaData();
         }
     }
-    
+
+    private void executeUpdateForStatement(final Connection connection) throws 
SQLException, ParseException {
+        try (Statement statement = connection.createStatement()) {
+            assertFalse("Not a DDL statement.", 
statement.executeUpdate(getSQL()) > 0);
+        }
+    }
+
+    private void executeUpdateForPreparedStatement(final Connection 
connection) throws SQLException, ParseException {
+        try (PreparedStatement preparedStatement = 
connection.prepareStatement(getSQL())) {
+            assertFalse("Not a DDL statement.", 
preparedStatement.executeUpdate() > 0);
+        }
+    }
+
     @Test
     public void assertExecute() throws SQLException, ParseException {
         try (Connection connection = getTargetDataSource().getConnection()) {
             if (SQLExecuteType.Literal == getSqlExecuteType()) {
-                try (Statement statement = connection.createStatement()) {
-                    statement.execute(getSQL());
-                }
+                executeForStatement(connection);
             } else {
-                try (PreparedStatement statement = 
connection.prepareStatement(getSQL())) {
-                    statement.execute();
-                }
+                executeForPreparedStatement(connection);
             }
             assertTableMetaData();
         }
     }
+
+    private void executeForStatement(final Connection connection) throws 
SQLException, ParseException {
+        try (Statement statement = connection.createStatement()) {
+            assertFalse("Not a DDL statement.", statement.execute(getSQL()));
+        }
+    }
+
+    private void executeForPreparedStatement(final Connection connection) 
throws SQLException, ParseException {
+        try (PreparedStatement preparedStatement = 
connection.prepareStatement(getSQL())) {
+            assertFalse("Not a DDL statement.", preparedStatement.execute());
+        }
+    }
 }
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 285627e..361fd5c 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
@@ -29,9 +29,8 @@ 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;
 
+import java.io.IOException;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
@@ -54,9 +53,10 @@ public abstract class BaseDMLIT extends SingleITCase {
         super(parameterizedArray);
     }
     
-    @Before
     @SneakyThrows
-    public final void fillData() {
+    @Override
+    public final void init() throws IOException {
+        super.init();
         dataSetEnvironmentManager = new DataSetEnvironmentManager(
                 EnvironmentPath.getDataSetFile(getScenario()),
                 getStorageContainer().getDataSourceMap()
@@ -64,9 +64,10 @@ public abstract class BaseDMLIT extends SingleITCase {
         dataSetEnvironmentManager.fillData();
     }
     
-    @After
-    public final void cleanup() {
+    @Override
+    public final void tearDown() throws Exception {
         dataSetEnvironmentManager.clearData();
+        super.tearDown();
     }
     
     protected final void assertDataSet(final int actualUpdateCount) throws 
SQLException {
diff --git 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dql/BaseDQLIT.java
 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dql/BaseDQLIT.java
index 246face..e034b56 100644
--- 
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dql/BaseDQLIT.java
+++ 
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dql/BaseDQLIT.java
@@ -17,6 +17,7 @@
 
 package org.apache.shardingsphere.test.integration.engine.it.dql;
 
+import lombok.SneakyThrows;
 import 
org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSetColumn;
 import 
org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSetMetadata;
 import org.apache.shardingsphere.test.integration.cases.dataset.row.DataSetRow;
@@ -24,7 +25,6 @@ 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.param.model.AssertionParameterizedArray;
-import org.junit.Before;
 
 import javax.xml.bind.JAXBException;
 import java.io.IOException;
@@ -47,9 +47,11 @@ public abstract class BaseDQLIT extends SingleITCase {
     public BaseDQLIT(final AssertionParameterizedArray parameter) {
         super(parameter);
     }
-    
-    @Before
-    public void setup() {
+
+    @SneakyThrows
+    @Override
+    public void init() throws IOException {
+        super.init();
         compose.executeOnStarted(compose -> {
             try {
                 new DataSetEnvironmentManager(

Reply via email to