strongduanmu commented on code in PR #28724:
URL: https://github.com/apache/shardingsphere/pull/28724#discussion_r1360037976
##########
infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/rule/RuleMetaDataTest.java:
##########
@@ -42,6 +54,100 @@ void assertFindSingleRule() {
@Test
void assertGetSingleRule() {
-
assertThat(ruleMetaData.getSingleRule(ShardingSphereRuleFixture.class),
instanceOf(ShardingSphereRuleFixture.class));
+ assertThat(ruleMetaData.getSingleRule(ShardingSphereRuleFixture.class),
+ instanceOf(ShardingSphereRuleFixture.class));
+ }
+
+ @Test
+ void assertGetInUsedStorageUnitNameAndRulesMapWhenRulesAreEmpty() {
+ Collection<ShardingSphereRule> rules = new ArrayList<>();
+ RuleMetaData ruleMetaData = new RuleMetaData(rules);
+ Map<String, Collection<Class<? extends ShardingSphereRule>>> actual =
ruleMetaData.getInUsedStorageUnitNameAndRulesMap();
+ assertThat(actual.size(), is(0));
+ }
+
+ @Test
+ void
assertGetInUsedStorageUnitNameAndRulesMapWhenRulesContainDataNodeContainedRule()
{
+ Collection<ShardingSphereRule> rules = new ArrayList<>();
+ DataNodeContainedRule rule = new MockDataNodeContainedRule();
+ rules.add(rule);
+ RuleMetaData ruleMetaData = new RuleMetaData(rules);
+ Map<String, Collection<Class<? extends ShardingSphereRule>>> actual =
ruleMetaData.getInUsedStorageUnitNameAndRulesMap();
+ assertThat(actual.size(), is(1));
+ assertTrue(actual.containsKey("testDataNodeSourceName"));
+ assertThat(actual.get("testDataNodeSourceName").size(), is(1));
+ assertThat(actual.get("testDataNodeSourceName").size(), is(1));
+
assertTrue(actual.get("testDataNodeSourceName").contains(MockDataNodeContainedRule.class));
+ }
+
+ @Test
+ void
assertGetInUsedStorageUnitNameAndRulesMapWhenRulesContainBothDataSourceContainedRuleAndDataNodeContainedRule()
{
+ Collection<ShardingSphereRule> rules = new ArrayList<>();
+ DataSourceContainedRule dataSourceContainedRule = new
MockDataSourceContainedRule();
+ DataNodeContainedRule dataNodeContainedRule = new
MockDataNodeContainedRule();
+ rules.add(dataSourceContainedRule);
+ rules.add(dataNodeContainedRule);
+ RuleMetaData ruleMetaData = new RuleMetaData(rules);
+ Map<String, Collection<Class<? extends ShardingSphereRule>>> actual =
ruleMetaData.getInUsedStorageUnitNameAndRulesMap();
+ assertThat(actual.size(), is(2));
+ assertTrue(actual.containsKey("testDataSourceName"));
+ assertTrue(actual.containsKey("testDataNodeSourceName"));
+
assertTrue(actual.get("testDataSourceName").contains(MockDataSourceContainedRule.class));
+
assertTrue(actual.get("testDataNodeSourceName").contains(MockDataNodeContainedRule.class));
+ }
+
+ private static class MockDataSourceContainedRule implements
DataSourceContainedRule {
Review Comment:
Can you use mock when then instead of MockDataSourceContainedRule?
##########
infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/rule/RuleMetaDataTest.java:
##########
@@ -42,6 +54,100 @@ void assertFindSingleRule() {
@Test
void assertGetSingleRule() {
-
assertThat(ruleMetaData.getSingleRule(ShardingSphereRuleFixture.class),
instanceOf(ShardingSphereRuleFixture.class));
+ assertThat(ruleMetaData.getSingleRule(ShardingSphereRuleFixture.class),
Review Comment:
Please keep this code in one line.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]