提交 e11860cd 编写于 作者: T terrymanu

for #601: InItCreateSchema => DatabaseEnvironmentManager

上级 f4e09ae0
......@@ -20,7 +20,7 @@ package io.shardingjdbc.dbtest;
import io.shardingjdbc.dbtest.asserts.AssertEngine;
import io.shardingjdbc.dbtest.config.bean.AssertDefinition;
import io.shardingjdbc.dbtest.config.bean.AssertsDefinition;
import io.shardingjdbc.dbtest.init.InItCreateSchema;
import io.shardingjdbc.dbtest.init.DatabaseEnvironmentManager;
import lombok.RequiredArgsConstructor;
import org.junit.AfterClass;
import org.junit.BeforeClass;
......@@ -71,7 +71,7 @@ public final class StartTest {
AssertsDefinition assertsDefinition = unmarshal(each);
String[] dbs = assertsDefinition.getBaseConfig().split(",");
for (String db : dbs) {
InItCreateSchema.addDatabase(db);
DatabaseEnvironmentManager.addDatabase(db);
}
result.addAll(getParameters(each, assertsDefinition.getAssertDQL()));
result.addAll(getParameters(each, assertsDefinition.getAssertDML()));
......@@ -81,9 +81,9 @@ public final class StartTest {
return result;
}
private static Collection<String[]> getParameters(final String path, final List<? extends AssertDefinition> asserts) {
private static Collection<String[]> getParameters(final String path, final List<? extends AssertDefinition> assertDefinitions) {
Collection<String[]> result = new LinkedList<>();
for (AssertDefinition each : asserts) {
for (AssertDefinition each : assertDefinitions) {
result.add(new String[] {path, each.getId()});
}
return result;
......@@ -114,13 +114,13 @@ public final class StartTest {
@BeforeClass
public static void beforeClass() {
if (isInitialized) {
InItCreateSchema.createDatabase();
InItCreateSchema.createTable();
DatabaseEnvironmentManager.createDatabase();
DatabaseEnvironmentManager.createTable();
isInitialized = false;
} else {
InItCreateSchema.dropDatabase();
InItCreateSchema.createDatabase();
InItCreateSchema.createTable();
DatabaseEnvironmentManager.dropDatabase();
DatabaseEnvironmentManager.createDatabase();
DatabaseEnvironmentManager.createTable();
}
}
......@@ -132,7 +132,7 @@ public final class StartTest {
@AfterClass
public static void afterClass() {
if (isCleaned) {
InItCreateSchema.dropDatabase();
DatabaseEnvironmentManager.dropDatabase();
isCleaned = false;
}
}
......
......@@ -34,7 +34,7 @@ import io.shardingjdbc.dbtest.config.bean.DatasetDatabase;
import io.shardingjdbc.dbtest.config.bean.DatasetDefinition;
import io.shardingjdbc.dbtest.config.bean.ParameterDefinition;
import io.shardingjdbc.dbtest.exception.DbTestException;
import io.shardingjdbc.dbtest.init.InItCreateSchema;
import io.shardingjdbc.dbtest.init.DatabaseEnvironmentManager;
import io.shardingjdbc.test.sql.SQLCasesLoader;
import org.apache.commons.lang3.StringUtils;
import org.junit.Assert;
......@@ -106,7 +106,7 @@ public class AssertEngine {
for (DatabaseType each : IntegrateTestEnvironment.getInstance().getDatabaseTypes()) {
Map<String, DataSource> dataSourceMaps = new HashMap<>();
for (String db : dbs) {
DataSource subDataSource = InItCreateSchema.buildDataSource(db, each);
DataSource subDataSource = DatabaseEnvironmentManager.buildDataSource(db, each);
dataSourceMaps.put(db, subDataSource);
}
if ("true".equals(assertsDefinition.getMasterslave())) {
......@@ -132,7 +132,7 @@ public class AssertEngine {
private static void ddlRun(final DatabaseType databaseType, final String id, final String dbName, final AssertsDefinition assertsDefinition, final String rootPath, final String msg, final DataSource dataSource) throws SQLException, ParseException, IOException, SAXException, ParserConfigurationException, XPathExpressionException {
for (AssertDDLDefinition each : assertsDefinition.getAssertDDL()) {
if (id.equals(each.getId())) {
List<DatabaseType> databaseTypes = InItCreateSchema.getDatabaseTypes(each.getDatabaseConfig());
List<DatabaseType> databaseTypes = DatabaseEnvironmentManager.getDatabaseTypes(each.getDatabaseConfig());
if (!databaseTypes.contains(databaseType)) {
break;
}
......@@ -183,7 +183,7 @@ public class AssertEngine {
private static void ddlSubRun(final DatabaseType databaseType, final String dbName, final String rootPath, final String msg, final DataSource dataSource, final AssertDDLDefinition anAssert, final String rootsql, final String expectedDataFile, final List<AssertSubDefinition> subAsserts) throws SQLException, ParseException, IOException, SAXException, ParserConfigurationException, XPathExpressionException {
for (AssertSubDefinition subAssert : subAsserts) {
List<DatabaseType> databaseSubTypes = InItCreateSchema.getDatabaseTypes(subAssert.getDatabaseConfig());
List<DatabaseType> databaseSubTypes = DatabaseEnvironmentManager.getDatabaseTypes(subAssert.getDatabaseConfig());
if (!databaseSubTypes.contains(databaseType)) {
break;
......@@ -230,7 +230,7 @@ public class AssertEngine {
private static void dmlRun(final DatabaseType databaseType, final String initDataFile, final String dbName, final String path, final String id, final AssertsDefinition assertsDefinition, final String rootPath, final String msg, final DataSource dataSource, final Map<String, DataSource> dataSourceMaps, final List<String> dbs) throws IOException, SAXException, ParserConfigurationException, XPathExpressionException, SQLException, ParseException {
for (AssertDMLDefinition each : assertsDefinition.getAssertDML()) {
if (id.equals(each.getId())) {
List<DatabaseType> databaseTypes = InItCreateSchema.getDatabaseTypes(each.getDatabaseConfig());
List<DatabaseType> databaseTypes = DatabaseEnvironmentManager.getDatabaseTypes(each.getDatabaseConfig());
if (!databaseTypes.contains(databaseType)) {
break;
}
......@@ -276,7 +276,7 @@ public class AssertEngine {
resultDoUpdateUsePreparedStatementToExecute = resultDoUpdateUsePreparedStatementToExecute + doUpdateUsePreparedStatementToExecute(expectedDataFile, dataSource, dataSourceMaps, each, rootSQL, mapDatasetDefinition, sqls, msg);
} else {
for (AssertSubDefinition subAssert : subAsserts) {
List<DatabaseType> databaseSubTypes = InItCreateSchema.getDatabaseTypes(subAssert.getDatabaseConfig());
List<DatabaseType> databaseSubTypes = DatabaseEnvironmentManager.getDatabaseTypes(subAssert.getDatabaseConfig());
if (!databaseSubTypes.contains(databaseType)) {
break;
}
......@@ -330,7 +330,7 @@ public class AssertEngine {
List<AssertSubDefinition> subAsserts = each.getSubAsserts();
if (!subAsserts.isEmpty()) {
for (AssertSubDefinition subAssert : subAsserts) {
List<DatabaseType> databaseSubTypes = InItCreateSchema.getDatabaseTypes(subAssert.getDatabaseConfig());
List<DatabaseType> databaseSubTypes = DatabaseEnvironmentManager.getDatabaseTypes(subAssert.getDatabaseConfig());
if (!databaseSubTypes.contains(databaseType)) {
break;
}
......@@ -391,7 +391,7 @@ public class AssertEngine {
for (AssertDQLDefinition each : assertsDefinition.getAssertDQL()) {
if (id.equals(each.getId())) {
List<DatabaseType> databaseTypes = InItCreateSchema.getDatabaseTypes(each.getDatabaseConfig());
List<DatabaseType> databaseTypes = DatabaseEnvironmentManager.getDatabaseTypes(each.getDatabaseConfig());
if (!databaseTypes.contains(databaseType)) {
break;
}
......@@ -455,7 +455,7 @@ public class AssertEngine {
private static void dqlSubRun(final DatabaseType databaseType, final String dbName, final String rootPath, final String msg, final DataSource dataSource, final AssertDQLDefinition anAssert, final String rootSQL, final String expectedDataFile, final List<AssertSubDefinition> subAsserts) throws SQLException, ParseException, IOException, SAXException, ParserConfigurationException, XPathExpressionException {
for (AssertSubDefinition subAssert : subAsserts) {
List<DatabaseType> databaseSubTypes = InItCreateSchema.getDatabaseTypes(subAssert.getDatabaseConfig());
List<DatabaseType> databaseSubTypes = DatabaseEnvironmentManager.getDatabaseTypes(subAssert.getDatabaseConfig());
if (!databaseSubTypes.contains(databaseType)) {
break;
}
......@@ -525,10 +525,10 @@ public class AssertEngine {
try {
try (Connection con = dataSource.getConnection()) {
if (StringUtils.isNotBlank(anAssert.getCleanSql())) {
InItCreateSchema.dropTable(databaseType, anAssert.getCleanSql(), dbName);
DatabaseEnvironmentManager.dropTable(databaseType, anAssert.getCleanSql(), dbName);
}
if (StringUtils.isNotBlank(anAssert.getInitSql())) {
InItCreateSchema.createTable(databaseType, anAssert.getInitSql(), dbName);
DatabaseEnvironmentManager.createTable(databaseType, anAssert.getInitSql(), dbName);
}
DatabaseUtil.updateUsePreparedStatementToExecute(con, rootsql,
anAssert.getParameter());
......@@ -540,10 +540,10 @@ public class AssertEngine {
}
} finally {
if (StringUtils.isNotBlank(anAssert.getCleanSql())) {
InItCreateSchema.dropTable(databaseType, anAssert.getCleanSql(), dbName);
DatabaseEnvironmentManager.dropTable(databaseType, anAssert.getCleanSql(), dbName);
}
if (StringUtils.isNotBlank(anAssert.getInitSql())) {
InItCreateSchema.createTable(databaseType, anAssert.getInitSql(), dbName);
DatabaseEnvironmentManager.createTable(databaseType, anAssert.getInitSql(), dbName);
}
}
}
......@@ -576,10 +576,10 @@ public class AssertEngine {
try {
try (Connection con = dataSource.getConnection()) {
if (StringUtils.isNotBlank(anAssert.getCleanSql())) {
InItCreateSchema.dropTable(databaseType, anAssert.getCleanSql(), dbName);
DatabaseEnvironmentManager.dropTable(databaseType, anAssert.getCleanSql(), dbName);
}
if (StringUtils.isNotBlank(anAssert.getInitSql())) {
InItCreateSchema.createTable(databaseType, anAssert.getInitSql(), dbName);
DatabaseEnvironmentManager.createTable(databaseType, anAssert.getInitSql(), dbName);
}
DatabaseUtil.updateUsePreparedStatementToExecuteUpdate(con, rootsql,
anAssert.getParameter());
......@@ -590,10 +590,10 @@ public class AssertEngine {
}
} finally {
if (StringUtils.isNotBlank(anAssert.getCleanSql())) {
InItCreateSchema.dropTable(databaseType, anAssert.getCleanSql(), dbName);
DatabaseEnvironmentManager.dropTable(databaseType, anAssert.getCleanSql(), dbName);
}
if (StringUtils.isNotBlank(anAssert.getInitSql())) {
InItCreateSchema.createTable(databaseType, anAssert.getInitSql(), dbName);
DatabaseEnvironmentManager.createTable(databaseType, anAssert.getInitSql(), dbName);
}
}
}
......@@ -623,10 +623,10 @@ public class AssertEngine {
try {
try (Connection con = dataSource.getConnection()) {
if (StringUtils.isNotBlank(anAssert.getCleanSql())) {
InItCreateSchema.dropTable(databaseType, anAssert.getCleanSql(), dbName);
DatabaseEnvironmentManager.dropTable(databaseType, anAssert.getCleanSql(), dbName);
}
if (StringUtils.isNotBlank(anAssert.getInitSql())) {
InItCreateSchema.createTable(databaseType, anAssert.getInitSql(), dbName);
DatabaseEnvironmentManager.createTable(databaseType, anAssert.getInitSql(), dbName);
}
DatabaseUtil.updateUseStatementToExecute(con, rootsql, anAssert.getParameter());
DatasetDefinition checkDataset = AnalyzeDataset.analyze(new File(expectedDataFile), "data");
......@@ -636,10 +636,10 @@ public class AssertEngine {
}
} finally {
if (StringUtils.isNotBlank(anAssert.getCleanSql())) {
InItCreateSchema.dropTable(databaseType, anAssert.getCleanSql(), dbName);
DatabaseEnvironmentManager.dropTable(databaseType, anAssert.getCleanSql(), dbName);
}
if (StringUtils.isNotBlank(anAssert.getInitSql())) {
InItCreateSchema.createTable(databaseType, anAssert.getInitSql(), dbName);
DatabaseEnvironmentManager.createTable(databaseType, anAssert.getInitSql(), dbName);
}
}
}
......@@ -669,10 +669,10 @@ public class AssertEngine {
try {
try (Connection con = dataSource.getConnection()) {
if (StringUtils.isNotBlank(anAssert.getCleanSql())) {
InItCreateSchema.dropTable(databaseType, anAssert.getCleanSql(), dbName);
DatabaseEnvironmentManager.dropTable(databaseType, anAssert.getCleanSql(), dbName);
}
if (StringUtils.isNotBlank(anAssert.getInitSql())) {
InItCreateSchema.createTable(databaseType, anAssert.getInitSql(), dbName);
DatabaseEnvironmentManager.createTable(databaseType, anAssert.getInitSql(), dbName);
}
DatabaseUtil.updateUseStatementToExecuteUpdate(con, rootsql, anAssert.getParameter());
DatasetDefinition checkDataset = AnalyzeDataset.analyze(new File(expectedDataFile), "data");
......@@ -683,10 +683,10 @@ public class AssertEngine {
}
} finally {
if (StringUtils.isNotBlank(anAssert.getCleanSql())) {
InItCreateSchema.dropTable(databaseType, anAssert.getCleanSql(), dbName);
DatabaseEnvironmentManager.dropTable(databaseType, anAssert.getCleanSql(), dbName);
}
if (StringUtils.isNotBlank(anAssert.getInitSql())) {
InItCreateSchema.createTable(databaseType, anAssert.getInitSql(), dbName);
DatabaseEnvironmentManager.createTable(databaseType, anAssert.getInitSql(), dbName);
}
}
}
......
......@@ -42,7 +42,7 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
public final class InItCreateSchema {
public final class DatabaseEnvironmentManager {
private static final Set<String> DATABASES = new HashSet<>();
......@@ -63,14 +63,14 @@ public final class InItCreateSchema {
ResultSet resultSet = null;
try {
for (String database : DATABASES) {
String sql = getCreateTableSql(DatabaseType.H2, AnalyzeDatabase.analyze(InItCreateSchema.class.getClassLoader()
String sql = getCreateTableSql(DatabaseType.H2, AnalyzeDatabase.analyze(DatabaseEnvironmentManager.class.getClassLoader()
.getResource("integrate/dbtest").getPath() + "/" + database + "/database.xml"));
for (DatabaseType each : IntegrateTestEnvironment.getInstance().getDatabaseTypes()) {
if (each.equals(DatabaseType.H2)) {
continue;
}
if (DatabaseType.Oracle.equals(each)) {
String oracleSql = getCreateTableSql(DatabaseType.Oracle, AnalyzeDatabase.analyze(InItCreateSchema.class.getClassLoader()
String oracleSql = getCreateTableSql(DatabaseType.Oracle, AnalyzeDatabase.analyze(DatabaseEnvironmentManager.class.getClassLoader()
.getResource("integrate/dbtest").getPath() + "/" + database + "/database.xml"));
StringReader sr = new StringReader(oracleSql);
conn = initialConnection(null, each);
......@@ -115,14 +115,14 @@ public final class InItCreateSchema {
StringReader sr = null;
try {
for (String database : DATABASES) {
String sql = getDropTableSql(DatabaseType.H2, AnalyzeDatabase.analyze(InItCreateSchema.class.getClassLoader()
String sql = getDropTableSql(DatabaseType.H2, AnalyzeDatabase.analyze(DatabaseEnvironmentManager.class.getClassLoader()
.getResource("integrate/dbtest").getPath() + "/" + database + "/database.xml"));
for (DatabaseType each : IntegrateTestEnvironment.getInstance().getDatabaseTypes()) {
if (each.equals(DatabaseType.H2)) {
continue;
}
if (DatabaseType.Oracle.equals(each)) {
String oracleSql = getDropTableSql(DatabaseType.Oracle, AnalyzeDatabase.analyze(InItCreateSchema.class.getClassLoader()
String oracleSql = getDropTableSql(DatabaseType.Oracle, AnalyzeDatabase.analyze(DatabaseEnvironmentManager.class.getClassLoader()
.getResource("integrate/dbtest").getPath() + "/" + database + "/database.xml"));
sr = new StringReader(oracleSql);
conn = initialConnection(null, each);
......@@ -179,11 +179,11 @@ public final class InItCreateSchema {
StringReader sr = null;
try {
for (String each : DATABASES) {
List<String> databases = AnalyzeDatabase.analyze(InItCreateSchema.class.getClassLoader()
List<String> databases = AnalyzeDatabase.analyze(DatabaseEnvironmentManager.class.getClassLoader()
.getResource("integrate/dbtest").getPath() + "/" + each + "/database.xml");
for (String database : databases) {
conn = initialConnection(database, dbType);
List<String> tableSqlIds = AnalyzeSql.analyze(InItCreateSchema.class.getClassLoader()
List<String> tableSqlIds = AnalyzeSql.analyze(DatabaseEnvironmentManager.class.getClassLoader()
.getResource("integrate/dbtest").getPath() + "/" + each + "/table/create-table.xml");
List<String> tableSqls = new ArrayList<>();
for (String tableSqlId : tableSqlIds) {
......@@ -242,7 +242,7 @@ public final class InItCreateSchema {
continue;
}
}
List<String> databases = AnalyzeDatabase.analyze(InItCreateSchema.class.getClassLoader()
List<String> databases = AnalyzeDatabase.analyze(DatabaseEnvironmentManager.class.getClassLoader()
.getResource("integrate/dbtest").getPath() + "/" + each + "/database.xml");
for (String database : databases) {
conn = initialConnection(database, dbType);
......@@ -286,7 +286,7 @@ public final class InItCreateSchema {
continue;
}
}
List<String> databases = AnalyzeDatabase.analyze(InItCreateSchema.class.getClassLoader()
List<String> databases = AnalyzeDatabase.analyze(DatabaseEnvironmentManager.class.getClassLoader()
.getResource("integrate/dbtest").getPath() + "/" + each + "/database.xml");
for (String database : databases) {
conn = initialConnection(database, dbType);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册