This is an automated email from the ASF dual-hosted git repository.
zhangliang 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 5e2798173eb Add more test cases on
SingleRuleConfigurationToDistSQLConverter (#33459)
5e2798173eb is described below
commit 5e2798173ebf77dfc109d566642f74459eda9aae
Author: Liang Zhang <[email protected]>
AuthorDate: Tue Oct 29 23:44:45 2024 +0800
Add more test cases on SingleRuleConfigurationToDistSQLConverter (#33459)
* Add more test cases on SingleRuleConfigurationToDistSQLConverter
* Add more test cases on SingleRuleConfigurationToDistSQLConverter
---
.../BroadcastConvertDistSQLConstants.java | 2 +-
...oadcastRuleConfigurationToDistSQLConverter.java | 5 +---
.../converter/SingleConvertDistSQLConstants.java | 4 +--
.../SingleRuleConfigurationToDistSQLConverter.java | 7 ++---
...gleRuleConfigurationToDistSQLConverterTest.java | 31 ++++++++++++----------
5 files changed, 23 insertions(+), 26 deletions(-)
diff --git
a/features/broadcast/distsql/handler/src/main/java/org/apache/shardingsphere/broadcast/distsql/handler/converter/BroadcastConvertDistSQLConstants.java
b/features/broadcast/distsql/handler/src/main/java/org/apache/shardingsphere/broadcast/distsql/handler/converter/BroadcastConvertDistSQLConstants.java
index 97236a7ff1f..bf29efdcffe 100644
---
a/features/broadcast/distsql/handler/src/main/java/org/apache/shardingsphere/broadcast/distsql/handler/converter/BroadcastConvertDistSQLConstants.java
+++
b/features/broadcast/distsql/handler/src/main/java/org/apache/shardingsphere/broadcast/distsql/handler/converter/BroadcastConvertDistSQLConstants.java
@@ -26,5 +26,5 @@ import lombok.NoArgsConstructor;
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public final class BroadcastConvertDistSQLConstants {
- public static final String CREATE_BROADCAST_TABLE_RULE = "CREATE BROADCAST
TABLE RULE %s;";
+ public static final String SQL_PATTERN = "CREATE BROADCAST TABLE RULE %s;";
}
diff --git
a/features/broadcast/distsql/handler/src/main/java/org/apache/shardingsphere/broadcast/distsql/handler/converter/BroadcastRuleConfigurationToDistSQLConverter.java
b/features/broadcast/distsql/handler/src/main/java/org/apache/shardingsphere/broadcast/distsql/handler/converter/BroadcastRuleConfigurationToDistSQLConverter.java
index bf4310581e8..0afbf0c8ad6 100644
---
a/features/broadcast/distsql/handler/src/main/java/org/apache/shardingsphere/broadcast/distsql/handler/converter/BroadcastRuleConfigurationToDistSQLConverter.java
+++
b/features/broadcast/distsql/handler/src/main/java/org/apache/shardingsphere/broadcast/distsql/handler/converter/BroadcastRuleConfigurationToDistSQLConverter.java
@@ -28,10 +28,7 @@ public final class
BroadcastRuleConfigurationToDistSQLConverter implements RuleC
@Override
public String convert(final BroadcastRuleConfiguration ruleConfig) {
- if (ruleConfig.getTables().isEmpty()) {
- return "";
- }
- return
String.format(BroadcastConvertDistSQLConstants.CREATE_BROADCAST_TABLE_RULE,
Joiner.on(",").join(ruleConfig.getTables()));
+ return ruleConfig.getTables().isEmpty() ? "" :
String.format(BroadcastConvertDistSQLConstants.SQL_PATTERN,
Joiner.on(",").join(ruleConfig.getTables()));
}
@Override
diff --git
a/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/converter/SingleConvertDistSQLConstants.java
b/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/converter/SingleConvertDistSQLConstants.java
index 13cd6ffec1e..b76a41a1bcc 100644
---
a/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/converter/SingleConvertDistSQLConstants.java
+++
b/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/converter/SingleConvertDistSQLConstants.java
@@ -26,7 +26,7 @@ import lombok.NoArgsConstructor;
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public final class SingleConvertDistSQLConstants {
- public static final String LOAD_SINGLE_TABLE = "LOAD SINGLE TABLE %s;";
+ public static final String LOAD_SQL_PATTERN = "LOAD SINGLE TABLE %s;";
- public static final String SET_DEFAULT_SINGLE_TABLE_STORAGE_UNIT = "SET
DEFAULT SINGLE TABLE STORAGE UNIT = %s;";
+ public static final String SET_DEFAULT_SQL_PATTERN = "SET DEFAULT SINGLE
TABLE STORAGE UNIT = %s;";
}
diff --git
a/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/converter/SingleRuleConfigurationToDistSQLConverter.java
b/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/converter/SingleRuleConfigurationToDistSQLConverter.java
index c37dae66122..a3ce4c404b5 100644
---
a/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/converter/SingleRuleConfigurationToDistSQLConverter.java
+++
b/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/converter/SingleRuleConfigurationToDistSQLConverter.java
@@ -28,9 +28,6 @@ public final class SingleRuleConfigurationToDistSQLConverter
implements RuleConf
@Override
public String convert(final SingleRuleConfiguration ruleConfig) {
- if (ruleConfig.getTables().isEmpty() &&
!ruleConfig.getDefaultDataSource().isPresent()) {
- return "";
- }
StringBuilder result = new StringBuilder();
if (!ruleConfig.getTables().isEmpty()) {
result.append(convertLoadTable(ruleConfig));
@@ -45,11 +42,11 @@ public final class
SingleRuleConfigurationToDistSQLConverter implements RuleConf
}
private String convertLoadTable(final SingleRuleConfiguration ruleConfig) {
- return String.format(SingleConvertDistSQLConstants.LOAD_SINGLE_TABLE,
Joiner.on(",").join(ruleConfig.getTables()));
+ return String.format(SingleConvertDistSQLConstants.LOAD_SQL_PATTERN,
Joiner.on(",").join(ruleConfig.getTables()));
}
private String convertSetDefaultSingleTableStorageUnit(final String
defaultStorageUnitName) {
- return
String.format(SingleConvertDistSQLConstants.SET_DEFAULT_SINGLE_TABLE_STORAGE_UNIT,
defaultStorageUnitName);
+ return
String.format(SingleConvertDistSQLConstants.SET_DEFAULT_SQL_PATTERN,
defaultStorageUnitName);
}
@Override
diff --git
a/kernel/single/distsql/handler/src/test/java/org/apache/shardingsphere/single/distsql/handler/converter/SingleRuleConfigurationToDistSQLConverterTest.java
b/kernel/single/distsql/handler/src/test/java/org/apache/shardingsphere/single/distsql/handler/converter/SingleRuleConfigurationToDistSQLConverterTest.java
index f6d2eabf84d..e1c79f1fbd9 100644
---
a/kernel/single/distsql/handler/src/test/java/org/apache/shardingsphere/single/distsql/handler/converter/SingleRuleConfigurationToDistSQLConverterTest.java
+++
b/kernel/single/distsql/handler/src/test/java/org/apache/shardingsphere/single/distsql/handler/converter/SingleRuleConfigurationToDistSQLConverterTest.java
@@ -17,35 +17,38 @@
package org.apache.shardingsphere.single.distsql.handler.converter;
+import
org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.RuleConfigurationToDistSQLConverter;
+import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.single.config.SingleRuleConfiguration;
import org.junit.jupiter.api.Test;
import java.util.Arrays;
import java.util.Collections;
-import java.util.LinkedList;
-import java.util.Optional;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
class SingleRuleConfigurationToDistSQLConverterTest {
+ @SuppressWarnings("unchecked")
+ private final RuleConfigurationToDistSQLConverter<SingleRuleConfiguration>
converter =
TypedSPILoader.getService(RuleConfigurationToDistSQLConverter.class,
SingleRuleConfiguration.class);
+
@Test
void assertConvert() {
- SingleRuleConfiguration singleRuleConfig = new
SingleRuleConfiguration(new LinkedList<>(Arrays.asList("t_0", "t_1")),
"foo_ds");
- SingleRuleConfigurationToDistSQLConverter
singleRuleConfigurationToDistSQLConverter = new
SingleRuleConfigurationToDistSQLConverter();
-
assertThat(singleRuleConfigurationToDistSQLConverter.convert(singleRuleConfig),
- is("LOAD SINGLE TABLE t_0,t_1;" + System.lineSeparator() +
System.lineSeparator() + "SET DEFAULT SINGLE TABLE STORAGE UNIT = foo_ds;"));
+ SingleRuleConfiguration singleRuleConfig = new
SingleRuleConfiguration(Arrays.asList("foo_tbl", "bar_tbl"), "foo_ds");
+ assertThat(converter.convert(singleRuleConfig),
+ is("LOAD SINGLE TABLE foo_tbl,bar_tbl;" +
System.lineSeparator() + System.lineSeparator() + "SET DEFAULT SINGLE TABLE
STORAGE UNIT = foo_ds;"));
+ }
+
+ @Test
+ void assertConvertWithDefaultDatasourceOnly() {
+ SingleRuleConfiguration singleRuleConfig = new
SingleRuleConfiguration(Collections.emptyList(), "foo_ds");
+ assertThat(converter.convert(singleRuleConfig), is("SET DEFAULT SINGLE
TABLE STORAGE UNIT = foo_ds;"));
}
@Test
- void assertConvertWithoutDefaultDatasourceAndTables() {
- SingleRuleConfiguration singleRuleConfig =
mock(SingleRuleConfiguration.class);
-
when(singleRuleConfig.getDefaultDataSource()).thenReturn(Optional.empty());
- when(singleRuleConfig.getTables()).thenReturn(Collections.emptyList());
- SingleRuleConfigurationToDistSQLConverter
singleRuleConfigurationToDistSQLConverter = new
SingleRuleConfigurationToDistSQLConverter();
-
assertThat(singleRuleConfigurationToDistSQLConverter.convert(singleRuleConfig),
is(""));
+ void assertConvertWithEmptyTablesAndDefaultDatasource() {
+ SingleRuleConfiguration ruleConfig = new SingleRuleConfiguration();
+ assertThat(converter.convert(ruleConfig), is(""));
}
}