Commit c1fdad62 authored by terrymanu's avatar terrymanu
Browse files

for #601: refactor DQLIntegrateTest

parent 0eeefd7d
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -106,8 +106,8 @@ public abstract class BaseIntegrateTest {
        throw new UnsupportedOperationException(String.format("Cannot support '%s'", assertion.getClass().getName()));
    }
    
    private Map<String, DataSource> createDataSourceMap(final IntegrateTestCaseAssertion integrateTestCaseAssertion) throws IOException, JAXBException {
        Collection<String> dataSourceNames = SchemaEnvironmentManager.getDataSourceNames(integrateTestCaseAssertion.getShardingRuleType());
    private Map<String, DataSource> createDataSourceMap(final IntegrateTestCaseAssertion assertion) throws IOException, JAXBException {
        Collection<String> dataSourceNames = SchemaEnvironmentManager.getDataSourceNames(assertion.getShardingRuleType());
        Map<String, DataSource> result = new HashMap<>(dataSourceNames.size(), 1);
        for (String each : dataSourceNames) {
            result.put(each, DataSourceUtil.createDataSource(databaseTypeEnvironment.getDatabaseType(), each));
+22 −16
Original line number Diff line number Diff line
@@ -104,34 +104,40 @@ public final class DQLIntegrateTest extends BaseIntegrateTest {
    @BeforeClass
    public static void insertData() throws IOException, JAXBException, SQLException, ParseException {
        for (DatabaseType each : integrateTestCasesLoader.getDatabaseTypes()) {
            if (!IntegrateTestEnvironment.getInstance().getDatabaseTypes().contains(each)) {
                continue;
            }
            for (String shardingRuleType : integrateTestCasesLoader.getShardingRuleTypes()) {
                new DataSetEnvironmentManager(EnvironmentPath.getDataInitializeResourceFile(shardingRuleType), createDataSourceMap(each, shardingRuleType)).initialize();
            if (IntegrateTestEnvironment.getInstance().getDatabaseTypes().contains(each)) {
                insertData(each);
            }
        }
    }
    
    private static Map<String, DataSource> createDataSourceMap(final DatabaseType databaseType, final String shardingRuleType) throws IOException, JAXBException {
        Collection<String> dataSourceNames = SchemaEnvironmentManager.getDataSourceNames(shardingRuleType);
        Map<String, DataSource> result = new HashMap<>(dataSourceNames.size(), 1);
        for (String each : dataSourceNames) {
            result.put(each, DataSourceUtil.createDataSource(databaseType, each));
    private static void insertData(final DatabaseType databaseType) throws SQLException, ParseException, IOException, JAXBException {
        for (String each : integrateTestCasesLoader.getShardingRuleTypes()) {
            new DataSetEnvironmentManager(EnvironmentPath.getDataInitializeResourceFile(each), createDataSourceMap(databaseType, each)).initialize();
        }
        return result;
    }
    
    @AfterClass
    public static void clearData() throws IOException, JAXBException, SQLException {
        for (DatabaseType each : integrateTestCasesLoader.getDatabaseTypes()) {
            if (!IntegrateTestEnvironment.getInstance().getDatabaseTypes().contains(each)) {
                continue;
            if (IntegrateTestEnvironment.getInstance().getDatabaseTypes().contains(each)) {
                clearData(each);
            }
        }
            for (String shardingRuleType : integrateTestCasesLoader.getShardingRuleTypes()) {
                new DataSetEnvironmentManager(EnvironmentPath.getDataInitializeResourceFile(shardingRuleType), createDataSourceMap(each, shardingRuleType)).clear();
    }
    
    private static void clearData(final DatabaseType databaseType) throws SQLException, IOException, JAXBException {
        for (String each : integrateTestCasesLoader.getShardingRuleTypes()) {
            new DataSetEnvironmentManager(EnvironmentPath.getDataInitializeResourceFile(each), createDataSourceMap(databaseType, each)).clear();
        }
    }
    
    private static Map<String, DataSource> createDataSourceMap(final DatabaseType databaseType, final String shardingRuleType) throws IOException, JAXBException {
        Collection<String> dataSourceNames = SchemaEnvironmentManager.getDataSourceNames(shardingRuleType);
        Map<String, DataSource> result = new HashMap<>(dataSourceNames.size(), 1);
        for (String each : dataSourceNames) {
            result.put(each, DataSourceUtil.createDataSource(databaseType, each));
        }
        return result;
    }
    
    @Test