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 df832a4793d Refactor YamlShardingRuleConfigurationSwapperTest (#19925)
df832a4793d is described below

commit df832a4793d2789655c06992ae5846d9b4f767ee
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Aug 6 16:40:47 2022 +0800

    Refactor YamlShardingRuleConfigurationSwapperTest (#19925)
---
 .../YamlShardingRuleConfigurationSwapperTest.java  | 146 ++++++---------------
 1 file changed, 41 insertions(+), 105 deletions(-)

diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/yaml/swapper/YamlShardingRuleConfigurationSwapperTest.java
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/yaml/swapper/YamlShardingRuleConfigurationSwapperTest.java
index 5302cb30066..07091822e77 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/yaml/swapper/YamlShardingRuleConfigurationSwapperTest.java
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/yaml/swapper/YamlShardingRuleConfigurationSwapperTest.java
@@ -18,7 +18,6 @@
 package org.apache.shardingsphere.sharding.yaml.swapper;
 
 import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
-import 
org.apache.shardingsphere.infra.yaml.config.swapper.YamlConfigurationSwapper;
 import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
 import 
org.apache.shardingsphere.sharding.api.config.rule.ShardingTableRuleConfiguration;
 import 
org.apache.shardingsphere.sharding.api.config.strategy.audit.ShardingAuditStrategyConfiguration;
@@ -29,99 +28,25 @@ import 
org.apache.shardingsphere.sharding.yaml.config.rule.YamlTableRuleConfigur
 import 
org.apache.shardingsphere.sharding.yaml.config.strategy.audit.YamlShardingAuditStrategyConfiguration;
 import 
org.apache.shardingsphere.sharding.yaml.config.strategy.keygen.YamlKeyGenerateStrategyConfiguration;
 import 
org.apache.shardingsphere.sharding.yaml.config.strategy.sharding.YamlShardingStrategyConfiguration;
-import 
org.apache.shardingsphere.sharding.yaml.swapper.rule.YamlShardingTableRuleConfigurationSwapper;
-import 
org.apache.shardingsphere.sharding.yaml.swapper.strategy.YamlKeyGenerateStrategyConfigurationSwapper;
-import 
org.apache.shardingsphere.sharding.yaml.swapper.strategy.YamlShardingAuditStrategyConfigurationSwapper;
-import 
org.apache.shardingsphere.sharding.yaml.swapper.strategy.YamlShardingStrategyConfigurationSwapper;
-import org.junit.Before;
+import 
org.apache.shardingsphere.sharding.yaml.config.strategy.sharding.YamlStandardShardingStrategyConfiguration;
 import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.ArgumentMatchers;
-import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnitRunner;
 
 import java.io.File;
 import java.io.IOException;
-import java.lang.reflect.Field;
 import java.net.URL;
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
 
-@RunWith(MockitoJUnitRunner.class)
 public final class YamlShardingRuleConfigurationSwapperTest {
     
-    @Mock
-    private YamlShardingTableRuleConfigurationSwapper 
tableRuleConfigurationSwapper;
-    
-    @Mock
-    private YamlShardingStrategyConfigurationSwapper 
shardingStrategyConfigSwapper;
-    
-    @Mock
-    private YamlKeyGenerateStrategyConfigurationSwapper 
keyGenerateStrategyConfigSwapper;
-    
-    @Mock
-    private YamlShardingAuditStrategyConfigurationSwapper 
shardingAuditStrategyConfigSwapper;
-    
-    private final YamlShardingRuleConfigurationSwapper 
shardingRuleConfigSwapper = new YamlShardingRuleConfigurationSwapper();
-    
-    @Before
-    public void setUp() throws ReflectiveOperationException {
-        setSwapper("tableSwapper", tableRuleConfigurationSwapper);
-        
when(tableRuleConfigurationSwapper.swapToYamlConfiguration(ArgumentMatchers.any())).thenReturn(mock(YamlTableRuleConfiguration.class));
-        
when(tableRuleConfigurationSwapper.swapToObject(ArgumentMatchers.any())).thenReturn(mock(ShardingTableRuleConfiguration.class));
-        setSwapper("shardingStrategySwapper", shardingStrategyConfigSwapper);
-        
when(shardingStrategyConfigSwapper.swapToYamlConfiguration(ArgumentMatchers.any())).thenReturn(mock(YamlShardingStrategyConfiguration.class));
-        
when(shardingStrategyConfigSwapper.swapToObject(ArgumentMatchers.any())).thenReturn(mock(ShardingStrategyConfiguration.class));
-        setSwapper("keyGenerateStrategySwapper", 
keyGenerateStrategyConfigSwapper);
-        
when(keyGenerateStrategyConfigSwapper.swapToYamlConfiguration(ArgumentMatchers.any())).thenReturn(mock(YamlKeyGenerateStrategyConfiguration.class));
-        
when(keyGenerateStrategyConfigSwapper.swapToObject(ArgumentMatchers.any())).thenReturn(mock(KeyGenerateStrategyConfiguration.class));
-        setSwapper("auditStrategySwapper", shardingAuditStrategyConfigSwapper);
-        
when(shardingAuditStrategyConfigSwapper.swapToYamlConfiguration(ArgumentMatchers.any())).thenReturn(mock(YamlShardingAuditStrategyConfiguration.class));
-        
when(shardingAuditStrategyConfigSwapper.swapToObject(ArgumentMatchers.any())).thenReturn(mock(ShardingAuditStrategyConfiguration.class));
-    }
-    
-    private void setSwapper(final String swapperFieldName, final 
YamlConfigurationSwapper swapperFieldValue) throws ReflectiveOperationException 
{
-        Field field = 
YamlShardingRuleConfigurationSwapper.class.getDeclaredField(swapperFieldName);
-        field.setAccessible(true);
-        field.set(shardingRuleConfigSwapper, swapperFieldValue);
-    }
+    private final YamlShardingRuleConfigurationSwapper swapper = new 
YamlShardingRuleConfigurationSwapper();
     
     @Test
-    public void assertSwapToYamlWithMinProperties() {
-        ShardingRuleConfiguration shardingRuleConfig = new 
ShardingRuleConfiguration();
-        
shardingRuleConfig.getTables().add(mock(ShardingTableRuleConfiguration.class));
-        YamlShardingRuleConfiguration actual = 
shardingRuleConfigSwapper.swapToYamlConfiguration(shardingRuleConfig);
-        assertThat(actual.getTables().size(), is(1));
-        assertTrue(actual.getBindingTables().isEmpty());
-        assertTrue(actual.getBroadcastTables().isEmpty());
-        assertNull(actual.getDefaultDatabaseStrategy());
-        assertNull(actual.getDefaultTableStrategy());
-        assertNull(actual.getDefaultKeyGenerateStrategy());
-        assertNull(actual.getDefaultShardingColumn());
-        assertNull(actual.getDefaultShardingColumn());
-        assertNull(actual.getScalingName());
-        assertTrue(actual.getScaling().isEmpty());
-    }
-    
-    @Test
-    public void assertSwapToYamlWithMaxProperties() {
-        ShardingRuleConfiguration shardingRuleConfig = new 
ShardingRuleConfiguration();
-        
shardingRuleConfig.getTables().add(mock(ShardingTableRuleConfiguration.class));
-        shardingRuleConfig.getBindingTableGroups().add("tbl, sub_tbl");
-        shardingRuleConfig.getBroadcastTables().add("dict");
-        
shardingRuleConfig.setDefaultDatabaseShardingStrategy(mock(ShardingStrategyConfiguration.class));
-        
shardingRuleConfig.setDefaultTableShardingStrategy(mock(ShardingStrategyConfiguration.class));
-        
shardingRuleConfig.setDefaultTableShardingStrategy(mock(ShardingStrategyConfiguration.class));
-        
shardingRuleConfig.setDefaultKeyGenerateStrategy(mock(KeyGenerateStrategyConfiguration.class));
-        
shardingRuleConfig.setDefaultAuditStrategy(mock(ShardingAuditStrategyConfiguration.class));
-        shardingRuleConfig.setDefaultShardingColumn("user_id");
-        YamlShardingRuleConfiguration actual = 
shardingRuleConfigSwapper.swapToYamlConfiguration(shardingRuleConfig);
+    public void assertSwapToYamlConfiguration() {
+        YamlShardingRuleConfiguration actual = 
swapper.swapToYamlConfiguration(createShardingRuleConfiguration());
         assertThat(actual.getTables().size(), is(1));
         assertThat(actual.getBindingTables().size(), is(1));
         assertThat(actual.getBindingTables().iterator().next(), is("tbl, 
sub_tbl"));
@@ -134,33 +59,23 @@ public final class 
YamlShardingRuleConfigurationSwapperTest {
         assertThat(actual.getDefaultShardingColumn(), is("user_id"));
     }
     
-    @Test
-    public void assertSwapToObjectWithMinProperties() {
-        YamlShardingRuleConfiguration yamlConfig = new 
YamlShardingRuleConfiguration();
-        yamlConfig.getTables().put("tbl", 
mock(YamlTableRuleConfiguration.class));
-        ShardingRuleConfiguration actual = 
shardingRuleConfigSwapper.swapToObject(yamlConfig);
-        assertThat(actual.getTables().size(), is(1));
-        assertTrue(actual.getBindingTableGroups().isEmpty());
-        assertTrue(actual.getBroadcastTables().isEmpty());
-        assertNull(actual.getDefaultDatabaseShardingStrategy());
-        assertNull(actual.getDefaultTableShardingStrategy());
-        assertNull(actual.getDefaultKeyGenerateStrategy());
-        assertNull(actual.getDefaultAuditStrategy());
-        assertNull(actual.getDefaultShardingColumn());
+    private ShardingRuleConfiguration createShardingRuleConfiguration() {
+        ShardingRuleConfiguration result = new ShardingRuleConfiguration();
+        result.getTables().add(mock(ShardingTableRuleConfiguration.class));
+        result.getBindingTableGroups().add("tbl, sub_tbl");
+        result.getBroadcastTables().add("dict");
+        
result.setDefaultDatabaseShardingStrategy(mock(ShardingStrategyConfiguration.class));
+        
result.setDefaultTableShardingStrategy(mock(ShardingStrategyConfiguration.class));
+        
result.setDefaultTableShardingStrategy(mock(ShardingStrategyConfiguration.class));
+        
result.setDefaultKeyGenerateStrategy(mock(KeyGenerateStrategyConfiguration.class));
+        
result.setDefaultAuditStrategy(mock(ShardingAuditStrategyConfiguration.class));
+        result.setDefaultShardingColumn("user_id");
+        return result;
     }
     
     @Test
-    public void assertSwapToObjectWithMaxProperties() {
-        YamlShardingRuleConfiguration yamlConfig = new 
YamlShardingRuleConfiguration();
-        yamlConfig.getTables().put("tbl", 
mock(YamlTableRuleConfiguration.class));
-        yamlConfig.getBindingTables().add("tbl, sub_tbl");
-        yamlConfig.getBroadcastTables().add("dict");
-        
yamlConfig.setDefaultDatabaseStrategy(mock(YamlShardingStrategyConfiguration.class));
-        
yamlConfig.setDefaultTableStrategy(mock(YamlShardingStrategyConfiguration.class));
-        
yamlConfig.setDefaultKeyGenerateStrategy(mock(YamlKeyGenerateStrategyConfiguration.class));
-        
yamlConfig.setDefaultAuditStrategy(mock(YamlShardingAuditStrategyConfiguration.class));
-        yamlConfig.setDefaultShardingColumn("user_id");
-        ShardingRuleConfiguration actual = 
shardingRuleConfigSwapper.swapToObject(yamlConfig);
+    public void assertSwapToObject() {
+        ShardingRuleConfiguration actual = 
swapper.swapToObject(createYamlShardingRuleConfiguration());
         assertThat(actual.getTables().size(), is(1));
         assertThat(actual.getBindingTableGroups().size(), is(1));
         assertThat(actual.getBindingTableGroups().iterator().next(), is("tbl, 
sub_tbl"));
@@ -173,13 +88,34 @@ public final class 
YamlShardingRuleConfigurationSwapperTest {
         assertThat(actual.getDefaultShardingColumn(), is("user_id"));
     }
     
+    private YamlShardingRuleConfiguration 
createYamlShardingRuleConfiguration() {
+        YamlShardingRuleConfiguration result = new 
YamlShardingRuleConfiguration();
+        YamlTableRuleConfiguration yamlTableRuleConfig = new 
YamlTableRuleConfiguration();
+        yamlTableRuleConfig.setLogicTable("tbl");
+        result.getTables().put("tbl", yamlTableRuleConfig);
+        result.getBindingTables().add("tbl, sub_tbl");
+        result.getBroadcastTables().add("dict");
+        YamlShardingStrategyConfiguration yamlShardingStrategyConfig = new 
YamlShardingStrategyConfiguration();
+        YamlStandardShardingStrategyConfiguration 
yamlStandardShardingStrategyConfig = new 
YamlStandardShardingStrategyConfiguration();
+        
yamlStandardShardingStrategyConfig.setShardingAlgorithmName("foo_sharding_algo");
+        
yamlShardingStrategyConfig.setStandard(yamlStandardShardingStrategyConfig);
+        result.setDefaultDatabaseStrategy(yamlShardingStrategyConfig);
+        result.setDefaultTableStrategy(yamlShardingStrategyConfig);
+        YamlKeyGenerateStrategyConfiguration yamlKeyGenerateStrategyConfig = 
new YamlKeyGenerateStrategyConfiguration();
+        yamlKeyGenerateStrategyConfig.setColumn("col");
+        result.setDefaultKeyGenerateStrategy(yamlKeyGenerateStrategyConfig);
+        
result.setDefaultAuditStrategy(mock(YamlShardingAuditStrategyConfiguration.class));
+        result.setDefaultShardingColumn("user_id");
+        return result;
+    }
+    
     @Test
     public void assertScalingSwap() throws IOException {
         URL url = 
getClass().getClassLoader().getResource("yaml/sharding-scaling.yaml");
         assertNotNull(url);
         YamlShardingRuleConfiguration yamlConfig = YamlEngine.unmarshal(new 
File(url.getFile()), YamlShardingRuleConfiguration.class);
-        ShardingRuleConfiguration actualConfig = 
shardingRuleConfigSwapper.swapToObject(yamlConfig);
-        YamlShardingRuleConfiguration actualYamlConfig = 
shardingRuleConfigSwapper.swapToYamlConfiguration(actualConfig);
+        ShardingRuleConfiguration actualConfig = 
swapper.swapToObject(yamlConfig);
+        YamlShardingRuleConfiguration actualYamlConfig = 
swapper.swapToYamlConfiguration(actualConfig);
         assertThat(YamlEngine.marshal(actualYamlConfig), 
is(YamlEngine.marshal(yamlConfig)));
     }
 }

Reply via email to