From 0ebdab087ff25c6e61b9f1c3a2abb3a0959f3fbd Mon Sep 17 00:00:00 2001 From: haocao Date: Mon, 3 Jul 2017 18:11:14 +0800 Subject: [PATCH] Refactor integrate test cases 2th. --- .../rdb/integrate/AbstractDBUnitTest.java | 56 +++++++++++-------- ...bstractShardingDatabaseOnlyDBUnitTest.java | 15 ----- .../common/AbstractShardingBothTest.java | 15 ----- ...actShardingDatabaseOnlyHintDBUnitTest.java | 15 ----- ...AbstractShardingMasterSlaveDBUnitTest.java | 25 --------- .../AbstractShardingNullableDBUnitTest.java | 15 ----- .../AbstractSingleResultSetDBUnitTest.java | 7 +-- .../AbstractShardingTablesOnlyDBUnitTest.java | 7 +-- ...esOnlyForPreparedStatementWithDMLTest.java | 4 +- ...dingTablesOnlyForStatementWithDMLTest.java | 4 +- .../integrate/util/DataBaseEnvironment.java | 2 +- .../single/init/{db_single.xml => tbl.xml} | 0 .../expect/delete/{db_single.xml => tbl.xml} | 0 .../expect/insert/{db_single.xml => tbl.xml} | 0 .../expect/update/{db_single.xml => tbl.xml} | 0 .../tbl/init/{db_single.xml => tbl.xml} | 0 .../resources/integrate/schema/table/db.sql | 2 + .../integrate/schema/table/dbtbl.sql | 22 ++++++++ .../integrate/schema/table/master.sql | 22 ++++++++ .../integrate/schema/table/nullable.sql | 1 + .../integrate/schema/table/slave.sql | 22 ++++++++ .../resources/integrate/schema/table/tbl.sql | 21 +++++++ 22 files changed, 129 insertions(+), 126 deletions(-) rename sharding-jdbc-core/src/test/resources/integrate/dataset/single/init/{db_single.xml => tbl.xml} (100%) rename sharding-jdbc-core/src/test/resources/integrate/dataset/tbl/expect/delete/{db_single.xml => tbl.xml} (100%) rename sharding-jdbc-core/src/test/resources/integrate/dataset/tbl/expect/insert/{db_single.xml => tbl.xml} (100%) rename sharding-jdbc-core/src/test/resources/integrate/dataset/tbl/expect/update/{db_single.xml => tbl.xml} (100%) rename sharding-jdbc-core/src/test/resources/integrate/dataset/tbl/init/{db_single.xml => tbl.xml} (100%) create mode 100644 sharding-jdbc-core/src/test/resources/integrate/schema/table/db.sql create mode 100644 sharding-jdbc-core/src/test/resources/integrate/schema/table/dbtbl.sql create mode 100644 sharding-jdbc-core/src/test/resources/integrate/schema/table/master.sql create mode 100644 sharding-jdbc-core/src/test/resources/integrate/schema/table/nullable.sql create mode 100644 sharding-jdbc-core/src/test/resources/integrate/schema/table/slave.sql create mode 100644 sharding-jdbc-core/src/test/resources/integrate/schema/table/tbl.sql diff --git a/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/AbstractDBUnitTest.java b/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/AbstractDBUnitTest.java index e743da8a48..d921c44f47 100644 --- a/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/AbstractDBUnitTest.java +++ b/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/AbstractDBUnitTest.java @@ -32,6 +32,7 @@ import org.dbunit.dataset.ITable; import org.dbunit.dataset.xml.FlatXmlDataSetBuilder; import org.h2.tools.RunScript; import org.junit.Before; +import org.junit.BeforeClass; import javax.sql.DataSource; import java.io.File; @@ -40,6 +41,7 @@ import java.io.InputStreamReader; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; +import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -58,20 +60,26 @@ public abstract class AbstractDBUnitTest { private static final Map DATA_SOURCES = new HashMap<>(); - private final DataBaseEnvironment dbEnv = new DataBaseEnvironment(CURRENT_DB_TYPE); + private static final DataBaseEnvironment DB_ENV = new DataBaseEnvironment(CURRENT_DB_TYPE); @Before public void createSql() { - databaseTestSQL = currentDatabaseTestSQL(dbEnv); + databaseTestSQL = currentDatabaseTestSQL(DB_ENV); } - @Before - public void createSchema() throws SQLException { - for (String each : getSchemaFiles()) { - Connection conn = createDataSource(each).getConnection(); - RunScript.execute(conn, new InputStreamReader(AbstractDBUnitTest.class.getClassLoader().getResourceAsStream(each))); - conn.close(); + @BeforeClass + public static void createSchema() throws SQLException { + Connection conn; + for (int i = 0; i < 10; i++) { + for (String database : Arrays.asList("db", "dbtbl", "nullable", "master", "slave")) { + conn = createDataSource(database + "_" + i).getConnection(); + RunScript.execute(conn, new InputStreamReader(AbstractDBUnitTest.class.getClassLoader().getResourceAsStream("integrate/schema/table/" + database + ".sql"))); + conn.close(); + } } + conn = createDataSource("tbl").getConnection(); + RunScript.execute(conn, new InputStreamReader(AbstractDBUnitTest.class.getClassLoader().getResourceAsStream("integrate/schema/table/tbl.sql"))); + conn.close(); } @Before @@ -79,14 +87,13 @@ public abstract class AbstractDBUnitTest { for (String each : getDataSetFiles()) { InputStream is = AbstractDBUnitTest.class.getClassLoader().getResourceAsStream(each); IDataSet dataSet = new FlatXmlDataSetBuilder().build(new InputStreamReader(is)); - IDatabaseTester databaseTester = new ShardingJdbcDatabaseTester(dbEnv.getDriverClassName(), dbEnv.getURL(getFileName(each)), dbEnv.getUsername(), dbEnv.getPassword(), dbEnv.getSchema()); + IDatabaseTester databaseTester = new ShardingJdbcDatabaseTester(DB_ENV.getDriverClassName(), DB_ENV.getURL(getDatabaseName(each)), + DB_ENV.getUsername(), DB_ENV.getPassword(), DB_ENV.getSchema()); databaseTester.setDataSet(dataSet); databaseTester.onSetup(); } } - protected abstract List getSchemaFiles(); - protected abstract List getDataSetFiles(); protected final String currentDbType() { @@ -94,32 +101,33 @@ public abstract class AbstractDBUnitTest { } protected final boolean isAliasSupport() { - return H2 == dbEnv.getDatabaseType() || MySQL == dbEnv.getDatabaseType(); + return H2 == DB_ENV.getDatabaseType() || MySQL == DB_ENV.getDatabaseType(); } protected final Map createDataSourceMap(final String dataSourceNamePattern) { Map result = new HashMap<>(getDataSetFiles().size()); for (String each : getDataSetFiles()) { - result.put(String.format(dataSourceNamePattern, getFileName(each)), createDataSource(each)); + String database = getDatabaseName(each); + result.put(String.format(dataSourceNamePattern, database), createDataSource(database)); } return result; } - private DataSource createDataSource(final String dataSetFile) { - if (DATA_SOURCES.containsKey(dataSetFile)) { - return DATA_SOURCES.get(dataSetFile); + private static DataSource createDataSource(final String dataSource) { + if (DATA_SOURCES.containsKey(dataSource)) { + return DATA_SOURCES.get(dataSource); } BasicDataSource result = new BasicDataSource(); - result.setDriverClassName(dbEnv.getDriverClassName()); - result.setUrl(dbEnv.getURL(getFileName(dataSetFile))); - result.setUsername(dbEnv.getUsername()); - result.setPassword(dbEnv.getPassword()); + result.setDriverClassName(DB_ENV.getDriverClassName()); + result.setUrl(DB_ENV.getURL(dataSource)); + result.setUsername(DB_ENV.getUsername()); + result.setPassword(DB_ENV.getPassword()); result.setMaxActive(1000); - DATA_SOURCES.put(dataSetFile, result); + DATA_SOURCES.put(dataSource, result); return result; } - private String getFileName(final String dataSetFile) { + private String getDatabaseName(final String dataSetFile) { String fileName = new File(dataSetFile).getName(); if (-1 == fileName.lastIndexOf(".")) { return fileName; @@ -136,7 +144,7 @@ public abstract class AbstractDBUnitTest { for (Object each : params) { ps.setObject(i++, each); } - ITable actualTable = DBUnitUtil.getConnection(dbEnv, connection).createTable(actualTableName, ps); + ITable actualTable = DBUnitUtil.getConnection(DB_ENV, connection).createTable(actualTableName, ps); IDataSet expectedDataSet = new FlatXmlDataSetBuilder().build(new InputStreamReader(AbstractDBUnitTest.class.getClassLoader().getResourceAsStream(expectedDataSetFile))); assertEquals(expectedDataSet.getTable(actualTableName), actualTable); } @@ -144,7 +152,7 @@ public abstract class AbstractDBUnitTest { protected void assertDataSet(final String expectedDataSetFile, final Connection connection, final String actualTableName, final String sql) throws SQLException, DatabaseUnitException { try (Connection conn = connection) { - ITable actualTable = DBUnitUtil.getConnection(dbEnv, conn).createQueryTable(actualTableName, sql); + ITable actualTable = DBUnitUtil.getConnection(DB_ENV, conn).createQueryTable(actualTableName, sql); IDataSet expectedDataSet = new FlatXmlDataSetBuilder().build(new InputStreamReader(AbstractDBUnitTest.class.getClassLoader().getResourceAsStream(expectedDataSetFile))); assertEquals(expectedDataSet.getTable(actualTableName), actualTable); } diff --git a/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/db/AbstractShardingDatabaseOnlyDBUnitTest.java b/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/db/AbstractShardingDatabaseOnlyDBUnitTest.java index 4031b62655..fb363b68fa 100644 --- a/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/db/AbstractShardingDatabaseOnlyDBUnitTest.java +++ b/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/db/AbstractShardingDatabaseOnlyDBUnitTest.java @@ -42,21 +42,6 @@ public abstract class AbstractShardingDatabaseOnlyDBUnitTest extends AbstractDBU private static ShardingDataSource shardingDataSource; - @Override - protected List getSchemaFiles() { - return Arrays.asList( - "integrate/schema/" + currentDbType() + "/db/db_0.sql", - "integrate/schema/" + currentDbType() + "/db/db_1.sql", - "integrate/schema/" + currentDbType() + "/db/db_2.sql", - "integrate/schema/" + currentDbType() + "/db/db_3.sql", - "integrate/schema/" + currentDbType() + "/db/db_4.sql", - "integrate/schema/" + currentDbType() + "/db/db_5.sql", - "integrate/schema/" + currentDbType() + "/db/db_6.sql", - "integrate/schema/" + currentDbType() + "/db/db_7.sql", - "integrate/schema/" + currentDbType() + "/db/db_8.sql", - "integrate/schema/" + currentDbType() + "/db/db_9.sql"); - } - @Override protected List getDataSetFiles() { return Arrays.asList( diff --git a/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/dbtbl/common/AbstractShardingBothTest.java b/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/dbtbl/common/AbstractShardingBothTest.java index 8a1b171f58..08150e31e6 100644 --- a/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/dbtbl/common/AbstractShardingBothTest.java +++ b/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/dbtbl/common/AbstractShardingBothTest.java @@ -25,21 +25,6 @@ import java.util.List; public abstract class AbstractShardingBothTest extends AbstractDBUnitTest { - @Override - protected List getSchemaFiles() { - return Arrays.asList( - "integrate/schema/" + currentDbType() + "/dbtbl/dbtbl_0.sql", - "integrate/schema/" + currentDbType() + "/dbtbl/dbtbl_1.sql", - "integrate/schema/" + currentDbType() + "/dbtbl/dbtbl_2.sql", - "integrate/schema/" + currentDbType() + "/dbtbl/dbtbl_3.sql", - "integrate/schema/" + currentDbType() + "/dbtbl/dbtbl_4.sql", - "integrate/schema/" + currentDbType() + "/dbtbl/dbtbl_5.sql", - "integrate/schema/" + currentDbType() + "/dbtbl/dbtbl_6.sql", - "integrate/schema/" + currentDbType() + "/dbtbl/dbtbl_7.sql", - "integrate/schema/" + currentDbType() + "/dbtbl/dbtbl_8.sql", - "integrate/schema/" + currentDbType() + "/dbtbl/dbtbl_9.sql"); - } - @Override protected List getDataSetFiles() { return Arrays.asList( diff --git a/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/hint/AbstractShardingDatabaseOnlyHintDBUnitTest.java b/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/hint/AbstractShardingDatabaseOnlyHintDBUnitTest.java index 79ea09ad22..57f1195d59 100644 --- a/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/hint/AbstractShardingDatabaseOnlyHintDBUnitTest.java +++ b/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/hint/AbstractShardingDatabaseOnlyHintDBUnitTest.java @@ -47,21 +47,6 @@ public abstract class AbstractShardingDatabaseOnlyHintDBUnitTest extends Abstrac private static ShardingDataSource shardingDataSource; - @Override - protected List getSchemaFiles() { - return Arrays.asList( - "integrate/schema/" + currentDbType() + "/db/db_0.sql", - "integrate/schema/" + currentDbType() + "/db/db_1.sql", - "integrate/schema/" + currentDbType() + "/db/db_2.sql", - "integrate/schema/" + currentDbType() + "/db/db_3.sql", - "integrate/schema/" + currentDbType() + "/db/db_4.sql", - "integrate/schema/" + currentDbType() + "/db/db_5.sql", - "integrate/schema/" + currentDbType() + "/db/db_6.sql", - "integrate/schema/" + currentDbType() + "/db/db_7.sql", - "integrate/schema/" + currentDbType() + "/db/db_8.sql", - "integrate/schema/" + currentDbType() + "/db/db_9.sql"); - } - @Override protected List getDataSetFiles() { return Arrays.asList( diff --git a/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/masterslave/AbstractShardingMasterSlaveDBUnitTest.java b/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/masterslave/AbstractShardingMasterSlaveDBUnitTest.java index 6936d2d870..c0744559f0 100644 --- a/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/masterslave/AbstractShardingMasterSlaveDBUnitTest.java +++ b/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/masterslave/AbstractShardingMasterSlaveDBUnitTest.java @@ -53,31 +53,6 @@ public abstract class AbstractShardingMasterSlaveDBUnitTest extends AbstractDBUn MasterSlaveDataSource.resetDMLFlag(); } - @Override - protected List getSchemaFiles() { - return Arrays.asList( - "integrate/schema/" + currentDbType() + "/masterslave/master_0.sql", - "integrate/schema/" + currentDbType() + "/masterslave/master_1.sql", - "integrate/schema/" + currentDbType() + "/masterslave/master_2.sql", - "integrate/schema/" + currentDbType() + "/masterslave/master_3.sql", - "integrate/schema/" + currentDbType() + "/masterslave/master_4.sql", - "integrate/schema/" + currentDbType() + "/masterslave/master_5.sql", - "integrate/schema/" + currentDbType() + "/masterslave/master_6.sql", - "integrate/schema/" + currentDbType() + "/masterslave/master_7.sql", - "integrate/schema/" + currentDbType() + "/masterslave/master_8.sql", - "integrate/schema/" + currentDbType() + "/masterslave/master_9.sql", - "integrate/schema/" + currentDbType() + "/masterslave/slave_0.sql", - "integrate/schema/" + currentDbType() + "/masterslave/slave_1.sql", - "integrate/schema/" + currentDbType() + "/masterslave/slave_2.sql", - "integrate/schema/" + currentDbType() + "/masterslave/slave_3.sql", - "integrate/schema/" + currentDbType() + "/masterslave/slave_4.sql", - "integrate/schema/" + currentDbType() + "/masterslave/slave_5.sql", - "integrate/schema/" + currentDbType() + "/masterslave/slave_6.sql", - "integrate/schema/" + currentDbType() + "/masterslave/slave_7.sql", - "integrate/schema/" + currentDbType() + "/masterslave/slave_8.sql", - "integrate/schema/" + currentDbType() + "/masterslave/slave_9.sql"); - } - @Override protected List getDataSetFiles() { return Arrays.asList( diff --git a/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/nullable/AbstractShardingNullableDBUnitTest.java b/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/nullable/AbstractShardingNullableDBUnitTest.java index 58d32d6b2b..6e75439e12 100644 --- a/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/nullable/AbstractShardingNullableDBUnitTest.java +++ b/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/nullable/AbstractShardingNullableDBUnitTest.java @@ -39,21 +39,6 @@ public abstract class AbstractShardingNullableDBUnitTest extends AbstractDBUnitT private static ShardingDataSource shardingDataSource; - @Override - protected List getSchemaFiles() { - return Arrays.asList( - "integrate/schema/" + currentDbType() + "/nullable/nullable_0.sql", - "integrate/schema/" + currentDbType() + "/nullable/nullable_1.sql", - "integrate/schema/" + currentDbType() + "/nullable/nullable_2.sql", - "integrate/schema/" + currentDbType() + "/nullable/nullable_3.sql", - "integrate/schema/" + currentDbType() + "/nullable/nullable_4.sql", - "integrate/schema/" + currentDbType() + "/nullable/nullable_5.sql", - "integrate/schema/" + currentDbType() + "/nullable/nullable_6.sql", - "integrate/schema/" + currentDbType() + "/nullable/nullable_7.sql", - "integrate/schema/" + currentDbType() + "/nullable/nullable_8.sql", - "integrate/schema/" + currentDbType() + "/nullable/nullable_9.sql"); - } - @Override protected List getDataSetFiles() { return Arrays.asList( diff --git a/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/single/AbstractSingleResultSetDBUnitTest.java b/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/single/AbstractSingleResultSetDBUnitTest.java index 758f688f60..b4155680f3 100644 --- a/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/single/AbstractSingleResultSetDBUnitTest.java +++ b/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/single/AbstractSingleResultSetDBUnitTest.java @@ -39,14 +39,9 @@ public abstract class AbstractSingleResultSetDBUnitTest extends AbstractDBUnitTe private static ShardingDataSource shardingDataSource; - @Override - protected List getSchemaFiles() { - return Collections.singletonList("integrate/schema/" + currentDbType() + "/tbl/db_single.sql"); - } - @Override protected List getDataSetFiles() { - return Collections.singletonList("integrate/dataset/single/init/db_single.xml"); + return Collections.singletonList("integrate/dataset/single/init/tbl.xml"); } protected final ShardingDataSource getShardingDataSource() { diff --git a/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/tbl/AbstractShardingTablesOnlyDBUnitTest.java b/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/tbl/AbstractShardingTablesOnlyDBUnitTest.java index 3104b9b7f4..90c01766bd 100644 --- a/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/tbl/AbstractShardingTablesOnlyDBUnitTest.java +++ b/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/tbl/AbstractShardingTablesOnlyDBUnitTest.java @@ -39,14 +39,9 @@ public abstract class AbstractShardingTablesOnlyDBUnitTest extends AbstractDBUni private static ShardingDataSource shardingDataSource; - @Override - protected List getSchemaFiles() { - return Collections.singletonList("integrate/schema/" + currentDbType() + "/tbl/db_single.sql"); - } - @Override protected List getDataSetFiles() { - return Collections.singletonList("integrate/dataset/tbl/init/db_single.xml"); + return Collections.singletonList("integrate/dataset/tbl/init/tbl.xml"); } protected final ShardingDataSource getShardingDataSource() { diff --git a/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/tbl/pstatement/ShardingTablesOnlyForPreparedStatementWithDMLTest.java b/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/tbl/pstatement/ShardingTablesOnlyForPreparedStatementWithDMLTest.java index aec1e15283..ebf2aebb39 100644 --- a/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/tbl/pstatement/ShardingTablesOnlyForPreparedStatementWithDMLTest.java +++ b/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/tbl/pstatement/ShardingTablesOnlyForPreparedStatementWithDMLTest.java @@ -152,8 +152,8 @@ public final class ShardingTablesOnlyForPreparedStatementWithDMLTest extends Abs private void assertDataSet(final String expectedDataSetPattern, final String status) throws SQLException, DatabaseUnitException { for (int i = 0; i < 10; i++) { - assertDataSet(String.format("integrate/dataset/tbl/expect/%s/db_single.xml", expectedDataSetPattern), - shardingDataSource.getConnection().getConnection("dataSource_db_single", SQLType.SELECT), + assertDataSet(String.format("integrate/dataset/tbl/expect/%s/tbl.xml", expectedDataSetPattern), + shardingDataSource.getConnection().getConnection("dataSource_tbl", SQLType.SELECT), String.format("t_order_%s", i), String.format(getDatabaseTestSQL().getAssertSelectShardingTablesWithStatusSql(), i), status); } } diff --git a/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/tbl/statement/ShardingTablesOnlyForStatementWithDMLTest.java b/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/tbl/statement/ShardingTablesOnlyForStatementWithDMLTest.java index 3eba4aafb7..b15ffff812 100644 --- a/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/tbl/statement/ShardingTablesOnlyForStatementWithDMLTest.java +++ b/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/tbl/statement/ShardingTablesOnlyForStatementWithDMLTest.java @@ -97,8 +97,8 @@ public final class ShardingTablesOnlyForStatementWithDMLTest extends AbstractSha private void assertDataSet(final String expectedDataSetPattern, final String status) throws SQLException, DatabaseUnitException { for (int i = 0; i < 10; i++) { - assertDataSet(String.format("integrate/dataset/tbl/expect/%s/db_single.xml", expectedDataSetPattern), - shardingDataSource.getConnection().getConnection("dataSource_db_single", SQLType.SELECT), + assertDataSet(String.format("integrate/dataset/tbl/expect/%s/tbl.xml", expectedDataSetPattern), + shardingDataSource.getConnection().getConnection("dataSource_tbl", SQLType.SELECT), String.format("t_order_%s", i), String.format(getDatabaseTestSQL().getAssertSelectShardingTablesWithStatusSql(), i), status); } } diff --git a/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/util/DataBaseEnvironment.java b/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/util/DataBaseEnvironment.java index 40717659c7..aaedb5ab2c 100644 --- a/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/util/DataBaseEnvironment.java +++ b/sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/util/DataBaseEnvironment.java @@ -71,7 +71,7 @@ public final class DataBaseEnvironment { SCHEMA.put(DatabaseType.Oracle, "JDBC"); DRIVER_CLASS_NAME.put(DatabaseType.SQLServer, com.microsoft.sqlserver.jdbc.SQLServerDriver.class.getName()); - URL.put(DatabaseType.SQLServer, "jdbc:sqlserver://db.mssql:1433;DatabaseName=db_0"); + URL.put(DatabaseType.SQLServer, "jdbc:sqlserver://db.mssql:1433;DatabaseName=%s"); USERNAME.put(DatabaseType.SQLServer, "sa"); PASSWORD.put(DatabaseType.SQLServer, "Jdbc1234"); SCHEMA.put(DatabaseType.SQLServer, null); diff --git a/sharding-jdbc-core/src/test/resources/integrate/dataset/single/init/db_single.xml b/sharding-jdbc-core/src/test/resources/integrate/dataset/single/init/tbl.xml similarity index 100% rename from sharding-jdbc-core/src/test/resources/integrate/dataset/single/init/db_single.xml rename to sharding-jdbc-core/src/test/resources/integrate/dataset/single/init/tbl.xml diff --git a/sharding-jdbc-core/src/test/resources/integrate/dataset/tbl/expect/delete/db_single.xml b/sharding-jdbc-core/src/test/resources/integrate/dataset/tbl/expect/delete/tbl.xml similarity index 100% rename from sharding-jdbc-core/src/test/resources/integrate/dataset/tbl/expect/delete/db_single.xml rename to sharding-jdbc-core/src/test/resources/integrate/dataset/tbl/expect/delete/tbl.xml diff --git a/sharding-jdbc-core/src/test/resources/integrate/dataset/tbl/expect/insert/db_single.xml b/sharding-jdbc-core/src/test/resources/integrate/dataset/tbl/expect/insert/tbl.xml similarity index 100% rename from sharding-jdbc-core/src/test/resources/integrate/dataset/tbl/expect/insert/db_single.xml rename to sharding-jdbc-core/src/test/resources/integrate/dataset/tbl/expect/insert/tbl.xml diff --git a/sharding-jdbc-core/src/test/resources/integrate/dataset/tbl/expect/update/db_single.xml b/sharding-jdbc-core/src/test/resources/integrate/dataset/tbl/expect/update/tbl.xml similarity index 100% rename from sharding-jdbc-core/src/test/resources/integrate/dataset/tbl/expect/update/db_single.xml rename to sharding-jdbc-core/src/test/resources/integrate/dataset/tbl/expect/update/tbl.xml diff --git a/sharding-jdbc-core/src/test/resources/integrate/dataset/tbl/init/db_single.xml b/sharding-jdbc-core/src/test/resources/integrate/dataset/tbl/init/tbl.xml similarity index 100% rename from sharding-jdbc-core/src/test/resources/integrate/dataset/tbl/init/db_single.xml rename to sharding-jdbc-core/src/test/resources/integrate/dataset/tbl/init/tbl.xml diff --git a/sharding-jdbc-core/src/test/resources/integrate/schema/table/db.sql b/sharding-jdbc-core/src/test/resources/integrate/schema/table/db.sql new file mode 100644 index 0000000000..6ae97d4a15 --- /dev/null +++ b/sharding-jdbc-core/src/test/resources/integrate/schema/table/db.sql @@ -0,0 +1,2 @@ +CREATE TABLE IF NOT EXISTS t_order (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_item (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); diff --git a/sharding-jdbc-core/src/test/resources/integrate/schema/table/dbtbl.sql b/sharding-jdbc-core/src/test/resources/integrate/schema/table/dbtbl.sql new file mode 100644 index 0000000000..a4ab83002f --- /dev/null +++ b/sharding-jdbc-core/src/test/resources/integrate/schema/table/dbtbl.sql @@ -0,0 +1,22 @@ +CREATE TABLE IF NOT EXISTS t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_1 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_2 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_3 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_4 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_5 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_6 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_7 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_item_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_1 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_2 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_3 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_4 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_5 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_6 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_7 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_config (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id)); +CREATE TABLE IF NOT EXISTS t_global (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id)); diff --git a/sharding-jdbc-core/src/test/resources/integrate/schema/table/master.sql b/sharding-jdbc-core/src/test/resources/integrate/schema/table/master.sql new file mode 100644 index 0000000000..a4ab83002f --- /dev/null +++ b/sharding-jdbc-core/src/test/resources/integrate/schema/table/master.sql @@ -0,0 +1,22 @@ +CREATE TABLE IF NOT EXISTS t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_1 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_2 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_3 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_4 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_5 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_6 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_7 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_item_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_1 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_2 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_3 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_4 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_5 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_6 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_7 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_config (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id)); +CREATE TABLE IF NOT EXISTS t_global (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id)); diff --git a/sharding-jdbc-core/src/test/resources/integrate/schema/table/nullable.sql b/sharding-jdbc-core/src/test/resources/integrate/schema/table/nullable.sql new file mode 100644 index 0000000000..d4dc465060 --- /dev/null +++ b/sharding-jdbc-core/src/test/resources/integrate/schema/table/nullable.sql @@ -0,0 +1 @@ +CREATE TABLE IF NOT EXISTS t_order (order_id INT NOT NULL, user_id INT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); diff --git a/sharding-jdbc-core/src/test/resources/integrate/schema/table/slave.sql b/sharding-jdbc-core/src/test/resources/integrate/schema/table/slave.sql new file mode 100644 index 0000000000..a4ab83002f --- /dev/null +++ b/sharding-jdbc-core/src/test/resources/integrate/schema/table/slave.sql @@ -0,0 +1,22 @@ +CREATE TABLE IF NOT EXISTS t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_1 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_2 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_3 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_4 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_5 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_6 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_7 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_item_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_1 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_2 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_3 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_4 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_5 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_6 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_7 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_config (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id)); +CREATE TABLE IF NOT EXISTS t_global (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id)); diff --git a/sharding-jdbc-core/src/test/resources/integrate/schema/table/tbl.sql b/sharding-jdbc-core/src/test/resources/integrate/schema/table/tbl.sql new file mode 100644 index 0000000000..329f4d4faf --- /dev/null +++ b/sharding-jdbc-core/src/test/resources/integrate/schema/table/tbl.sql @@ -0,0 +1,21 @@ +CREATE TABLE IF NOT EXISTS t_order_0 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_1 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_2 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_3 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_4 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_5 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_6 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_7 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_8 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_9 (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id)); +CREATE TABLE IF NOT EXISTS t_order_item_0 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_1 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_2 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_3 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_4 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_5 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_6 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_7 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_8 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_order_item_9 (item_id INT NOT NULL, order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (item_id)); +CREATE TABLE IF NOT EXISTS t_config (id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (id)); -- GitLab