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]

Reply via email to