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(""));
     }
 }

Reply via email to