terrymanu commented on a change in pull request #15216:
URL: https://github.com/apache/shardingsphere/pull/15216#discussion_r795189747



##########
File path: 
shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/ClusterContextManagerCoordinatorTest.java
##########
@@ -250,4 +261,63 @@ private OptimizerContext createOptimizerContext() {
         when(result.getFederationMetaData().getSchemas()).thenReturn(schemas);
         return result;
     }
+    
+    @Test
+    public void assertRenewPrimaryDSNames() {
+        PrimaryStateChangedEvent mockPrimaryStateChangedEvent = 
mock(PrimaryStateChangedEvent.class);
+        QualifiedSchema qualifiedSchema = mock(QualifiedSchema.class);
+        when(qualifiedSchema.getSchemaName()).thenReturn("test_schema");
+        
when(mockPrimaryStateChangedEvent.getQualifiedSchema()).thenReturn(qualifiedSchema);
+        ShardingSphereRuleMetaData mockShardingSphereRuleMetaData = 
mock(ShardingSphereRuleMetaData.class);
+        List<ShardingSphereRule> rules = new ArrayList<>();
+        StatusContainedRule mockStatusContainedRule = 
mock(StatusContainedRule.class);
+        rules.add(mockStatusContainedRule);
+        when(mockShardingSphereRuleMetaData.getRules()).thenReturn(rules);
+        ShardingSphereMetaData mockShardingSphereMetaData = 
mock(ShardingSphereMetaData.class);
+        
when(mockShardingSphereMetaData.getRuleMetaData()).thenReturn(mockShardingSphereRuleMetaData);
+        
contextManager.getMetaDataContexts().getMetaDataMap().put("test_schema", 
mockShardingSphereMetaData);
+        coordinator.renew(mockPrimaryStateChangedEvent);
+        verify(mockStatusContainedRule, times(1)).updateStatus(any());
+    }   
+    
+    @Test
+    public void assertRenewInstanceStatus() {
+        StateEvent mockStateEvent = mock(StateEvent.class);
+        
when(mockStateEvent.getInstanceId()).thenReturn(contextManager.getInstanceContext().getInstance().getInstanceDefinition().getInstanceId().getId());
+        List<String> testStates = new ArrayList<>();
+        testStates.add(StateType.OK.name());
+        testStates.add(StateType.LOCK.name());
+        when(mockStateEvent.getStatus()).thenReturn(testStates);
+        coordinator.renew(mockStateEvent);
+        assertNotNull(contextManager.getInstanceContext());
+        assertNotNull(contextManager.getInstanceContext().getInstance());
+        assertEquals(testStates, 
contextManager.getInstanceContext().getInstance().getStatus());
+        testStates.add(StateType.CIRCUIT_BREAK.name());
+        coordinator.renew(mockStateEvent);
+        assertEquals(StateType.CIRCUIT_BREAK, 
contextManager.getInstanceContext().getState().getCurrentState());

Review comment:
       For code conduct reason, could you use `assertThat` to instead of 
`assertEquals` please?
   

##########
File path: 
shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/ClusterContextManagerCoordinatorTest.java
##########
@@ -250,4 +261,63 @@ private OptimizerContext createOptimizerContext() {
         when(result.getFederationMetaData().getSchemas()).thenReturn(schemas);
         return result;
     }
+    
+    @Test
+    public void assertRenewPrimaryDSNames() {
+        PrimaryStateChangedEvent mockPrimaryStateChangedEvent = 
mock(PrimaryStateChangedEvent.class);
+        QualifiedSchema qualifiedSchema = mock(QualifiedSchema.class);
+        when(qualifiedSchema.getSchemaName()).thenReturn("test_schema");
+        
when(mockPrimaryStateChangedEvent.getQualifiedSchema()).thenReturn(qualifiedSchema);
+        ShardingSphereRuleMetaData mockShardingSphereRuleMetaData = 
mock(ShardingSphereRuleMetaData.class);
+        List<ShardingSphereRule> rules = new ArrayList<>();
+        StatusContainedRule mockStatusContainedRule = 
mock(StatusContainedRule.class);
+        rules.add(mockStatusContainedRule);
+        when(mockShardingSphereRuleMetaData.getRules()).thenReturn(rules);
+        ShardingSphereMetaData mockShardingSphereMetaData = 
mock(ShardingSphereMetaData.class);
+        
when(mockShardingSphereMetaData.getRuleMetaData()).thenReturn(mockShardingSphereRuleMetaData);
+        
contextManager.getMetaDataContexts().getMetaDataMap().put("test_schema", 
mockShardingSphereMetaData);
+        coordinator.renew(mockPrimaryStateChangedEvent);
+        verify(mockStatusContainedRule, times(1)).updateStatus(any());
+    }   
+    
+    @Test
+    public void assertRenewInstanceStatus() {
+        StateEvent mockStateEvent = mock(StateEvent.class);
+        
when(mockStateEvent.getInstanceId()).thenReturn(contextManager.getInstanceContext().getInstance().getInstanceDefinition().getInstanceId().getId());
+        List<String> testStates = new ArrayList<>();

Review comment:
       How about use `Collection` to instead of `List`? 
   The return value of StateEvent.getStatus() is `Collection`

##########
File path: 
shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/ClusterContextManagerCoordinatorTest.java
##########
@@ -250,4 +261,63 @@ private OptimizerContext createOptimizerContext() {
         when(result.getFederationMetaData().getSchemas()).thenReturn(schemas);
         return result;
     }
+    
+    @Test
+    public void assertRenewPrimaryDSNames() {
+        PrimaryStateChangedEvent mockPrimaryStateChangedEvent = 
mock(PrimaryStateChangedEvent.class);
+        QualifiedSchema qualifiedSchema = mock(QualifiedSchema.class);
+        when(qualifiedSchema.getSchemaName()).thenReturn("test_schema");
+        
when(mockPrimaryStateChangedEvent.getQualifiedSchema()).thenReturn(qualifiedSchema);
+        ShardingSphereRuleMetaData mockShardingSphereRuleMetaData = 
mock(ShardingSphereRuleMetaData.class);
+        List<ShardingSphereRule> rules = new ArrayList<>();
+        StatusContainedRule mockStatusContainedRule = 
mock(StatusContainedRule.class);
+        rules.add(mockStatusContainedRule);
+        when(mockShardingSphereRuleMetaData.getRules()).thenReturn(rules);
+        ShardingSphereMetaData mockShardingSphereMetaData = 
mock(ShardingSphereMetaData.class);
+        
when(mockShardingSphereMetaData.getRuleMetaData()).thenReturn(mockShardingSphereRuleMetaData);
+        
contextManager.getMetaDataContexts().getMetaDataMap().put("test_schema", 
mockShardingSphereMetaData);
+        coordinator.renew(mockPrimaryStateChangedEvent);
+        verify(mockStatusContainedRule, times(1)).updateStatus(any());
+    }   
+    
+    @Test
+    public void assertRenewInstanceStatus() {
+        StateEvent mockStateEvent = mock(StateEvent.class);
+        
when(mockStateEvent.getInstanceId()).thenReturn(contextManager.getInstanceContext().getInstance().getInstanceDefinition().getInstanceId().getId());
+        List<String> testStates = new ArrayList<>();
+        testStates.add(StateType.OK.name());
+        testStates.add(StateType.LOCK.name());
+        when(mockStateEvent.getStatus()).thenReturn(testStates);
+        coordinator.renew(mockStateEvent);
+        assertNotNull(contextManager.getInstanceContext());
+        assertNotNull(contextManager.getInstanceContext().getInstance());
+        assertEquals(testStates, 
contextManager.getInstanceContext().getInstance().getStatus());
+        testStates.add(StateType.CIRCUIT_BREAK.name());
+        coordinator.renew(mockStateEvent);
+        assertEquals(StateType.CIRCUIT_BREAK, 
contextManager.getInstanceContext().getState().getCurrentState());
+    }
+    
+    @Test
+    public void assertRenewWorkerIdChange() {
+        WorkerIdEvent mockWorkerIdEvent = mock(WorkerIdEvent.class);
+        when(mockWorkerIdEvent.getWorkerId()).thenReturn(12223L);
+        
when(mockWorkerIdEvent.getInstanceId()).thenReturn(contextManager.getInstanceContext().getInstance().getInstanceDefinition().getInstanceId().getId());
+        coordinator.renew(mockWorkerIdEvent);
+        assertNotNull(contextManager.getInstanceContext());
+        assertNotNull(contextManager.getInstanceContext().getInstance());
+        assertEquals(12223L, 
contextManager.getInstanceContext().getWorkerId());
+    }
+    
+    @Test
+    public void assertRenewInstanceLabels() {
+        LabelsEvent mockLabelsEvent = mock(LabelsEvent.class);
+        List<String> labels = new ArrayList<>();
+        labels.add("test");
+        when(mockLabelsEvent.getLabels()).thenReturn(labels);
+        
when(mockLabelsEvent.getInstanceId()).thenReturn(contextManager.getInstanceContext().getInstance().getInstanceDefinition().getInstanceId().getId());
+        coordinator.renew(mockLabelsEvent);
+        assertNotNull(contextManager.getInstanceContext());
+        assertNotNull(contextManager.getInstanceContext().getInstance());
+        assertEquals(labels, 
contextManager.getInstanceContext().getInstance().getLabels());

Review comment:
       For code conduct reason, could you use `assertThat` to instead of 
`assertEquals` please?

##########
File path: 
shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/ClusterContextManagerCoordinatorTest.java
##########
@@ -250,4 +261,63 @@ private OptimizerContext createOptimizerContext() {
         when(result.getFederationMetaData().getSchemas()).thenReturn(schemas);
         return result;
     }
+    
+    @Test
+    public void assertRenewPrimaryDSNames() {
+        PrimaryStateChangedEvent mockPrimaryStateChangedEvent = 
mock(PrimaryStateChangedEvent.class);
+        QualifiedSchema qualifiedSchema = mock(QualifiedSchema.class);
+        when(qualifiedSchema.getSchemaName()).thenReturn("test_schema");
+        
when(mockPrimaryStateChangedEvent.getQualifiedSchema()).thenReturn(qualifiedSchema);
+        ShardingSphereRuleMetaData mockShardingSphereRuleMetaData = 
mock(ShardingSphereRuleMetaData.class);
+        List<ShardingSphereRule> rules = new ArrayList<>();
+        StatusContainedRule mockStatusContainedRule = 
mock(StatusContainedRule.class);
+        rules.add(mockStatusContainedRule);
+        when(mockShardingSphereRuleMetaData.getRules()).thenReturn(rules);
+        ShardingSphereMetaData mockShardingSphereMetaData = 
mock(ShardingSphereMetaData.class);
+        
when(mockShardingSphereMetaData.getRuleMetaData()).thenReturn(mockShardingSphereRuleMetaData);
+        
contextManager.getMetaDataContexts().getMetaDataMap().put("test_schema", 
mockShardingSphereMetaData);
+        coordinator.renew(mockPrimaryStateChangedEvent);
+        verify(mockStatusContainedRule, times(1)).updateStatus(any());
+    }   
+    
+    @Test
+    public void assertRenewInstanceStatus() {
+        StateEvent mockStateEvent = mock(StateEvent.class);
+        
when(mockStateEvent.getInstanceId()).thenReturn(contextManager.getInstanceContext().getInstance().getInstanceDefinition().getInstanceId().getId());
+        List<String> testStates = new ArrayList<>();

Review comment:
       Please use `LinkedList` instead of `ArrayList` if no initial capacity.

##########
File path: 
shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/ClusterContextManagerCoordinatorTest.java
##########
@@ -250,4 +261,63 @@ private OptimizerContext createOptimizerContext() {
         when(result.getFederationMetaData().getSchemas()).thenReturn(schemas);
         return result;
     }
+    
+    @Test
+    public void assertRenewPrimaryDSNames() {
+        PrimaryStateChangedEvent mockPrimaryStateChangedEvent = 
mock(PrimaryStateChangedEvent.class);
+        QualifiedSchema qualifiedSchema = mock(QualifiedSchema.class);
+        when(qualifiedSchema.getSchemaName()).thenReturn("test_schema");
+        
when(mockPrimaryStateChangedEvent.getQualifiedSchema()).thenReturn(qualifiedSchema);
+        ShardingSphereRuleMetaData mockShardingSphereRuleMetaData = 
mock(ShardingSphereRuleMetaData.class);
+        List<ShardingSphereRule> rules = new ArrayList<>();
+        StatusContainedRule mockStatusContainedRule = 
mock(StatusContainedRule.class);
+        rules.add(mockStatusContainedRule);
+        when(mockShardingSphereRuleMetaData.getRules()).thenReturn(rules);
+        ShardingSphereMetaData mockShardingSphereMetaData = 
mock(ShardingSphereMetaData.class);
+        
when(mockShardingSphereMetaData.getRuleMetaData()).thenReturn(mockShardingSphereRuleMetaData);
+        
contextManager.getMetaDataContexts().getMetaDataMap().put("test_schema", 
mockShardingSphereMetaData);
+        coordinator.renew(mockPrimaryStateChangedEvent);
+        verify(mockStatusContainedRule, times(1)).updateStatus(any());
+    }   
+    
+    @Test
+    public void assertRenewInstanceStatus() {
+        StateEvent mockStateEvent = mock(StateEvent.class);
+        
when(mockStateEvent.getInstanceId()).thenReturn(contextManager.getInstanceContext().getInstance().getInstanceDefinition().getInstanceId().getId());
+        List<String> testStates = new ArrayList<>();
+        testStates.add(StateType.OK.name());
+        testStates.add(StateType.LOCK.name());
+        when(mockStateEvent.getStatus()).thenReturn(testStates);
+        coordinator.renew(mockStateEvent);
+        assertNotNull(contextManager.getInstanceContext());
+        assertNotNull(contextManager.getInstanceContext().getInstance());
+        assertEquals(testStates, 
contextManager.getInstanceContext().getInstance().getStatus());
+        testStates.add(StateType.CIRCUIT_BREAK.name());
+        coordinator.renew(mockStateEvent);
+        assertEquals(StateType.CIRCUIT_BREAK, 
contextManager.getInstanceContext().getState().getCurrentState());
+    }
+    
+    @Test
+    public void assertRenewWorkerIdChange() {
+        WorkerIdEvent mockWorkerIdEvent = mock(WorkerIdEvent.class);
+        when(mockWorkerIdEvent.getWorkerId()).thenReturn(12223L);
+        
when(mockWorkerIdEvent.getInstanceId()).thenReturn(contextManager.getInstanceContext().getInstance().getInstanceDefinition().getInstanceId().getId());
+        coordinator.renew(mockWorkerIdEvent);
+        assertNotNull(contextManager.getInstanceContext());
+        assertNotNull(contextManager.getInstanceContext().getInstance());
+        assertEquals(12223L, 
contextManager.getInstanceContext().getWorkerId());
+    }
+    
+    @Test
+    public void assertRenewInstanceLabels() {
+        LabelsEvent mockLabelsEvent = mock(LabelsEvent.class);
+        List<String> labels = new ArrayList<>();

Review comment:
       How about use `Collection` to instead of `List`? 
   The return value of LabelsEvent.getLabels() is `Collection`

##########
File path: 
shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/ClusterContextManagerCoordinatorTest.java
##########
@@ -250,4 +261,63 @@ private OptimizerContext createOptimizerContext() {
         when(result.getFederationMetaData().getSchemas()).thenReturn(schemas);
         return result;
     }
+    
+    @Test
+    public void assertRenewPrimaryDSNames() {
+        PrimaryStateChangedEvent mockPrimaryStateChangedEvent = 
mock(PrimaryStateChangedEvent.class);
+        QualifiedSchema qualifiedSchema = mock(QualifiedSchema.class);
+        when(qualifiedSchema.getSchemaName()).thenReturn("test_schema");
+        
when(mockPrimaryStateChangedEvent.getQualifiedSchema()).thenReturn(qualifiedSchema);
+        ShardingSphereRuleMetaData mockShardingSphereRuleMetaData = 
mock(ShardingSphereRuleMetaData.class);
+        List<ShardingSphereRule> rules = new ArrayList<>();
+        StatusContainedRule mockStatusContainedRule = 
mock(StatusContainedRule.class);
+        rules.add(mockStatusContainedRule);
+        when(mockShardingSphereRuleMetaData.getRules()).thenReturn(rules);
+        ShardingSphereMetaData mockShardingSphereMetaData = 
mock(ShardingSphereMetaData.class);
+        
when(mockShardingSphereMetaData.getRuleMetaData()).thenReturn(mockShardingSphereRuleMetaData);
+        
contextManager.getMetaDataContexts().getMetaDataMap().put("test_schema", 
mockShardingSphereMetaData);
+        coordinator.renew(mockPrimaryStateChangedEvent);
+        verify(mockStatusContainedRule, times(1)).updateStatus(any());
+    }   
+    
+    @Test
+    public void assertRenewInstanceStatus() {
+        StateEvent mockStateEvent = mock(StateEvent.class);
+        
when(mockStateEvent.getInstanceId()).thenReturn(contextManager.getInstanceContext().getInstance().getInstanceDefinition().getInstanceId().getId());
+        List<String> testStates = new ArrayList<>();
+        testStates.add(StateType.OK.name());
+        testStates.add(StateType.LOCK.name());
+        when(mockStateEvent.getStatus()).thenReturn(testStates);
+        coordinator.renew(mockStateEvent);
+        assertNotNull(contextManager.getInstanceContext());
+        assertNotNull(contextManager.getInstanceContext().getInstance());
+        assertEquals(testStates, 
contextManager.getInstanceContext().getInstance().getStatus());
+        testStates.add(StateType.CIRCUIT_BREAK.name());
+        coordinator.renew(mockStateEvent);
+        assertEquals(StateType.CIRCUIT_BREAK, 
contextManager.getInstanceContext().getState().getCurrentState());
+    }
+    
+    @Test
+    public void assertRenewWorkerIdChange() {
+        WorkerIdEvent mockWorkerIdEvent = mock(WorkerIdEvent.class);
+        when(mockWorkerIdEvent.getWorkerId()).thenReturn(12223L);
+        
when(mockWorkerIdEvent.getInstanceId()).thenReturn(contextManager.getInstanceContext().getInstance().getInstanceDefinition().getInstanceId().getId());
+        coordinator.renew(mockWorkerIdEvent);
+        assertNotNull(contextManager.getInstanceContext());
+        assertNotNull(contextManager.getInstanceContext().getInstance());
+        assertEquals(12223L, 
contextManager.getInstanceContext().getWorkerId());
+    }
+    
+    @Test
+    public void assertRenewInstanceLabels() {
+        LabelsEvent mockLabelsEvent = mock(LabelsEvent.class);
+        List<String> labels = new ArrayList<>();

Review comment:
       Please use `LinkedList` instead of `ArrayList` if no initial capacity.




-- 
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