You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2022/07/16 13:49:57 UTC
[shardingsphere] branch master updated: Refactor SingleTableSQLRouterTest (#19265)
This is an automated email from the ASF dual-hosted git repository.
zhaojinchao 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 02d7d17f430 Refactor SingleTableSQLRouterTest (#19265)
02d7d17f430 is described below
commit 02d7d17f4306fab8b6826b2c1b3d62c014a6bb9e
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Sat Jul 16 21:49:51 2022 +0800
Refactor SingleTableSQLRouterTest (#19265)
---
.../route/SingleTableSQLRouterTest.java | 56 ++++++++++------------
...rPersistRepositoryConfigurationYamlSwapper.java | 4 +-
2 files changed, 26 insertions(+), 34 deletions(-)
diff --git a/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/test/java/org/apache/shardingsphere/singletable/route/SingleTableSQLRouterTest.java b/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/test/java/org/apache/shardingsphere/singletable/route/SingleTableSQLRouterTest.java
index 7d89c21c9cc..1aca4440c3d 100644
--- a/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/test/java/org/apache/shardingsphere/singletable/route/SingleTableSQLRouterTest.java
+++ b/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/test/java/org/apache/shardingsphere/singletable/route/SingleTableSQLRouterTest.java
@@ -150,42 +150,32 @@ public final class SingleTableSQLRouterTest {
return result;
}
- private LogicSQL createLogicSQL() {
- CreateTableStatement createTableStatement = new MySQLCreateTableStatement(false);
- createTableStatement.setTable(new SimpleTableSegment(new TableNameSegment(1, 2, new IdentifierValue("t_order"))));
- return new LogicSQL(new CreateTableStatementContext(createTableStatement), "CREATE TABLE", new LinkedList<>());
- }
-
@Test
- public void assertDecorateRouteContextWithSingleDataSource() throws SQLException {
+ public void assertDecorateRouteContextWithSingleDataSource() {
SingleTableRule rule = new SingleTableRule(new SingleTableRuleConfiguration(),
- DefaultDatabase.LOGIC_NAME, Collections.singletonMap("foo_ds", new MockedDataSource(mockConnection())), Collections.emptyList());
- LogicSQL logicSQL = createLogicSQL();
- ShardingSphereDatabase database = mockReadwriteSplittingDatabase();
- RouteContext actual = new RouteContext();
- RouteUnit routeUnit = new RouteUnit(new RouteMapper("foo_ds", "foo_ds"), Collections.singletonList(new RouteMapper("t_order", "t_order")));
- actual.getRouteUnits().add(routeUnit);
+ DefaultDatabase.LOGIC_NAME, Collections.singletonMap("foo_ds", new MockedDataSource()), Collections.emptyList());
+ RouteContext routeContext = new RouteContext();
+ routeContext.getRouteUnits().add(new RouteUnit(new RouteMapper("foo_ds", "foo_ds"), Collections.singletonList(new RouteMapper("t_order", "t_order"))));
SingleTableSQLRouter sqlRouter = (SingleTableSQLRouter) SQLRouterFactory.getInstances(Collections.singleton(rule)).get(rule);
- sqlRouter.decorateRouteContext(actual, logicSQL, database, rule, new ConfigurationProperties(new Properties()));
- Iterator<String> routedDataSourceNames = actual.getActualDataSourceNames().iterator();
+ sqlRouter.decorateRouteContext(routeContext, createLogicSQL(), mockReadwriteSplittingDatabase(), rule, new ConfigurationProperties(new Properties()));
+ Iterator<String> routedDataSourceNames = routeContext.getActualDataSourceNames().iterator();
assertThat(routedDataSourceNames.next(), is("foo_ds"));
}
@Test
- public void assertDecorateRouteContextWithReadwriteSplittingDataSource() throws SQLException {
+ public void assertDecorateRouteContextWithReadwriteSplittingDataSource() {
SingleTableRule rule = new SingleTableRule(new SingleTableRuleConfiguration(),
- DefaultDatabase.LOGIC_NAME, Collections.singletonMap("readwrite_ds", new MockedDataSource(mockConnection())), Collections.emptyList());
- LogicSQL logicSQL = createLogicSQL();
- RouteContext actual = new RouteContext();
+ DefaultDatabase.LOGIC_NAME, Collections.singletonMap("readwrite_ds", new MockedDataSource()), Collections.emptyList());
+ RouteContext routeContext = new RouteContext();
RouteUnit readWriteRouteUnit = new RouteUnit(new RouteMapper("readwrite_ds", "readwrite_ds"), Collections.emptyList());
RouteUnit writeRouteUnit = new RouteUnit(new RouteMapper("write_ds", "write_ds"), Collections.singletonList(new RouteMapper("t_order", "t_order")));
- actual.getRouteUnits().add(readWriteRouteUnit);
- actual.getRouteUnits().add(writeRouteUnit);
+ routeContext.getRouteUnits().add(readWriteRouteUnit);
+ routeContext.getRouteUnits().add(writeRouteUnit);
SingleTableSQLRouter sqlRouter = (SingleTableSQLRouter) SQLRouterFactory.getInstances(Collections.singleton(rule)).get(rule);
ShardingSphereDatabase database = new ShardingSphereDatabase(DefaultDatabase.LOGIC_NAME, mock(DatabaseType.class), mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS),
new ShardingSphereRuleMetaData(Collections.singleton(rule)), Collections.emptyMap());
- sqlRouter.decorateRouteContext(actual, logicSQL, database, rule, new ConfigurationProperties(new Properties()));
- Iterator<String> routedDataSourceNames = actual.getActualDataSourceNames().iterator();
+ sqlRouter.decorateRouteContext(routeContext, createLogicSQL(), database, rule, new ConfigurationProperties(new Properties()));
+ Iterator<String> routedDataSourceNames = routeContext.getActualDataSourceNames().iterator();
assertThat(routedDataSourceNames.next(), is("write_ds"));
assertThat(routedDataSourceNames.next(), is("readwrite_ds"));
}
@@ -193,17 +183,19 @@ public final class SingleTableSQLRouterTest {
@Test
public void assertDecorateRouteContextWithMultiDataSource() throws SQLException {
SingleTableRule rule = new SingleTableRule(new SingleTableRuleConfiguration(), DefaultDatabase.LOGIC_NAME, createMultiDataSourceMap(), Collections.emptyList());
- ShardingSphereDatabase database = mockDatabaseWithMultipleResources();
- LogicSQL logicSQL = createLogicSQL();
- RouteContext actual = new RouteContext();
- RouteUnit routeUnitOne = new RouteUnit(new RouteMapper("ds_0", "ds_0"), Collections.emptyList());
- RouteUnit routeUnitTwo = new RouteUnit(new RouteMapper("ds_1", "ds_1"), Collections.emptyList());
- actual.getRouteUnits().add(routeUnitOne);
- actual.getRouteUnits().add(routeUnitTwo);
+ RouteContext routeContext = new RouteContext();
+ routeContext.getRouteUnits().add(new RouteUnit(new RouteMapper("ds_0", "ds_0"), Collections.emptyList()));
+ routeContext.getRouteUnits().add(new RouteUnit(new RouteMapper("ds_1", "ds_1"), Collections.emptyList()));
SingleTableSQLRouter sqlRouter = (SingleTableSQLRouter) SQLRouterFactory.getInstances(Collections.singleton(rule)).get(rule);
- sqlRouter.decorateRouteContext(actual, logicSQL, database, rule, new ConfigurationProperties(new Properties()));
- Iterator<String> routedDataSourceNames = actual.getActualDataSourceNames().iterator();
+ sqlRouter.decorateRouteContext(routeContext, createLogicSQL(), mockDatabaseWithMultipleResources(), rule, new ConfigurationProperties(new Properties()));
+ Iterator<String> routedDataSourceNames = routeContext.getActualDataSourceNames().iterator();
assertThat(routedDataSourceNames.next(), is("ds_1"));
assertThat(routedDataSourceNames.next(), is("ds_0"));
}
+
+ private LogicSQL createLogicSQL() {
+ CreateTableStatement createTableStatement = new MySQLCreateTableStatement(false);
+ createTableStatement.setTable(new SimpleTableSegment(new TableNameSegment(1, 2, new IdentifierValue("t_order"))));
+ return new LogicSQL(new CreateTableStatementContext(createTableStatement), "CREATE TABLE", new LinkedList<>());
+ }
}
diff --git a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/yaml/ClusterPersistRepositoryConfigurationYamlSwapper.java b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/yaml/ClusterPersistRepositoryConfigurationYamlSwapper.java
index 717c41ee185..03d6ed4c267 100644
--- a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/yaml/ClusterPersistRepositoryConfigurationYamlSwapper.java
+++ b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/yaml/ClusterPersistRepositoryConfigurationYamlSwapper.java
@@ -38,8 +38,8 @@ public final class ClusterPersistRepositoryConfigurationYamlSwapper implements P
@Override
public ClusterPersistRepositoryConfiguration swapToObject(final YamlPersistRepositoryConfiguration yamlConfig) {
- return new ClusterPersistRepositoryConfiguration(yamlConfig.getType(), yamlConfig.getProps().getProperty("namespace"),
- yamlConfig.getProps().getProperty("server-lists"), yamlConfig.getProps());
+ return new ClusterPersistRepositoryConfiguration(
+ yamlConfig.getType(), yamlConfig.getProps().getProperty("namespace"), yamlConfig.getProps().getProperty("server-lists"), yamlConfig.getProps());
}
@Override