From 848a483251f43a9323b8d70a807ac0f2a0f8a7ad Mon Sep 17 00:00:00 2001 From: "Juan Pan(Trista)" Date: Wed, 30 Sep 2020 23:38:15 +0800 Subject: [PATCH] ADD RDL unit test for springBoot (#7672) --- .../spring/boot/ShardingSpringBootStarterTest.java | 8 ++++++++ .../src/test/resources/application-sharding.properties | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-spring/shardingsphere-sharding-spring-boot-starter/src/test/java/org/apache/shardingsphere/sharding/spring/boot/ShardingSpringBootStarterTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-spring/shardingsphere-sharding-spring-boot-starter/src/test/java/org/apache/shardingsphere/sharding/spring/boot/ShardingSpringBootStarterTest.java index 3186ec5ae70bc..59a0cfd729e67 100644 --- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-spring/shardingsphere-sharding-spring-boot-starter/src/test/java/org/apache/shardingsphere/sharding/spring/boot/ShardingSpringBootStarterTest.java +++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-spring/shardingsphere-sharding-spring-boot-starter/src/test/java/org/apache/shardingsphere/sharding/spring/boot/ShardingSpringBootStarterTest.java @@ -21,6 +21,7 @@ import org.apache.shardingsphere.sharding.algorithm.config.AlgorithmProvidedShardingRuleConfiguration; import org.apache.shardingsphere.sharding.algorithm.keygen.SnowflakeKeyGenerateAlgorithm; import org.apache.shardingsphere.sharding.algorithm.sharding.inline.InlineShardingAlgorithm; +import org.apache.shardingsphere.sharding.api.config.rule.ShardingAutoTableRuleConfiguration; import org.apache.shardingsphere.sharding.api.config.rule.ShardingTableRuleConfiguration; import org.apache.shardingsphere.sharding.api.config.strategy.sharding.StandardShardingStrategyConfiguration; import org.junit.Test; @@ -83,6 +84,7 @@ public void assertShardingConfiguration() { private void assertShardingConfigurationTables() { assertThat(shardingRuleConfiguration.getTables().size(), is(2)); + assertThat(shardingRuleConfiguration.getAutoTables().size(), is(1)); List shardingTableRuleConfigurationList = Lists.newArrayList(shardingRuleConfiguration.getTables()); assertThat(shardingTableRuleConfigurationList.get(0).getLogicTable(), is("t_order")); assertThat(shardingTableRuleConfigurationList.get(0).getActualDataNodes(), is("ds_$->{0..1}.t_order_$->{0..1}")); @@ -98,6 +100,12 @@ private void assertShardingConfigurationTables() { assertThat(shardingTableRuleConfigurationList.get(1).getTableShardingStrategy().getShardingAlgorithmName(), is("orderItemTableShardingAlgorithm")); assertThat(shardingTableRuleConfigurationList.get(1).getKeyGenerateStrategy().getColumn(), is("order_item_id")); assertThat(shardingTableRuleConfigurationList.get(1).getKeyGenerateStrategy().getKeyGeneratorName(), is("keyGenerator")); + List autoShardingTableRuleConfigurationList = Lists.newArrayList(shardingRuleConfiguration.getAutoTables()); + assertThat(autoShardingTableRuleConfigurationList.get(0).getLogicTable(), is("t_order_auto")); + assertThat(autoShardingTableRuleConfigurationList.get(0).getActualDataSources(), is("ds0, ds1")); + assertThat(autoShardingTableRuleConfigurationList.get(0).getShardingStrategy(), instanceOf(StandardShardingStrategyConfiguration.class)); + assertThat(((StandardShardingStrategyConfiguration) autoShardingTableRuleConfigurationList.get(0).getShardingStrategy()).getShardingColumn(), is("order_id")); + assertThat(autoShardingTableRuleConfigurationList.get(0).getShardingStrategy().getShardingAlgorithmName(), is("mod")); } private void assertShardingConfigurationBindingTableGroups() { diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-spring/shardingsphere-sharding-spring-boot-starter/src/test/resources/application-sharding.properties b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-spring/shardingsphere-sharding-spring-boot-starter/src/test/resources/application-sharding.properties index c95ae157d853d..86e3498879bd3 100644 --- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-spring/shardingsphere-sharding-spring-boot-starter/src/test/resources/application-sharding.properties +++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-spring/shardingsphere-sharding-spring-boot-starter/src/test/resources/application-sharding.properties @@ -46,5 +46,11 @@ spring.shardingsphere.rules.sharding.tables.t_order_item.table-strategy.standard spring.shardingsphere.rules.sharding.tables.t_order_item.key-generate-strategy.column=order_item_id spring.shardingsphere.rules.sharding.tables.t_order_item.key-generate-strategy.key-generator-name=keyGenerator +spring.shardingsphere.rules.sharding.auto-tables.t_order_auto.actual-data-sources=ds0, ds1 + +spring.shardingsphere.rules.sharding.auto-tables.t_order_auto.sharding-strategy.standard.sharding-column=order_id +spring.shardingsphere.rules.sharding.auto-tables.t_order_auto.sharding-strategy.standard.sharding-algorithm-name=mod + + spring.shardingsphere.rules.sharding.binding-tables=t_order,t_order_item spring.shardingsphere.rules.sharding.broadcast-tables=t_config