This is an automated email from the ASF dual-hosted git repository.
panjuan 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 fff83baa5c2 Refactor YamlShardingTableRuleConfigurationSwapperTest
(#19924)
fff83baa5c2 is described below
commit fff83baa5c2a7641cc0cb20a57dcfb6719ce0c48
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Aug 6 15:31:32 2022 +0800
Refactor YamlShardingTableRuleConfigurationSwapperTest (#19924)
---
...lShardingTableRuleConfigurationSwapperTest.java | 125 +++++++++------------
1 file changed, 50 insertions(+), 75 deletions(-)
diff --git
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/yaml/swapper/rule/YamlShardingTableRuleConfigurationSwapperTest.java
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/yaml/swapper/rule/YamlShardingTableRuleConfigurationSwapperTest.java
index 771dc46b91f..ef98053e3f9 100644
---
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/yaml/swapper/rule/YamlShardingTableRuleConfigurationSwapperTest.java
+++
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/yaml/swapper/rule/YamlShardingTableRuleConfigurationSwapperTest.java
@@ -17,80 +17,31 @@
package org.apache.shardingsphere.sharding.yaml.swapper.rule;
-import
org.apache.shardingsphere.infra.yaml.config.swapper.YamlConfigurationSwapper;
import
org.apache.shardingsphere.sharding.api.config.rule.ShardingTableRuleConfiguration;
import
org.apache.shardingsphere.sharding.api.config.strategy.audit.ShardingAuditStrategyConfiguration;
import
org.apache.shardingsphere.sharding.api.config.strategy.keygen.KeyGenerateStrategyConfiguration;
-import
org.apache.shardingsphere.sharding.api.config.strategy.sharding.ShardingStrategyConfiguration;
import
org.apache.shardingsphere.sharding.api.config.strategy.sharding.StandardShardingStrategyConfiguration;
import
org.apache.shardingsphere.sharding.yaml.config.rule.YamlTableRuleConfiguration;
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.strategy.YamlKeyGenerateStrategyConfigurationSwapper;
-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.lang.reflect.Field;
+import java.util.Collections;
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.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-@RunWith(MockitoJUnitRunner.class)
public final class YamlShardingTableRuleConfigurationSwapperTest {
private final YamlShardingTableRuleConfigurationSwapper swapper = new
YamlShardingTableRuleConfigurationSwapper();
- @Mock
- private YamlShardingStrategyConfigurationSwapper shardingStrategySwapper;
-
- @Mock
- private YamlKeyGenerateStrategyConfigurationSwapper
keyGenerateStrategySwapper;
-
- @Before
- public void setUp() throws ReflectiveOperationException {
- setSwapper("shardingStrategySwapper", shardingStrategySwapper);
-
when(shardingStrategySwapper.swapToYamlConfiguration(ArgumentMatchers.any())).thenReturn(mock(YamlShardingStrategyConfiguration.class));
-
when(shardingStrategySwapper.swapToObject(ArgumentMatchers.any())).thenReturn(mock(ShardingStrategyConfiguration.class));
- setSwapper("keyGenerateStrategySwapper", keyGenerateStrategySwapper);
-
when(keyGenerateStrategySwapper.swapToYamlConfiguration(ArgumentMatchers.any())).thenReturn(mock(YamlKeyGenerateStrategyConfiguration.class));
-
when(keyGenerateStrategySwapper.swapToObject(ArgumentMatchers.any())).thenReturn(mock(KeyGenerateStrategyConfiguration.class));
- }
-
- private void setSwapper(final String swapperFieldName, final
YamlConfigurationSwapper swapperFieldValue) throws ReflectiveOperationException
{
- Field field =
YamlShardingTableRuleConfigurationSwapper.class.getDeclaredField(swapperFieldName);
- field.setAccessible(true);
- field.set(swapper, swapperFieldValue);
- }
-
@Test
- public void assertSwapToYamlWithMinProperties() {
- YamlTableRuleConfiguration actual =
swapper.swapToYamlConfiguration(new ShardingTableRuleConfiguration("tbl",
"ds_$->{0..1}.tbl_$->{0..1}"));
- assertThat(actual.getLogicTable(), is("tbl"));
- assertThat(actual.getActualDataNodes(),
is("ds_$->{0..1}.tbl_$->{0..1}"));
- assertNull(actual.getDatabaseStrategy());
- assertNull(actual.getTableStrategy());
- assertNull(actual.getKeyGenerateStrategy());
- assertNull(actual.getAuditStrategy());
- }
-
- @Test
- public void assertSwapToYamlWithMaxProperties() {
- ShardingTableRuleConfiguration shardingTableRuleConfig = new
ShardingTableRuleConfiguration("tbl", "ds_$->{0..1}.tbl_$->{0..1}");
-
shardingTableRuleConfig.setDatabaseShardingStrategy(mock(StandardShardingStrategyConfiguration.class));
-
shardingTableRuleConfig.setTableShardingStrategy(mock(StandardShardingStrategyConfiguration.class));
-
shardingTableRuleConfig.setKeyGenerateStrategy(mock(KeyGenerateStrategyConfiguration.class));
-
shardingTableRuleConfig.setAuditStrategy(mock(ShardingAuditStrategyConfiguration.class));
- YamlTableRuleConfiguration actual =
swapper.swapToYamlConfiguration(shardingTableRuleConfig);
+ public void assertSwapToYamlConfiguration() {
+ YamlTableRuleConfiguration actual =
swapper.swapToYamlConfiguration(createShardingTableRuleConfiguration());
assertThat(actual.getLogicTable(), is("tbl"));
assertThat(actual.getActualDataNodes(),
is("ds_$->{0..1}.tbl_$->{0..1}"));
assertNotNull(actual.getDatabaseStrategy());
@@ -99,34 +50,23 @@ public final class
YamlShardingTableRuleConfigurationSwapperTest {
assertNotNull(actual.getAuditStrategy());
}
+ private ShardingTableRuleConfiguration
createShardingTableRuleConfiguration() {
+ ShardingTableRuleConfiguration result = new
ShardingTableRuleConfiguration("tbl", "ds_$->{0..1}.tbl_$->{0..1}");
+
result.setDatabaseShardingStrategy(mock(StandardShardingStrategyConfiguration.class));
+
result.setTableShardingStrategy(mock(StandardShardingStrategyConfiguration.class));
+
result.setKeyGenerateStrategy(mock(KeyGenerateStrategyConfiguration.class));
+
result.setAuditStrategy(mock(ShardingAuditStrategyConfiguration.class));
+ return result;
+ }
+
@Test(expected = NullPointerException.class)
public void assertSwapToObjectWithoutLogicTable() {
new YamlShardingTableRuleConfigurationSwapper().swapToObject(new
YamlTableRuleConfiguration());
}
@Test
- public void assertSwapToObjectWithMinProperties() {
- YamlTableRuleConfiguration yamlConfig = new
YamlTableRuleConfiguration();
- yamlConfig.setLogicTable("tbl");
- yamlConfig.setActualDataNodes("ds_$->{0..1}.tbl_$->{0..1}");
- ShardingTableRuleConfiguration actual =
swapper.swapToObject(yamlConfig);
- assertThat(actual.getLogicTable(), is("tbl"));
- assertThat(actual.getActualDataNodes(),
is("ds_$->{0..1}.tbl_$->{0..1}"));
- assertNull(actual.getDatabaseShardingStrategy());
- assertNull(actual.getTableShardingStrategy());
- assertNull(actual.getKeyGenerateStrategy());
- }
-
- @Test
- public void assertSwapToObjectWithMaxProperties() {
- YamlTableRuleConfiguration yamlConfig = new
YamlTableRuleConfiguration();
- yamlConfig.setLogicTable("tbl");
- yamlConfig.setActualDataNodes("ds_$->{0..1}.tbl_$->{0..1}");
-
yamlConfig.setDatabaseStrategy(mock(YamlShardingStrategyConfiguration.class));
-
yamlConfig.setTableStrategy(mock(YamlShardingStrategyConfiguration.class));
-
yamlConfig.setKeyGenerateStrategy(mock(YamlKeyGenerateStrategyConfiguration.class));
-
yamlConfig.setAuditStrategy(mock(YamlShardingAuditStrategyConfiguration.class));
- ShardingTableRuleConfiguration actual =
swapper.swapToObject(yamlConfig);
+ public void assertSwapToObject() {
+ ShardingTableRuleConfiguration actual =
swapper.swapToObject(createYamlTableRuleConfiguration());
assertThat(actual.getLogicTable(), is("tbl"));
assertThat(actual.getActualDataNodes(),
is("ds_$->{0..1}.tbl_$->{0..1}"));
assertNotNull(actual.getDatabaseShardingStrategy());
@@ -134,4 +74,39 @@ public final class
YamlShardingTableRuleConfigurationSwapperTest {
assertNotNull(actual.getKeyGenerateStrategy());
assertNotNull(actual.getAuditStrategy());
}
+
+ private YamlTableRuleConfiguration createYamlTableRuleConfiguration() {
+ YamlTableRuleConfiguration result = new YamlTableRuleConfiguration();
+ result.setLogicTable("tbl");
+ result.setActualDataNodes("ds_$->{0..1}.tbl_$->{0..1}");
+ YamlShardingStrategyConfiguration yamlShardingStrategyConfig =
createYamlShardingStrategyConfiguration();
+ result.setDatabaseStrategy(yamlShardingStrategyConfig);
+ result.setTableStrategy(yamlShardingStrategyConfig);
+
result.setKeyGenerateStrategy(createYamlKeyGenerateStrategyConfiguration());
+ YamlShardingAuditStrategyConfiguration shardingAuditStrategyConfig =
createYamlShardingAuditStrategyConfiguration();
+ result.setAuditStrategy(shardingAuditStrategyConfig);
+ return result;
+ }
+
+ private YamlShardingStrategyConfiguration
createYamlShardingStrategyConfiguration() {
+ YamlShardingStrategyConfiguration result = new
YamlShardingStrategyConfiguration();
+ YamlStandardShardingStrategyConfiguration
standardShardingStrategyConfig = new
YamlStandardShardingStrategyConfiguration();
+ standardShardingStrategyConfig.setShardingColumn("col");
+
standardShardingStrategyConfig.setShardingAlgorithmName("foo_sharding_algo");
+ result.setStandard(standardShardingStrategyConfig);
+ return result;
+ }
+
+ private YamlKeyGenerateStrategyConfiguration
createYamlKeyGenerateStrategyConfiguration() {
+ YamlKeyGenerateStrategyConfiguration result = new
YamlKeyGenerateStrategyConfiguration();
+ result.setColumn("col");
+ result.setKeyGeneratorName("foo_keygen");
+ return result;
+ }
+
+ private YamlShardingAuditStrategyConfiguration
createYamlShardingAuditStrategyConfiguration() {
+ YamlShardingAuditStrategyConfiguration result = new
YamlShardingAuditStrategyConfiguration();
+ result.setAuditorNames(Collections.singleton("foo_audit"));
+ return result;
+ }
}