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/06/13 14:28:04 UTC
[shardingsphere] branch master updated: Refactor SingleTableRule.assignNewDataSourceName() (#18342)
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 f5ee13d7b20 Refactor SingleTableRule.assignNewDataSourceName() (#18342)
f5ee13d7b20 is described below
commit f5ee13d7b2070d23e30189057847bddde22389a7
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Mon Jun 13 22:27:55 2022 +0800
Refactor SingleTableRule.assignNewDataSourceName() (#18342)
* Refactor ReadwriteSplittingRuleQueryResultSet
* Refactor SingleTableRule.assignNewDataSourceName()
* Refactor SingleTableRuleTest
* Refactor SingleTableRuleTest
---
.../engine/SingleTableStandardRouteEngine.java | 56 +++++++---------------
.../singletable/rule/SingleTableRule.java | 27 ++++++-----
.../singletable/rule/SingleTableRuleTest.java | 37 +++++++-------
.../rule/builder/SingleTableRuleBuilderTest.java | 6 ---
4 files changed, 51 insertions(+), 75 deletions(-)
diff --git a/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/main/java/org/apache/shardingsphere/singletable/route/engine/SingleTableStandardRouteEngine.java b/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/main/java/org/apache/shardingsphere/singletable/route/engine/SingleTableStandardRouteEngine.java
index 343511cdd7d..02c0a143381 100644
--- a/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/main/java/org/apache/shardingsphere/singletable/route/engine/SingleTableStandardRouteEngine.java
+++ b/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/main/java/org/apache/shardingsphere/singletable/route/engine/SingleTableStandardRouteEngine.java
@@ -31,13 +31,11 @@ import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.CreateTable
import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.DropTableStatement;
import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.SelectStatement;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Optional;
-import java.util.concurrent.ThreadLocalRandom;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -80,48 +78,18 @@ public final class SingleTableStandardRouteEngine implements SingleTableRouteEng
}
private void route0(final RouteContext routeContext, final SingleTableRule rule) {
- if (isTableDDLStatement() || rule.isAllTablesInSameDataSource(routeContext, singleTableNames)) {
- Collection<QualifiedTable> existSingleTables = rule.getSingleTableNames(singleTableNames);
- if (!existSingleTables.isEmpty()) {
- fillRouteContext(rule, routeContext, existSingleTables);
- } else {
- RouteUnit routeUnit = rule.getDefaultDataSource().isPresent() ? getDefaultRouteUnit(rule.getDefaultDataSource().get()) : getRandomRouteUnit(rule);
- routeContext.getRouteUnits().add(routeUnit);
- }
+ if (sqlStatement instanceof CreateTableStatement) {
+ String dataSourceName = rule.assignNewDataSourceName();
+ String tableName = singleTableNames.iterator().next().getTableName();
+ routeContext.getRouteUnits().add(new RouteUnit(new RouteMapper(dataSourceName, dataSourceName), Collections.singleton(new RouteMapper(tableName, tableName))));
+ } else if (sqlStatement instanceof AlterTableStatement || sqlStatement instanceof DropTableStatement || rule.isAllTablesInSameDataSource(routeContext, singleTableNames)) {
+ fillRouteContext(rule, routeContext, rule.getSingleTableNames(singleTableNames));
} else {
decorateFederationRouteContext(routeContext);
fillRouteContext(rule, routeContext, singleTableNames);
}
}
- private void decorateFederationRouteContext(final RouteContext routeContext) {
- RouteContext newRouteContext = new RouteContext();
- for (RouteUnit each : routeContext.getRouteUnits()) {
- newRouteContext.putRouteUnit(each.getDataSourceMapper(), each.getTableMappers());
- }
- routeContext.setFederated(true);
- routeContext.getRouteUnits().clear();
- routeContext.getOriginalDataNodes().clear();
- routeContext.getRouteUnits().addAll(newRouteContext.getRouteUnits());
- routeContext.getOriginalDataNodes().addAll(newRouteContext.getOriginalDataNodes());
- }
-
- private boolean isTableDDLStatement() {
- return sqlStatement instanceof CreateTableStatement || sqlStatement instanceof AlterTableStatement || sqlStatement instanceof DropTableStatement;
- }
-
- private RouteUnit getRandomRouteUnit(final SingleTableRule singleTableRule) {
- Collection<String> dataSourceNames = singleTableRule.getDataSourceNames();
- String dataSource = new ArrayList<>(dataSourceNames).get(ThreadLocalRandom.current().nextInt(dataSourceNames.size()));
- String table = singleTableNames.iterator().next().getTableName();
- return new RouteUnit(new RouteMapper(dataSource, dataSource), Collections.singleton(new RouteMapper(table, table)));
- }
-
- private RouteUnit getDefaultRouteUnit(final String dataSource) {
- String table = singleTableNames.iterator().next().getTableName();
- return new RouteUnit(new RouteMapper(dataSource, dataSource), Collections.singleton(new RouteMapper(table, table)));
- }
-
private void fillRouteContext(final SingleTableRule singleTableRule, final RouteContext routeContext, final Collection<QualifiedTable> logicTables) {
for (QualifiedTable each : logicTables) {
String tableName = each.getTableName();
@@ -133,4 +101,16 @@ public final class SingleTableStandardRouteEngine implements SingleTableRouteEng
routeContext.putRouteUnit(new RouteMapper(dataSource, dataSource), Collections.singletonList(new RouteMapper(tableName, tableName)));
}
}
+
+ private void decorateFederationRouteContext(final RouteContext routeContext) {
+ RouteContext newRouteContext = new RouteContext();
+ for (RouteUnit each : routeContext.getRouteUnits()) {
+ newRouteContext.putRouteUnit(each.getDataSourceMapper(), each.getTableMappers());
+ }
+ routeContext.setFederated(true);
+ routeContext.getRouteUnits().clear();
+ routeContext.getOriginalDataNodes().clear();
+ routeContext.getRouteUnits().addAll(newRouteContext.getRouteUnits());
+ routeContext.getOriginalDataNodes().addAll(newRouteContext.getOriginalDataNodes());
+ }
}
diff --git a/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/main/java/org/apache/shardingsphere/singletable/rule/SingleTableRule.java b/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/main/java/org/apache/shardingsphere/singletable/rule/SingleTableRule.java
index ee8ce87308a..20c2e7e765e 100644
--- a/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/main/java/org/apache/shardingsphere/singletable/rule/SingleTableRule.java
+++ b/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/main/java/org/apache/shardingsphere/singletable/rule/SingleTableRule.java
@@ -36,6 +36,7 @@ import org.apache.shardingsphere.singletable.config.SingleTableRuleConfiguration
import org.apache.shardingsphere.singletable.datanode.SingleTableDataNodeLoader;
import javax.sql.DataSource;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
@@ -46,29 +47,31 @@ import java.util.Map;
import java.util.Map.Entry;
import java.util.Optional;
import java.util.TreeSet;
+import java.util.concurrent.ThreadLocalRandom;
import java.util.stream.Collectors;
/**
* Single table rule.
*/
-@Getter
public final class SingleTableRule implements DatabaseRule, DataNodeContainedRule, TableContainedRule, MutableDataNodeRule, ExportableRule {
- private String defaultDataSource;
+ private final String defaultDataSource;
+ @Getter
private final Collection<String> dataSourceNames;
+ @Getter
private final Map<String, Collection<DataNode>> singleTableDataNodes;
private final Map<String, String> tableNames;
public SingleTableRule(final SingleTableRuleConfiguration config, final String databaseName, final DatabaseType databaseType,
final Map<String, DataSource> dataSourceMap, final Collection<ShardingSphereRule> builtRules, final ConfigurationProperties props) {
+ defaultDataSource = config.getDefaultDataSource().orElse(null);
Map<String, DataSource> aggregateDataSourceMap = getAggregateDataSourceMap(dataSourceMap, builtRules);
dataSourceNames = aggregateDataSourceMap.keySet();
singleTableDataNodes = SingleTableDataNodeLoader.load(databaseName, databaseType, aggregateDataSourceMap, getExcludedTables(builtRules), props);
tableNames = singleTableDataNodes.entrySet().stream().collect(Collectors.toConcurrentMap(Entry::getKey, entry -> entry.getValue().iterator().next().getTableName()));
- config.getDefaultDataSource().ifPresent(optional -> defaultDataSource = optional);
}
private Map<String, DataSource> getAggregateDataSourceMap(final Map<String, DataSource> dataSourceMap, final Collection<ShardingSphereRule> builtRules) {
@@ -94,6 +97,15 @@ public final class SingleTableRule implements DatabaseRule, DataNodeContainedRul
return result;
}
+ /**
+ * Assign new data source name.
+ *
+ * @return assigned data source name
+ */
+ public String assignNewDataSourceName() {
+ return null == defaultDataSource ? new ArrayList<>(dataSourceNames).get(ThreadLocalRandom.current().nextInt(dataSourceNames.size())) : defaultDataSource;
+ }
+
/**
* Judge whether single tables are in same data source or not.
*
@@ -141,15 +153,6 @@ public final class SingleTableRule implements DatabaseRule, DataNodeContainedRul
return true;
}
- /**
- * Get default data source.
- *
- * @return default data source
- */
- public Optional<String> getDefaultDataSource() {
- return Optional.ofNullable(defaultDataSource);
- }
-
/**
* Get single table names.
*
diff --git a/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/test/java/org/apache/shardingsphere/singletable/rule/SingleTableRuleTest.java b/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/test/java/org/apache/shardingsphere/singletable/rule/SingleTableRuleTest.java
index ba966648017..a19dca6bf95 100644
--- a/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/test/java/org/apache/shardingsphere/singletable/rule/SingleTableRuleTest.java
+++ b/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/test/java/org/apache/shardingsphere/singletable/rule/SingleTableRuleTest.java
@@ -92,7 +92,7 @@ public final class SingleTableRuleTest {
DataNodeContainedRule dataNodeContainedRule = mock(DataNodeContainedRule.class);
when(dataNodeContainedRule.getAllTables()).thenReturn(Arrays.asList("t_order", "t_order_0", "t_order_1"));
SingleTableRule singleTableRule = new SingleTableRule(new SingleTableRuleConfiguration(), DefaultDatabase.LOGIC_NAME, mock(DatabaseType.class), dataSourceMap,
- Collections.singletonList(dataNodeContainedRule), new ConfigurationProperties(new Properties()));
+ Collections.singleton(dataNodeContainedRule), new ConfigurationProperties(new Properties()));
Map<String, Collection<DataNode>> actual = singleTableRule.getSingleTableDataNodes();
assertThat(actual.size(), is(2));
assertTrue(actual.containsKey("employee"));
@@ -104,7 +104,7 @@ public final class SingleTableRuleTest {
DataNodeContainedRule dataNodeContainedRule = mock(DataNodeContainedRule.class);
when(dataNodeContainedRule.getAllTables()).thenReturn(Arrays.asList("T_ORDER", "T_ORDER_0", "T_ORDER_1"));
SingleTableRule singleTableRule = new SingleTableRule(new SingleTableRuleConfiguration(), DefaultDatabase.LOGIC_NAME, mock(DatabaseType.class), dataSourceMap,
- Collections.singletonList(dataNodeContainedRule), new ConfigurationProperties(new Properties()));
+ Collections.singleton(dataNodeContainedRule), new ConfigurationProperties(new Properties()));
Map<String, Collection<DataNode>> actual = singleTableRule.getSingleTableDataNodes();
assertThat(actual.size(), is(2));
assertTrue(actual.containsKey("employee"));
@@ -115,7 +115,7 @@ public final class SingleTableRuleTest {
public void assertFindSingleTableDataNode() {
DataNodeContainedRule dataNodeContainedRule = mock(DataNodeContainedRule.class);
SingleTableRule singleTableRule = new SingleTableRule(new SingleTableRuleConfiguration(), DefaultDatabase.LOGIC_NAME, mock(DatabaseType.class), dataSourceMap,
- Collections.singletonList(dataNodeContainedRule), new ConfigurationProperties(new Properties()));
+ Collections.singleton(dataNodeContainedRule), new ConfigurationProperties(new Properties()));
Optional<DataNode> actual = singleTableRule.findSingleTableDataNode(DefaultDatabase.LOGIC_NAME, "employee");
assertTrue(actual.isPresent());
assertThat(actual.get().getDataSourceName(), is("ds_0"));
@@ -126,7 +126,7 @@ public final class SingleTableRuleTest {
public void assertFindSingleTableDataNodeWithUpperCase() {
DataNodeContainedRule dataNodeContainedRule = mock(DataNodeContainedRule.class);
SingleTableRule singleTableRule = new SingleTableRule(new SingleTableRuleConfiguration(), DefaultDatabase.LOGIC_NAME, mock(DatabaseType.class), dataSourceMap,
- Collections.singletonList(dataNodeContainedRule), new ConfigurationProperties(new Properties()));
+ Collections.singleton(dataNodeContainedRule), new ConfigurationProperties(new Properties()));
Optional<DataNode> actual = singleTableRule.findSingleTableDataNode(DefaultDatabase.LOGIC_NAME, "EMPLOYEE");
assertTrue(actual.isPresent());
assertThat(actual.get().getDataSourceName(), is("ds_0"));
@@ -137,7 +137,7 @@ public final class SingleTableRuleTest {
public void assertIsSingleTablesInSameDataSource() {
DataNodeContainedRule dataNodeContainedRule = mock(DataNodeContainedRule.class);
SingleTableRule singleTableRule = new SingleTableRule(new SingleTableRuleConfiguration(), DefaultDatabase.LOGIC_NAME, mock(DatabaseType.class), dataSourceMap,
- Collections.singletonList(dataNodeContainedRule), new ConfigurationProperties(new Properties()));
+ Collections.singleton(dataNodeContainedRule), new ConfigurationProperties(new Properties()));
Collection<QualifiedTable> singleTableNames = new LinkedList<>();
singleTableNames.add(new QualifiedTable(DefaultDatabase.LOGIC_NAME, "employee"));
assertTrue(singleTableRule.isSingleTablesInSameDataSource(singleTableNames));
@@ -154,26 +154,25 @@ public final class SingleTableRuleTest {
routeContext.putRouteUnit(dataSourceMapper, tableMappers);
DataNodeContainedRule dataNodeContainedRule = mock(DataNodeContainedRule.class);
SingleTableRule singleTableRule = new SingleTableRule(new SingleTableRuleConfiguration(), DefaultDatabase.LOGIC_NAME, mock(DatabaseType.class), dataSourceMap,
- Collections.singletonList(dataNodeContainedRule), new ConfigurationProperties(new Properties()));
+ Collections.singleton(dataNodeContainedRule), new ConfigurationProperties(new Properties()));
assertTrue(singleTableRule.isAllTablesInSameDataSource(routeContext, singleTableNames));
}
@Test
- public void assertGetDefaultDataSource() {
+ public void assertAssignNewDataSourceName() {
DataNodeContainedRule dataNodeContainedRule = mock(DataNodeContainedRule.class);
SingleTableRuleConfiguration singleTableRuleConfig = new SingleTableRuleConfiguration();
singleTableRuleConfig.setDefaultDataSource("ds_0");
SingleTableRule singleTableRule = new SingleTableRule(singleTableRuleConfig, DefaultDatabase.LOGIC_NAME, mock(DatabaseType.class), dataSourceMap,
- Collections.singletonList(dataNodeContainedRule), new ConfigurationProperties(new Properties()));
- assertTrue(singleTableRule.getDefaultDataSource().isPresent());
- assertThat(singleTableRule.getDefaultDataSource().get(), is("ds_0"));
+ Collections.singleton(dataNodeContainedRule), new ConfigurationProperties(new Properties()));
+ assertThat(singleTableRule.assignNewDataSourceName(), is("ds_0"));
}
@Test
public void assertGetSingleTableNames() {
DataNodeContainedRule dataNodeContainedRule = mock(DataNodeContainedRule.class);
SingleTableRule singleTableRule = new SingleTableRule(new SingleTableRuleConfiguration(), DefaultDatabase.LOGIC_NAME, mock(DatabaseType.class), dataSourceMap,
- Collections.singletonList(dataNodeContainedRule), new ConfigurationProperties(new Properties()));
+ Collections.singleton(dataNodeContainedRule), new ConfigurationProperties(new Properties()));
Collection<QualifiedTable> tableNames = new LinkedList<>();
tableNames.add(new QualifiedTable(DefaultDatabase.LOGIC_NAME, "employee"));
assertThat(singleTableRule.getSingleTableNames(tableNames).iterator().next().getSchemaName(), is(DefaultDatabase.LOGIC_NAME));
@@ -184,7 +183,7 @@ public final class SingleTableRuleTest {
public void assertPut() {
DataNodeContainedRule dataNodeContainedRule = mock(DataNodeContainedRule.class);
SingleTableRule singleTableRule = new SingleTableRule(new SingleTableRuleConfiguration(), DefaultDatabase.LOGIC_NAME, mock(DatabaseType.class), dataSourceMap,
- Collections.singletonList(dataNodeContainedRule), new ConfigurationProperties(new Properties()));
+ Collections.singleton(dataNodeContainedRule), new ConfigurationProperties(new Properties()));
String tableName = "teacher";
String dataSourceName = "ds_0";
singleTableRule.put(dataSourceName, DefaultDatabase.LOGIC_NAME, tableName);
@@ -203,7 +202,7 @@ public final class SingleTableRuleTest {
public void assertRemove() {
DataNodeContainedRule dataNodeContainedRule = mock(DataNodeContainedRule.class);
SingleTableRule singleTableRule = new SingleTableRule(new SingleTableRuleConfiguration(), DefaultDatabase.LOGIC_NAME, mock(DatabaseType.class), dataSourceMap,
- Collections.singletonList(dataNodeContainedRule), new ConfigurationProperties(new Properties()));
+ Collections.singleton(dataNodeContainedRule), new ConfigurationProperties(new Properties()));
String tableName = "employee";
singleTableRule.remove(DefaultDatabase.LOGIC_NAME, tableName);
Collection<QualifiedTable> tableNames = new LinkedList<>();
@@ -218,7 +217,7 @@ public final class SingleTableRuleTest {
public void assertGetAllDataNodes() {
DataNodeContainedRule dataNodeContainedRule = mock(DataNodeContainedRule.class);
SingleTableRule singleTableRule = new SingleTableRule(new SingleTableRuleConfiguration(), DefaultDatabase.LOGIC_NAME, mock(DatabaseType.class), dataSourceMap,
- Collections.singletonList(dataNodeContainedRule), new ConfigurationProperties(new Properties()));
+ Collections.singleton(dataNodeContainedRule), new ConfigurationProperties(new Properties()));
assertTrue(singleTableRule.getAllDataNodes().containsKey("employee"));
assertTrue(singleTableRule.getAllDataNodes().containsKey("student"));
assertTrue(singleTableRule.getAllDataNodes().containsKey("t_order_0"));
@@ -229,7 +228,7 @@ public final class SingleTableRuleTest {
public void assertGetDataNodesByTableName() {
DataNodeContainedRule dataNodeContainedRule = mock(DataNodeContainedRule.class);
SingleTableRule singleTableRule = new SingleTableRule(new SingleTableRuleConfiguration(), DefaultDatabase.LOGIC_NAME, mock(DatabaseType.class), dataSourceMap,
- Collections.singletonList(dataNodeContainedRule), new ConfigurationProperties(new Properties()));
+ Collections.singleton(dataNodeContainedRule), new ConfigurationProperties(new Properties()));
Collection<DataNode> actual = singleTableRule.getDataNodesByTableName("EMPLOYEE");
assertThat(actual.size(), is(1));
DataNode dataNode = actual.iterator().next();
@@ -241,7 +240,7 @@ public final class SingleTableRuleTest {
public void assertFindFirstActualTable() {
DataNodeContainedRule dataNodeContainedRule = mock(DataNodeContainedRule.class);
SingleTableRule singleTableRule = new SingleTableRule(new SingleTableRuleConfiguration(), DefaultDatabase.LOGIC_NAME, mock(DatabaseType.class), dataSourceMap,
- Collections.singletonList(dataNodeContainedRule), new ConfigurationProperties(new Properties()));
+ Collections.singleton(dataNodeContainedRule), new ConfigurationProperties(new Properties()));
String logicTable = "employee";
assertFalse(singleTableRule.findFirstActualTable(logicTable).isPresent());
}
@@ -250,7 +249,7 @@ public final class SingleTableRuleTest {
public void assertIsNeedAccumulate() {
DataNodeContainedRule dataNodeContainedRule = mock(DataNodeContainedRule.class);
SingleTableRule singleTableRule = new SingleTableRule(new SingleTableRuleConfiguration(), DefaultDatabase.LOGIC_NAME, mock(DatabaseType.class), dataSourceMap,
- Collections.singletonList(dataNodeContainedRule), new ConfigurationProperties(new Properties()));
+ Collections.singleton(dataNodeContainedRule), new ConfigurationProperties(new Properties()));
assertFalse(singleTableRule.isNeedAccumulate(Collections.emptyList()));
}
@@ -258,7 +257,7 @@ public final class SingleTableRuleTest {
public void assertFindLogicTableByActualTable() {
DataNodeContainedRule dataNodeContainedRule = mock(DataNodeContainedRule.class);
SingleTableRule singleTableRule = new SingleTableRule(new SingleTableRuleConfiguration(), DefaultDatabase.LOGIC_NAME, mock(DatabaseType.class), dataSourceMap,
- Collections.singletonList(dataNodeContainedRule), new ConfigurationProperties(new Properties()));
+ Collections.singleton(dataNodeContainedRule), new ConfigurationProperties(new Properties()));
String actualTable = "student";
assertFalse(singleTableRule.findLogicTableByActualTable(actualTable).isPresent());
}
@@ -267,7 +266,7 @@ public final class SingleTableRuleTest {
public void assertFindActualTableByCatalog() {
DataNodeContainedRule dataNodeContainedRule = mock(DataNodeContainedRule.class);
SingleTableRule singleTableRule = new SingleTableRule(new SingleTableRuleConfiguration(), DefaultDatabase.LOGIC_NAME, mock(DatabaseType.class), dataSourceMap,
- Collections.singletonList(dataNodeContainedRule), new ConfigurationProperties(new Properties()));
+ Collections.singleton(dataNodeContainedRule), new ConfigurationProperties(new Properties()));
String catalog = "employee";
String logicTable = "t_order_0";
assertFalse(singleTableRule.findActualTableByCatalog(catalog, logicTable).isPresent());
diff --git a/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/test/java/org/apache/shardingsphere/singletable/rule/builder/SingleTableRuleBuilderTest.java b/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/test/java/org/apache/shardingsphere/singletable/rule/builder/SingleTableRuleBuilderTest.java
index 50a725fee2a..945f6445910 100644
--- a/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/test/java/org/apache/shardingsphere/singletable/rule/builder/SingleTableRuleBuilderTest.java
+++ b/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/test/java/org/apache/shardingsphere/singletable/rule/builder/SingleTableRuleBuilderTest.java
@@ -32,10 +32,7 @@ import java.util.Collections;
import java.util.Properties;
import static org.hamcrest.CoreMatchers.instanceOf;
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock;
public final class SingleTableRuleBuilderTest {
@@ -49,7 +46,6 @@ public final class SingleTableRuleBuilderTest {
ShardingSphereRule shardingSphereRule = mock(ShardingSphereRule.class);
DatabaseRule databaseRule = builder.build(config, "", Collections.emptyMap(), Collections.singletonList(shardingSphereRule), new ConfigurationProperties(createProperties()));
assertThat(databaseRule, instanceOf(SingleTableRule.class));
- assertFalse(((SingleTableRule) databaseRule).getDefaultDataSource().isPresent());
}
@SuppressWarnings({"rawtypes", "unchecked"})
@@ -62,8 +58,6 @@ public final class SingleTableRuleBuilderTest {
config.setDefaultDataSource("ds_0");
DatabaseRule databaseRule = builder.build(config, "", Collections.emptyMap(), Collections.singletonList(shardingSphereRule), new ConfigurationProperties(createProperties()));
assertThat(databaseRule, instanceOf(SingleTableRule.class));
- assertTrue(((SingleTableRule) databaseRule).getDefaultDataSource().isPresent());
- assertThat(((SingleTableRule) databaseRule).getDefaultDataSource().get(), is("ds_0"));
}
private Properties createProperties() {