You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by du...@apache.org on 2022/02/15 22:52:07 UTC

[shardingsphere] branch master updated: Unify test username and password for diff database types (#15428)

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 e447cd9  Unify test username and password for diff database types (#15428)
e447cd9 is described below

commit e447cd9955015cc35ce2aed3af37b2621d4a68d6
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Wed Feb 16 06:50:38 2022 +0800

    Unify test username and password for diff database types (#15428)
    
    * Unify test username and password for diff database types
    
    * Refactor mapper port
    
    * Refactor mapper port
    
    * Remove useless getConnectionInitSQL
---
 .../integration/env/DataSourceEnvironment.java     |  4 +--
 .../atomic/storage/DockerStorageContainer.java     |  9 ++++---
 .../atomic/storage/EmbeddedStorageContainer.java   |  7 +++--
 .../container/atomic/storage/StorageContainer.java | 31 ----------------------
 .../container/atomic/storage/impl/H2Container.java | 15 -----------
 .../atomic/storage/impl/MySQLContainer.java        | 20 ++------------
 .../atomic/storage/impl/PostgreSQLContainer.java   | 18 +++----------
 7 files changed, 16 insertions(+), 88 deletions(-)

diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/env/DataSourceEnvironment.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/env/DataSourceEnvironment.java
index 390478a..80ccdd5 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/env/DataSourceEnvironment.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/env/DataSourceEnvironment.java
@@ -58,7 +58,7 @@ public final class DataSourceEnvironment {
     public static String getURL(final DatabaseType databaseType, final String host, final int port) {
         switch (databaseType.getName()) {
             case "H2":
-                return "jdbc:h2:mem:test_db;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MySQL";
+                return "jdbc:h2:mem:test_db;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MySQL;USER=root;PASSWORD=root";
             case "MySQL":
                 return String.format("jdbc:mysql://%s:%s?useServerPrepStmts=true&serverTimezone=UTC&useSSL=false&useLocalSessionState=true&characterEncoding=utf-8", host, port);
             case "PostgreSQL":
@@ -84,7 +84,7 @@ public final class DataSourceEnvironment {
     public static String getURL(final DatabaseType databaseType, final String host, final int port, final String dataSourceName) {
         switch (databaseType.getName()) {
             case "H2":
-                return String.format("jdbc:h2:mem:%s;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MySQL", dataSourceName);
+                return String.format("jdbc:h2:mem:%s;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MySQL;USER=root;PASSWORD=root", dataSourceName);
             case "MySQL":
                 return String.format("jdbc:mysql://%s:%s/%s?useServerPrepStmts=true&serverTimezone=UTC&useSSL=false&useLocalSessionState=true&characterEncoding=utf-8", host, port, dataSourceName);
             case "PostgreSQL":
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/DockerStorageContainer.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/DockerStorageContainer.java
index e1b96fe..91be718 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/DockerStorageContainer.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/DockerStorageContainer.java
@@ -72,12 +72,13 @@ public abstract class DockerStorageContainer extends DockerITContainer implement
     private DataSource createDataSource(final String dataSourceName) {
         HikariDataSource result = new HikariDataSource();
         result.setDriverClassName(DataSourceEnvironment.getDriverClassName(databaseType));
-        result.setJdbcUrl(DataSourceEnvironment.getURL(databaseType, getHost(), getPort(), dataSourceName));
-        result.setUsername(getUsername());
-        result.setPassword(getPassword());
+        result.setJdbcUrl(DataSourceEnvironment.getURL(databaseType, getHost(), getMappedPort(getPort()), dataSourceName));
+        result.setUsername("root");
+        result.setPassword("root");
         result.setMaximumPoolSize(4);
         result.setTransactionIsolation("TRANSACTION_READ_COMMITTED");
-        getConnectionInitSQL().ifPresent(result::setConnectionInitSql);
         return result;
     }
+    
+    protected abstract int getPort();
 }
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/EmbeddedStorageContainer.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/EmbeddedStorageContainer.java
index 8b78883..cfb2081 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/EmbeddedStorageContainer.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/EmbeddedStorageContainer.java
@@ -61,12 +61,11 @@ public abstract class EmbeddedStorageContainer implements EmbeddedITContainer, S
     private DataSource createDataSource(final String dataSourceName) {
         HikariDataSource result = new HikariDataSource();
         result.setDriverClassName(DataSourceEnvironment.getDriverClassName(databaseType));
-        result.setJdbcUrl(DataSourceEnvironment.getURL(databaseType, null, getPort(), dataSourceName));
-        result.setUsername(getUsername());
-        result.setPassword(getPassword());
+        result.setJdbcUrl(DataSourceEnvironment.getURL(databaseType, null, 0, dataSourceName));
+        result.setUsername("root");
+        result.setPassword("root");
         result.setMaximumPoolSize(4);
         result.setTransactionIsolation("TRANSACTION_READ_COMMITTED");
-        getConnectionInitSQL().ifPresent(result::setConnectionInitSql);
         return result;
     }
 }
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/StorageContainer.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/StorageContainer.java
index 55d4999..42c6d21 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/StorageContainer.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/StorageContainer.java
@@ -21,7 +21,6 @@ import org.apache.shardingsphere.test.integration.framework.container.atomic.ITC
 
 import javax.sql.DataSource;
 import java.util.Map;
-import java.util.Optional;
 
 /**
  * Storage container.
@@ -29,36 +28,6 @@ import java.util.Optional;
 public interface StorageContainer extends ITContainer {
     
     /**
-     * Get username.
-     * 
-     * @return username
-     */
-    String getUsername();
-    
-    /**
-     * Get password.
-     * 
-     * @return password
-     */
-    String getPassword();
-    
-    /**
-     * Get connection init SQL.
-     * 
-     * @return connection init SQL
-     */
-    default Optional<String> getConnectionInitSQL() {
-        return Optional.empty();
-    }
-    
-    /**
-     * Get port.
-     * 
-     * @return port
-     */
-    int getPort();
-    
-    /**
      * Get actual data source map.
      *
      * @return actual data source map
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/impl/H2Container.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/impl/H2Container.java
index d628bb0..3610c97 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/impl/H2Container.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/impl/H2Container.java
@@ -63,19 +63,4 @@ public final class H2Container extends EmbeddedStorageContainer {
             RunScript.execute(connection, reader);
         }
     }
-    
-    @Override
-    public String getUsername() {
-        return "sa";
-    }
-    
-    @Override
-    public String getPassword() {
-        return "";
-    }
-    
-    @Override
-    public int getPort() {
-        return 0;
-    }
 }
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/impl/MySQLContainer.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/impl/MySQLContainer.java
index f862565..bc4077d 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/impl/MySQLContainer.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/impl/MySQLContainer.java
@@ -21,7 +21,6 @@ import org.apache.shardingsphere.infra.database.type.DatabaseTypeRegistry;
 import org.apache.shardingsphere.test.integration.framework.container.atomic.storage.DockerStorageContainer;
 
 import java.util.Collections;
-import java.util.Optional;
 
 /**
  * MySQL container.
@@ -40,22 +39,7 @@ public final class MySQLContainer extends DockerStorageContainer {
     }
     
     @Override
-    public String getUsername() {
-        return "root";
-    }
-    
-    @Override
-    public String getPassword() {
-        return "root";
-    }
-    
-    @Override
-    public Optional<String> getConnectionInitSQL() {
-        return Optional.of("SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''))");
-    }
-    
-    @Override
-    public int getPort() {
-        return getMappedPort(3306);
+    protected int getPort() {
+        return 3306;
     }
 }
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/impl/PostgreSQLContainer.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/impl/PostgreSQLContainer.java
index 370d5a9..6b52407 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/impl/PostgreSQLContainer.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/impl/PostgreSQLContainer.java
@@ -48,10 +48,10 @@ public final class PostgreSQLContainer extends DockerStorageContainer {
     @SneakyThrows({ClassNotFoundException.class, SQLException.class, InterruptedException.class})
     protected void execute() {
         Class.forName(DataSourceEnvironment.getDriverClassName(getDatabaseType()));
-        String url = DataSourceEnvironment.getURL(getDatabaseType(), getHost(), getPort());
+        String url = DataSourceEnvironment.getURL(getDatabaseType(), getHost(), getMappedPort(getPort()));
         boolean connected = false;
         while (!connected) {
-            try (Connection ignored = DriverManager.getConnection(url, getUsername(), getPassword())) {
+            try (Connection ignored = DriverManager.getConnection(url, "root", "root")) {
                 connected = true;
                 break;
             } catch (final PSQLException ex) {
@@ -61,17 +61,7 @@ public final class PostgreSQLContainer extends DockerStorageContainer {
     }
     
     @Override
-    public String getUsername() {
-        return "root";
-    }
-    
-    @Override
-    public String getPassword() {
-        return "root";
-    }
-    
-    @Override
-    public int getPort() {
-        return getMappedPort(5432);
+    protected int getPort() {
+        return 5432;
     }
 }