This is an automated email from the ASF dual-hosted git repository.

duanzhengqiang 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 ab04b6b80e2 Fix transaction test case code style (#21393)
ab04b6b80e2 is described below

commit ab04b6b80e22117a1b8351aaba83778e779d42a1
Author: ZhangCheng <[email protected]>
AuthorDate: Sat Oct 8 18:57:27 2022 +0800

    Fix transaction test case code style (#21393)
    
    * Fix transaction test case code style
    
    * Fix
---
 .../cases/alterresource/AddResourceTestCase.java   | 14 ++-
 .../cases/base/BaseTransactionTestCase.java        | 12 ++-
 .../transaction/engine/base/BaseITCase.java        | 99 +++++-----------------
 3 files changed, 46 insertions(+), 79 deletions(-)

diff --git 
a/test/integration-test/transaction/src/test/java/org/apache/shardingsphere/integration/transaction/cases/alterresource/AddResourceTestCase.java
 
b/test/integration-test/transaction/src/test/java/org/apache/shardingsphere/integration/transaction/cases/alterresource/AddResourceTestCase.java
index 26bfded5da1..9c95d5a7cc8 100644
--- 
a/test/integration-test/transaction/src/test/java/org/apache/shardingsphere/integration/transaction/cases/alterresource/AddResourceTestCase.java
+++ 
b/test/integration-test/transaction/src/test/java/org/apache/shardingsphere/integration/transaction/cases/alterresource/AddResourceTestCase.java
@@ -27,6 +27,9 @@ import javax.sql.DataSource;
 import java.sql.Connection;
 import java.sql.SQLException;
 
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
+
 /**
  * Integration test of add resource.
  */
@@ -44,14 +47,21 @@ public final class AddResourceTestCase extends 
BaseTransactionTestCase {
     
     private void assertAddResource() throws SQLException {
         Connection conn = getDataSource().getConnection();
-        getBaseTransactionITCase().addNewResource(conn);
-        getBaseTransactionITCase().createThreeDataSourceAccountTableRule(conn);
+        getBaseTransactionITCase().addResource(conn, "transaction_it_2");
+        createThreeDataSourceAccountTableRule(conn);
         reCreateAccountTable(conn);
         assertRollback();
         assertCommit();
         conn.close();
     }
     
+    private void createThreeDataSourceAccountTableRule(final Connection 
connection) throws SQLException {
+        executeWithLog(connection, "DROP SHARDING TABLE RULE account;");
+        executeWithLog(connection, 
getBaseTransactionITCase().getCommonSQLCommand().getCreateThreeDataSourceAccountTableRule());
+        int ruleCount = countWithLog(connection, "SHOW SHARDING TABLE RULES 
FROM sharding_db;");
+        assertThat(ruleCount, is(3));
+    }
+    
     private void reCreateAccountTable(final Connection conn) throws 
SQLException {
         getBaseTransactionITCase().dropAccountTable(conn);
         getBaseTransactionITCase().createAccountTable(conn);
diff --git 
a/test/integration-test/transaction/src/test/java/org/apache/shardingsphere/integration/transaction/cases/base/BaseTransactionTestCase.java
 
b/test/integration-test/transaction/src/test/java/org/apache/shardingsphere/integration/transaction/cases/base/BaseTransactionTestCase.java
index 6aea54627df..7d290411b1c 100644
--- 
a/test/integration-test/transaction/src/test/java/org/apache/shardingsphere/integration/transaction/cases/base/BaseTransactionTestCase.java
+++ 
b/test/integration-test/transaction/src/test/java/org/apache/shardingsphere/integration/transaction/cases/base/BaseTransactionTestCase.java
@@ -47,7 +47,7 @@ public abstract class BaseTransactionTestCase {
     
     /**
      * Execute test cases.
-     * 
+     *
      * @throws SQLException SQL exception
      */
     public void execute() throws SQLException {
@@ -105,4 +105,14 @@ public abstract class BaseTransactionTestCase {
             conn.createStatement().execute(each);
         }
     }
+    
+    protected int countWithLog(final Connection conn, final String sql) throws 
SQLException {
+        Statement statement = conn.createStatement();
+        ResultSet rs = statement.executeQuery(sql);
+        int result = 0;
+        while (rs.next()) {
+            result++;
+        }
+        return result;
+    }
 }
diff --git 
a/test/integration-test/transaction/src/test/java/org/apache/shardingsphere/integration/transaction/engine/base/BaseITCase.java
 
b/test/integration-test/transaction/src/test/java/org/apache/shardingsphere/integration/transaction/engine/base/BaseITCase.java
index 0b50fcbd6a0..218f40af4b1 100644
--- 
a/test/integration-test/transaction/src/test/java/org/apache/shardingsphere/integration/transaction/engine/base/BaseITCase.java
+++ 
b/test/integration-test/transaction/src/test/java/org/apache/shardingsphere/integration/transaction/engine/base/BaseITCase.java
@@ -31,7 +31,6 @@ import 
org.apache.shardingsphere.infra.database.type.dialect.PostgreSQLDatabaseT
 import 
org.apache.shardingsphere.integration.transaction.cases.base.BaseTransactionTestCase;
 import 
org.apache.shardingsphere.integration.transaction.engine.command.CommonSQLCommand;
 import 
org.apache.shardingsphere.integration.transaction.engine.constants.TransactionTestConstants;
-import 
org.apache.shardingsphere.integration.transaction.engine.entity.JdbcInfoEntity;
 import 
org.apache.shardingsphere.integration.transaction.env.IntegrationTestEnvironment;
 import 
org.apache.shardingsphere.integration.transaction.env.enums.TransactionITEnvTypeEnum;
 import 
org.apache.shardingsphere.integration.transaction.env.enums.TransactionTestCaseRegistry;
@@ -85,9 +84,6 @@ public abstract class BaseITCase {
     
     protected static final String DATA_SOURCE_1 = TRANSACTION_IT + "_1";
     
-    /**
-     * For adding resource tests.
-     */
     protected static final String DATA_SOURCE_2 = TRANSACTION_IT + "_2";
     
     protected static final Collection<String> ALL_DATA_SOURCES = 
Arrays.asList(DATA_SOURCE_0, DATA_SOURCE_1, DATA_SOURCE_2);
@@ -100,6 +96,7 @@ public abstract class BaseITCase {
     
     private final BaseContainerComposer containerComposer;
     
+    @Getter(AccessLevel.PUBLIC)
     private final CommonSQLCommand commonSQLCommand;
     
     private final DatabaseType databaseType;
@@ -121,11 +118,7 @@ public abstract class BaseITCase {
         containerComposer = initializeContainerComposer(parameterized);
         commonSQLCommand = loadCommonSQLCommand();
         initActualDataSources();
-        if (isProxyAdapter(parameterized)) {
-            createProxyDatabase();
-        } else {
-            createJdbcDataSource();
-        }
+        dataSource = isProxyAdapter(parameterized) ? createProxyDataSource() : 
createJdbcDataSource();
     }
     
     private BaseContainerComposer initializeContainerComposer(final 
TransactionParameterized parameterized) {
@@ -141,44 +134,11 @@ public abstract class BaseITCase {
     }
     
     private void initActualDataSources() throws SQLException {
-        JdbcInfoEntity jdbcInfo = getJdbcInfoEntity();
-        String jdbcUrl = getJdbcUrl(jdbcInfo);
-        dropDatabases(jdbcUrl, jdbcInfo);
-        createDatabases(jdbcUrl, jdbcInfo);
-    }
-    
-    private JdbcInfoEntity getJdbcInfoEntity() {
-        if (ENV.getItEnvType() == TransactionITEnvTypeEnum.DOCKER) {
-            DockerStorageContainer storageContainer = 
((DockerContainerComposer) containerComposer).getStorageContainer();
-            return new JdbcInfoEntity(storageContainer.getUsername(), 
storageContainer.getPassword(), storageContainer.getExposedPort());
-        }
-        return ENV.getActualDatabaseJdbcInfo(getDatabaseType());
-    }
-    
-    private String getJdbcUrl(final JdbcInfoEntity jdbcInfo) {
-        if (ENV.getItEnvType() == TransactionITEnvTypeEnum.DOCKER) {
-            DockerStorageContainer storageContainer = 
((DockerContainerComposer) containerComposer).getStorageContainer();
-            return storageContainer.getJdbcUrl("");
-        }
-        return DataSourceEnvironment.getURL(databaseType, "localhost", 
jdbcInfo.getPort());
-    }
-    
-    private void dropDatabases(final String jdbcUrl, final JdbcInfoEntity 
jdbcInfo) throws SQLException {
-        try (Connection connection = DriverManager.getConnection(jdbcUrl, 
jdbcInfo.getUsername(), jdbcInfo.getPassword())) {
-            for (String each : ALL_DATA_SOURCES) {
-                executeWithLog(connection, String.format("DROP DATABASE IF 
EXISTS %s", each));
-            }
-        }
-    }
-    
-    private void createDatabases(final String jdbcUrl, final JdbcInfoEntity 
jdbcInfo) throws SQLException {
-        try (Connection connection = DriverManager.getConnection(jdbcUrl, 
jdbcInfo.getUsername(), jdbcInfo.getPassword())) {
+        DockerStorageContainer storageContainer = ((DockerContainerComposer) 
containerComposer).getStorageContainer();
+        String jdbcUrl = storageContainer.getJdbcUrl("");
+        try (Connection connection = DriverManager.getConnection(jdbcUrl, 
storageContainer.getUsername(), storageContainer.getPassword())) {
             for (String each : ALL_DATA_SOURCES) {
-                try {
-                    executeWithLog(connection, String.format("CREATE DATABASE 
%s", each));
-                } catch (final SQLException ex) {
-                    log.error("Error occurred when create database. error 
msg={}", ex.getMessage());
-                }
+                executeWithLog(connection, String.format("CREATE DATABASE %s", 
each));
             }
         }
     }
@@ -187,15 +147,16 @@ public abstract class BaseITCase {
         return 
parameterized.getAdapter().equalsIgnoreCase(AdapterContainerConstants.PROXY);
     }
     
-    private void createProxyDatabase() throws SQLException {
+    private ProxyDataSource createProxyDataSource() throws SQLException {
+        initProxyDatabase();
+        return new ProxyDataSource(containerComposer, SHARDING_DB, 
ENV.getProxyUserName(), ENV.getProxyPassword());
+    }
+    
+    private void initProxyDatabase() throws SQLException {
         String jdbcUrl = getProxyJdbcUrl(databaseType);
         try (Connection connection = DriverManager.getConnection(jdbcUrl, 
ENV.getProxyUserName(), ENV.getProxyPassword())) {
-            if (ENV.getItEnvType() == TransactionITEnvTypeEnum.NATIVE) {
-                executeWithLog(connection, "DROP DATABASE IF EXISTS " + 
SHARDING_DB);
-            }
             executeWithLog(connection, "CREATE DATABASE " + SHARDING_DB);
         }
-        dataSource = new ProxyDataSource(containerComposer, SHARDING_DB, 
ENV.getProxyUserName(), ENV.getProxyPassword());
     }
     
     private String getProxyJdbcUrl(final DatabaseType databaseType) {
@@ -216,15 +177,13 @@ public abstract class BaseITCase {
         return result;
     }
     
-    private void createJdbcDataSource() {
-        if (containerComposer instanceof DockerContainerComposer) {
-            DockerContainerComposer dockerContainerComposer = 
(DockerContainerComposer) containerComposer;
-            DockerStorageContainer storageContainer = 
dockerContainerComposer.getStorageContainer();
-            Map<String, DataSource> actualDataSourceMap = 
storageContainer.getActualDataSourceMap();
-            actualDataSourceMap.put("ds_0", createDataSource(storageContainer, 
DATA_SOURCE_0));
-            actualDataSourceMap.put("ds_1", createDataSource(storageContainer, 
DATA_SOURCE_1));
-            dataSource = new JdbcDataSource(dockerContainerComposer);
-        }
+    private JdbcDataSource createJdbcDataSource() {
+        DockerContainerComposer dockerContainerComposer = 
(DockerContainerComposer) containerComposer;
+        DockerStorageContainer storageContainer = 
dockerContainerComposer.getStorageContainer();
+        Map<String, DataSource> actualDataSourceMap = 
storageContainer.getActualDataSourceMap();
+        actualDataSourceMap.put("ds_0", createDataSource(storageContainer, 
DATA_SOURCE_0));
+        actualDataSourceMap.put("ds_1", createDataSource(storageContainer, 
DATA_SOURCE_1));
+        return new JdbcDataSource(dockerContainerComposer);
     }
     
     private DataSource createDataSource(final DockerStorageContainer 
storageContainer, final String dataSourceName) {
@@ -402,36 +361,24 @@ public abstract class BaseITCase {
     }
     
     /**
-     * Add ds_2 resource to proxy.
+     * Add resource.
      *
      * @param connection connection
+     * @param databaseName database name
      * @throws SQLException SQL exception
      */
     @SneakyThrows(InterruptedException.class)
-    public final void addNewResource(final Connection connection) throws 
SQLException {
+    public final void addResource(final Connection connection, final String 
databaseName) throws SQLException {
         String addSourceResource = 
commonSQLCommand.getSourceAddNewResourceTemplate()
                 .replace("${user}", 
ENV.getActualDataSourceUsername(databaseType))
                 .replace("${password}", 
ENV.getActualDataSourcePassword(databaseType))
-                .replace("${ds2}", getActualJdbcUrlTemplate(DATA_SOURCE_2));
+                .replace("${ds2}", getActualJdbcUrlTemplate(databaseName));
         executeWithLog(connection, addSourceResource);
         int resourceCount = countWithLog("SHOW DATABASE RESOURCES FROM 
sharding_db");
         Thread.sleep(5000L);
         assertThat(resourceCount, is(3));
     }
     
-    /**
-     * Drop previous account table rule and create the table rule with three 
data sources.
-     *
-     * @param connection connection
-     * @throws SQLException SQL exception
-     */
-    public final void createThreeDataSourceAccountTableRule(final Connection 
connection) throws SQLException {
-        executeWithLog(connection, "DROP SHARDING TABLE RULE account;");
-        executeWithLog(connection, 
getCommonSQLCommand().getCreateThreeDataSourceAccountTableRule());
-        int ruleCount = countWithLog("SHOW SHARDING TABLE RULES FROM 
sharding_db;");
-        assertThat(ruleCount, is(3));
-    }
-    
     /**
      * Create the account table rule with one data source.
      *

Reply via email to