You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by GitBox <gi...@apache.org> on 2022/01/30 14:11:35 UTC

[GitHub] [shardingsphere] shankeerthan-kasilingam opened a new pull request #15216: Added tests for the following methods(Git issue : 15185)

shankeerthan-kasilingam opened a new pull request #15216:
URL: https://github.com/apache/shardingsphere/pull/15216


   
   - renew(final PrimaryStateChangedEvent event)
   - renew(final StateEvent event)
   - renew(final WorkerIdEvent event)
   - renew(final LabelsEvent event)
   
   Fixes #15185.
   
   Changes proposed in this pull request:
   -
   -
   -
   


-- 
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: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [shardingsphere] shankeerthan-kasilingam commented on a change in pull request #15216: Added tests for ClusterContextManagerCoordinator

Posted by GitBox <gi...@apache.org>.
shankeerthan-kasilingam commented on a change in pull request #15216:
URL: https://github.com/apache/shardingsphere/pull/15216#discussion_r795191623



##########
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:
       +1

##########
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:
       +1




-- 
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: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [shardingsphere] codecov-commenter edited a comment on pull request #15216: Added tests for ClusterContextManagerCoordinator

Posted by GitBox <gi...@apache.org>.
codecov-commenter edited a comment on pull request #15216:
URL: https://github.com/apache/shardingsphere/pull/15216#issuecomment-1025219629


   # [Codecov](https://codecov.io/gh/apache/shardingsphere/pull/15216?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
   > Merging [#15216](https://codecov.io/gh/apache/shardingsphere/pull/15216?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (3ad03e8) into [master](https://codecov.io/gh/apache/shardingsphere/commit/d8621d6bcd04a73b99cf115aca1f3f84216d18f4?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (d8621d6) will **increase** coverage by `0.02%`.
   > The diff coverage is `n/a`.
   
   [![Impacted file tree graph](https://codecov.io/gh/apache/shardingsphere/pull/15216/graphs/tree.svg?width=650&height=150&src=pr&token=ZvlXpWa7so&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/shardingsphere/pull/15216?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   
   ```diff
   @@             Coverage Diff              @@
   ##             master   #15216      +/-   ##
   ============================================
   + Coverage     60.19%   60.22%   +0.02%     
     Complexity     1941     1941              
   ============================================
     Files          3189     3189              
     Lines         47645    47645              
     Branches       8099     8099              
   ============================================
   + Hits          28682    28692      +10     
   + Misses        16645    16632      -13     
   - Partials       2318     2321       +3     
   ```
   
   
   | [Impacted Files](https://codecov.io/gh/apache/shardingsphere/pull/15216?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
   |---|---|---|
   | [...d/text/distsql/ral/common/hint/HintSourceType.java](https://codecov.io/gh/apache/shardingsphere/pull/15216/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hhcmRpbmdzcGhlcmUtcHJveHkvc2hhcmRpbmdzcGhlcmUtcHJveHktYmFja2VuZC9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvc2hhcmRpbmdzcGhlcmUvcHJveHkvYmFja2VuZC90ZXh0L2Rpc3RzcWwvcmFsL2NvbW1vbi9oaW50L0hpbnRTb3VyY2VUeXBlLmphdmE=) | `0.00% <0.00%> (-42.86%)` | :arrow_down: |
   | [.../coordinator/ClusterContextManagerCoordinator.java](https://codecov.io/gh/apache/shardingsphere/pull/15216/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hhcmRpbmdzcGhlcmUtbW9kZS9zaGFyZGluZ3NwaGVyZS1tb2RlLXR5cGUvc2hhcmRpbmdzcGhlcmUtY2x1c3Rlci1tb2RlL3NoYXJkaW5nc3BoZXJlLWNsdXN0ZXItbW9kZS1jb3JlL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGFyZGluZ3NwaGVyZS9tb2RlL21hbmFnZXIvY2x1c3Rlci9jb29yZGluYXRvci9DbHVzdGVyQ29udGV4dE1hbmFnZXJDb29yZGluYXRvci5qYXZh) | `79.10% <0.00%> (+19.40%)` | :arrow_up: |
   
   ------
   
   [Continue to review full report at Codecov](https://codecov.io/gh/apache/shardingsphere/pull/15216?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
   > Powered by [Codecov](https://codecov.io/gh/apache/shardingsphere/pull/15216?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Last update [d8621d6...3ad03e8](https://codecov.io/gh/apache/shardingsphere/pull/15216?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   


-- 
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: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [shardingsphere] shankeerthan-kasilingam commented on pull request #15216: Added tests for ClusterContextManagerCoordinator

Posted by GitBox <gi...@apache.org>.
shankeerthan-kasilingam commented on pull request #15216:
URL: https://github.com/apache/shardingsphere/pull/15216#issuecomment-1030531051


   Hi @terrymanu
   I have updated the code as per your suggestions. In only two places I'm using mocks now. Please check.
   Thanks


-- 
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: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [shardingsphere] shankeerthan-kasilingam commented on a change in pull request #15216: Added tests for ClusterContextManagerCoordinator

Posted by GitBox <gi...@apache.org>.
shankeerthan-kasilingam commented on a change in pull request #15216:
URL: https://github.com/apache/shardingsphere/pull/15216#discussion_r795191453



##########
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:
       Sure, I'll change and push.




-- 
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: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [shardingsphere] shankeerthan-kasilingam commented on a change in pull request #15216: Added tests for ClusterContextManagerCoordinator

Posted by GitBox <gi...@apache.org>.
shankeerthan-kasilingam commented on a change in pull request #15216:
URL: https://github.com/apache/shardingsphere/pull/15216#discussion_r795191645



##########
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:
       +1




-- 
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: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [shardingsphere] shankeerthan-kasilingam commented on a change in pull request #15216: Added tests for ClusterContextManagerCoordinator

Posted by GitBox <gi...@apache.org>.
shankeerthan-kasilingam commented on a change in pull request #15216:
URL: https://github.com/apache/shardingsphere/pull/15216#discussion_r797213151



##########
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 +258,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);
+        Collection<ShardingSphereRule> rules = new LinkedList<>();
+        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());
+        Collection<String> testStates = new LinkedList<>();
+        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());
+        assertThat(contextManager.getInstanceContext().getInstance().getStatus(), is(testStates));
+        testStates.add(StateType.CIRCUIT_BREAK.name());
+        coordinator.renew(mockStateEvent);
+        assertThat(contextManager.getInstanceContext().getState().getCurrentState(), is(StateType.CIRCUIT_BREAK));
+    }
+    
+    @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());

Review comment:
       +1. I'll update the code

##########
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 +258,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);
+        Collection<ShardingSphereRule> rules = new LinkedList<>();
+        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());
+        Collection<String> testStates = new LinkedList<>();
+        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());
+        assertThat(contextManager.getInstanceContext().getInstance().getStatus(), is(testStates));
+        testStates.add(StateType.CIRCUIT_BREAK.name());
+        coordinator.renew(mockStateEvent);
+        assertThat(contextManager.getInstanceContext().getState().getCurrentState(), is(StateType.CIRCUIT_BREAK));
+    }
+    
+    @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());
+        assertThat(contextManager.getInstanceContext().getWorkerId(), is(12223L));
+    }
+    
+    @Test
+    public void assertRenewInstanceLabels() {
+        LabelsEvent mockLabelsEvent = mock(LabelsEvent.class);

Review comment:
       +1. I'll update the code

##########
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 +258,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);
+        Collection<ShardingSphereRule> rules = new LinkedList<>();
+        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());
+        Collection<String> testStates = new LinkedList<>();
+        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());
+        assertThat(contextManager.getInstanceContext().getInstance().getStatus(), is(testStates));
+        testStates.add(StateType.CIRCUIT_BREAK.name());
+        coordinator.renew(mockStateEvent);
+        assertThat(contextManager.getInstanceContext().getState().getCurrentState(), is(StateType.CIRCUIT_BREAK));
+    }
+    
+    @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());
+        assertThat(contextManager.getInstanceContext().getWorkerId(), is(12223L));
+    }
+    
+    @Test
+    public void assertRenewInstanceLabels() {
+        LabelsEvent mockLabelsEvent = mock(LabelsEvent.class);
+        Collection<String> labels = new LinkedList<String>();
+        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());

Review comment:
       +1. I'll update the code




-- 
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: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [shardingsphere] shankeerthan-kasilingam commented on a change in pull request #15216: Added tests for ClusterContextManagerCoordinator

Posted by GitBox <gi...@apache.org>.
shankeerthan-kasilingam commented on a change in pull request #15216:
URL: https://github.com/apache/shardingsphere/pull/15216#discussion_r797212915



##########
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 +258,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);
+        Collection<ShardingSphereRule> rules = new LinkedList<>();
+        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());
+        Collection<String> testStates = new LinkedList<>();
+        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());
+        assertThat(contextManager.getInstanceContext().getInstance().getStatus(), is(testStates));
+        testStates.add(StateType.CIRCUIT_BREAK.name());
+        coordinator.renew(mockStateEvent);
+        assertThat(contextManager.getInstanceContext().getState().getCurrentState(), is(StateType.CIRCUIT_BREAK));
+    }
+    
+    @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());
+        assertThat(contextManager.getInstanceContext().getWorkerId(), is(12223L));
+    }
+    
+    @Test
+    public void assertRenewInstanceLabels() {
+        LabelsEvent mockLabelsEvent = mock(LabelsEvent.class);
+        Collection<String> labels = new LinkedList<String>();

Review comment:
       +1. I'll update the code

##########
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 +258,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);
+        Collection<ShardingSphereRule> rules = new LinkedList<>();
+        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);

Review comment:
       +1. I'll update the code

##########
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 +258,63 @@ private OptimizerContext createOptimizerContext() {
         when(result.getFederationMetaData().getSchemas()).thenReturn(schemas);
         return result;
     }
+    
+    @Test
+    public void assertRenewPrimaryDSNames() {
+        PrimaryStateChangedEvent mockPrimaryStateChangedEvent = mock(PrimaryStateChangedEvent.class);

Review comment:
       +1. I'll update the code

##########
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 +258,63 @@ private OptimizerContext createOptimizerContext() {
         when(result.getFederationMetaData().getSchemas()).thenReturn(schemas);
         return result;
     }
+    
+    @Test
+    public void assertRenewPrimaryDSNames() {

Review comment:
       +1. I'll update the code

##########
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 +258,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);

Review comment:
       +1. I'll update the code

##########
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 +258,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);
+        Collection<ShardingSphereRule> rules = new LinkedList<>();
+        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());
+        Collection<String> testStates = new LinkedList<>();
+        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());

Review comment:
       +1. I'll update the code

##########
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 +258,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);
+        Collection<ShardingSphereRule> rules = new LinkedList<>();
+        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());
+        Collection<String> testStates = new LinkedList<>();
+        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());
+        assertThat(contextManager.getInstanceContext().getInstance().getStatus(), is(testStates));
+        testStates.add(StateType.CIRCUIT_BREAK.name());
+        coordinator.renew(mockStateEvent);
+        assertThat(contextManager.getInstanceContext().getState().getCurrentState(), is(StateType.CIRCUIT_BREAK));
+    }
+    
+    @Test
+    public void assertRenewWorkerIdChange() {
+        WorkerIdEvent mockWorkerIdEvent = mock(WorkerIdEvent.class);

Review comment:
       +1. I'll update the code




-- 
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: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [shardingsphere] codecov-commenter commented on pull request #15216: Added tests for ClusterContextManagerCoordinator

Posted by GitBox <gi...@apache.org>.
codecov-commenter commented on pull request #15216:
URL: https://github.com/apache/shardingsphere/pull/15216#issuecomment-1025219629


   # [Codecov](https://codecov.io/gh/apache/shardingsphere/pull/15216?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
   > Merging [#15216](https://codecov.io/gh/apache/shardingsphere/pull/15216?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (561b07b) into [master](https://codecov.io/gh/apache/shardingsphere/commit/b02a53ac46039e4a57f25da086cad36b3c5a8b72?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (b02a53a) will **increase** coverage by `0.05%`.
   > The diff coverage is `n/a`.
   
   [![Impacted file tree graph](https://codecov.io/gh/apache/shardingsphere/pull/15216/graphs/tree.svg?width=650&height=150&src=pr&token=ZvlXpWa7so&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/shardingsphere/pull/15216?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   
   ```diff
   @@             Coverage Diff              @@
   ##             master   #15216      +/-   ##
   ============================================
   + Coverage     59.90%   59.96%   +0.05%     
     Complexity     1927     1927              
   ============================================
     Files          3175     3176       +1     
     Lines         47578    47538      -40     
     Branches       8097     8091       -6     
   ============================================
   + Hits          28503    28506       +3     
   + Misses        16759    16719      -40     
   + Partials       2316     2313       -3     
   ```
   
   
   | [Impacted Files](https://codecov.io/gh/apache/shardingsphere/pull/15216?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
   |---|---|---|
   | [.../mode/metadata/persist/MetaDataPersistService.java](https://codecov.io/gh/apache/shardingsphere/pull/15216/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hhcmRpbmdzcGhlcmUtbW9kZS9zaGFyZGluZ3NwaGVyZS1tb2RlLWNvcmUvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL3NoYXJkaW5nc3BoZXJlL21vZGUvbWV0YWRhdGEvcGVyc2lzdC9NZXRhRGF0YVBlcnNpc3RTZXJ2aWNlLmphdmE=) | `61.53% <0.00%> (-38.47%)` | :arrow_down: |
   | [...gsphere/mode/metadata/MetaDataContextsBuilder.java](https://codecov.io/gh/apache/shardingsphere/pull/15216/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hhcmRpbmdzcGhlcmUtbW9kZS9zaGFyZGluZ3NwaGVyZS1tb2RlLWNvcmUvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL3NoYXJkaW5nc3BoZXJlL21vZGUvbWV0YWRhdGEvTWV0YURhdGFDb250ZXh0c0J1aWxkZXIuamF2YQ==) | `100.00% <0.00%> (ø)` | |
   | [...ngletable/rule/builder/SingleTableRuleBuilder.java](https://codecov.io/gh/apache/shardingsphere/pull/15216/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hhcmRpbmdzcGhlcmUta2VybmVsL3NoYXJkaW5nc3BoZXJlLXNpbmdsZS10YWJsZS9zaGFyZGluZ3NwaGVyZS1zaW5nbGUtdGFibGUtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvc2hhcmRpbmdzcGhlcmUvc2luZ2xldGFibGUvcnVsZS9idWlsZGVyL1NpbmdsZVRhYmxlUnVsZUJ1aWxkZXIuamF2YQ==) | `75.00% <0.00%> (ø)` | |
   | [...istsql/parser/core/ScalingSQLStatementVisitor.java](https://codecov.io/gh/apache/shardingsphere/pull/15216/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hhcmRpbmdzcGhlcmUtZmVhdHVyZXMvc2hhcmRpbmdzcGhlcmUtc2hhcmRpbmcvc2hhcmRpbmdzcGhlcmUtc2hhcmRpbmctZGlzdHNxbC9zaGFyZGluZ3NwaGVyZS1zaGFyZGluZy1kaXN0c3FsLXBhcnNlci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvc2hhcmRpbmdzcGhlcmUvc2NhbGluZy9kaXN0c3FsL3BhcnNlci9jb3JlL1NjYWxpbmdTUUxTdGF0ZW1lbnRWaXNpdG9yLmphdmE=) | `0.00% <0.00%> (ø)` | |
   | [...e/mode/manager/ContextManagerBuilderParameter.java](https://codecov.io/gh/apache/shardingsphere/pull/15216/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hhcmRpbmdzcGhlcmUtbW9kZS9zaGFyZGluZ3NwaGVyZS1tb2RlLWNvcmUvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL3NoYXJkaW5nc3BoZXJlL21vZGUvbWFuYWdlci9Db250ZXh0TWFuYWdlckJ1aWxkZXJQYXJhbWV0ZXIuamF2YQ==) | `0.00% <0.00%> (ø)` | |
   | [.../coordinator/ClusterContextManagerCoordinator.java](https://codecov.io/gh/apache/shardingsphere/pull/15216/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hhcmRpbmdzcGhlcmUtbW9kZS9zaGFyZGluZ3NwaGVyZS1tb2RlLXR5cGUvc2hhcmRpbmdzcGhlcmUtY2x1c3Rlci1tb2RlL3NoYXJkaW5nc3BoZXJlLWNsdXN0ZXItbW9kZS1jb3JlL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGFyZGluZ3NwaGVyZS9tb2RlL21hbmFnZXIvY2x1c3Rlci9jb29yZGluYXRvci9DbHVzdGVyQ29udGV4dE1hbmFnZXJDb29yZGluYXRvci5qYXZh) | `79.10% <0.00%> (+19.40%)` | :arrow_up: |
   | [...er/standalone/StandaloneContextManagerBuilder.java](https://codecov.io/gh/apache/shardingsphere/pull/15216/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hhcmRpbmdzcGhlcmUtbW9kZS9zaGFyZGluZ3NwaGVyZS1tb2RlLXR5cGUvc2hhcmRpbmdzcGhlcmUtc3RhbmRhbG9uZS1tb2RlL3NoYXJkaW5nc3BoZXJlLXN0YW5kYWxvbmUtbW9kZS1jb3JlL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGFyZGluZ3NwaGVyZS9tb2RlL21hbmFnZXIvc3RhbmRhbG9uZS9TdGFuZGFsb25lQ29udGV4dE1hbmFnZXJCdWlsZGVyLmphdmE=) | `90.00% <0.00%> (+20.76%)` | :arrow_up: |
   | [.../manager/cluster/ClusterContextManagerBuilder.java](https://codecov.io/gh/apache/shardingsphere/pull/15216/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c2hhcmRpbmdzcGhlcmUtbW9kZS9zaGFyZGluZ3NwaGVyZS1tb2RlLXR5cGUvc2hhcmRpbmdzcGhlcmUtY2x1c3Rlci1tb2RlL3NoYXJkaW5nc3BoZXJlLWNsdXN0ZXItbW9kZS1jb3JlL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9zaGFyZGluZ3NwaGVyZS9tb2RlL21hbmFnZXIvY2x1c3Rlci9DbHVzdGVyQ29udGV4dE1hbmFnZXJCdWlsZGVyLmphdmE=) | `70.73% <0.00%> (+24.69%)` | :arrow_up: |
   
   ------
   
   [Continue to review full report at Codecov](https://codecov.io/gh/apache/shardingsphere/pull/15216?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
   > Powered by [Codecov](https://codecov.io/gh/apache/shardingsphere/pull/15216?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Last update [b02a53a...561b07b](https://codecov.io/gh/apache/shardingsphere/pull/15216?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   


-- 
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: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [shardingsphere] terrymanu commented on a change in pull request #15216: Added tests for ClusterContextManagerCoordinator

Posted by GitBox <gi...@apache.org>.
terrymanu commented on a change in pull request #15216:
URL: https://github.com/apache/shardingsphere/pull/15216#discussion_r795224534



##########
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 +258,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);
+        Collection<ShardingSphereRule> rules = new LinkedList<>();
+        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());
+        Collection<String> testStates = new LinkedList<>();
+        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());
+        assertThat(contextManager.getInstanceContext().getInstance().getStatus(), is(testStates));
+        testStates.add(StateType.CIRCUIT_BREAK.name());
+        coordinator.renew(mockStateEvent);
+        assertThat(contextManager.getInstanceContext().getState().getCurrentState(), is(StateType.CIRCUIT_BREAK));
+    }
+    
+    @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());
+        assertThat(contextManager.getInstanceContext().getWorkerId(), is(12223L));
+    }
+    
+    @Test
+    public void assertRenewInstanceLabels() {
+        LabelsEvent mockLabelsEvent = mock(LabelsEvent.class);
+        Collection<String> labels = new LinkedList<String>();

Review comment:
       The second `<String>` can be simply replace to `<>`  




-- 
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: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [shardingsphere] shankeerthan-kasilingam commented on a change in pull request #15216: Added tests for ClusterContextManagerCoordinator

Posted by GitBox <gi...@apache.org>.
shankeerthan-kasilingam commented on a change in pull request #15216:
URL: https://github.com/apache/shardingsphere/pull/15216#discussion_r795191526



##########
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:
       Thx for the review.I'll change and push




-- 
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: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [shardingsphere] terrymanu commented on a change in pull request #15216: Added tests for ClusterContextManagerCoordinator

Posted by GitBox <gi...@apache.org>.
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: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [shardingsphere] shankeerthan-kasilingam commented on pull request #15216: Added tests for ClusterContextManagerCoordinator

Posted by GitBox <gi...@apache.org>.
shankeerthan-kasilingam commented on pull request #15216:
URL: https://github.com/apache/shardingsphere/pull/15216#issuecomment-1030603539


   > Hello @shankeerthan-kasilingam , thanks for your nice contribution! This PR looks great, and hope you enjoy here and learn more. ;-)
   
   Welcome!


-- 
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: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [shardingsphere] tristaZero merged pull request #15216: Added tests for ClusterContextManagerCoordinator

Posted by GitBox <gi...@apache.org>.
tristaZero merged pull request #15216:
URL: https://github.com/apache/shardingsphere/pull/15216


   


-- 
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: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [shardingsphere] shankeerthan-kasilingam commented on pull request #15216: Added tests for ClusterContextManagerCoordinator

Posted by GitBox <gi...@apache.org>.
shankeerthan-kasilingam commented on pull request #15216:
URL: https://github.com/apache/shardingsphere/pull/15216#issuecomment-1025186377


   I have changed the code as per the comments. Please check. Thanks


-- 
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: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [shardingsphere] terrymanu commented on a change in pull request #15216: Added tests for ClusterContextManagerCoordinator

Posted by GitBox <gi...@apache.org>.
terrymanu commented on a change in pull request #15216:
URL: https://github.com/apache/shardingsphere/pull/15216#discussion_r795225801



##########
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 +258,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);
+        Collection<ShardingSphereRule> rules = new LinkedList<>();
+        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());
+        Collection<String> testStates = new LinkedList<>();
+        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());

Review comment:
       These 2 assertNotNull maybe useless, the next assertion can include these 2 assertNotNull.

##########
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 +258,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);
+        Collection<ShardingSphereRule> rules = new LinkedList<>();
+        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());
+        Collection<String> testStates = new LinkedList<>();
+        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());
+        assertThat(contextManager.getInstanceContext().getInstance().getStatus(), is(testStates));
+        testStates.add(StateType.CIRCUIT_BREAK.name());
+        coordinator.renew(mockStateEvent);
+        assertThat(contextManager.getInstanceContext().getState().getCurrentState(), is(StateType.CIRCUIT_BREAK));
+    }
+    
+    @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());

Review comment:
       This assertNotNull maybe useless, the next assertion can include this assertNotNull.

##########
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 +258,63 @@ private OptimizerContext createOptimizerContext() {
         when(result.getFederationMetaData().getSchemas()).thenReturn(schemas);
         return result;
     }
+    
+    @Test
+    public void assertRenewPrimaryDSNames() {

Review comment:
       1. `DS` is abbreviate, could you use `DataSource` instead of it?
   2. ShardingSphere only can support single primary data source, should the method name rename from `Names` to `Name`?

##########
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 +258,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);

Review comment:
       Is it necessary to mock `QualifiedSchema`? If the object is easy to create, please consider about using `new` at first priority. 

##########
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 +258,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);
+        Collection<ShardingSphereRule> rules = new LinkedList<>();
+        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);

Review comment:
       Is it necessary to mock `StateEvent`? If the object is easy to create, please consider about using `new` at first priority. 

##########
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 +258,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);
+        Collection<ShardingSphereRule> rules = new LinkedList<>();
+        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());
+        Collection<String> testStates = new LinkedList<>();
+        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());
+        assertThat(contextManager.getInstanceContext().getInstance().getStatus(), is(testStates));
+        testStates.add(StateType.CIRCUIT_BREAK.name());
+        coordinator.renew(mockStateEvent);
+        assertThat(contextManager.getInstanceContext().getState().getCurrentState(), is(StateType.CIRCUIT_BREAK));
+    }
+    
+    @Test
+    public void assertRenewWorkerIdChange() {
+        WorkerIdEvent mockWorkerIdEvent = mock(WorkerIdEvent.class);

Review comment:
       Is it necessary to mock `WorkerIdEvent`? If the object is easy to create, please consider about using `new` at first priority. 

##########
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 +258,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);
+        Collection<ShardingSphereRule> rules = new LinkedList<>();
+        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());
+        Collection<String> testStates = new LinkedList<>();
+        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());
+        assertThat(contextManager.getInstanceContext().getInstance().getStatus(), is(testStates));
+        testStates.add(StateType.CIRCUIT_BREAK.name());
+        coordinator.renew(mockStateEvent);
+        assertThat(contextManager.getInstanceContext().getState().getCurrentState(), is(StateType.CIRCUIT_BREAK));
+    }
+    
+    @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());
+        assertThat(contextManager.getInstanceContext().getWorkerId(), is(12223L));
+    }
+    
+    @Test
+    public void assertRenewInstanceLabels() {
+        LabelsEvent mockLabelsEvent = mock(LabelsEvent.class);

Review comment:
       Is it necessary to mock `LabelsEvent`? If the object is easy to create, please consider about using `new` at first priority. 

##########
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 +258,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);
+        Collection<ShardingSphereRule> rules = new LinkedList<>();
+        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());
+        Collection<String> testStates = new LinkedList<>();
+        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());
+        assertThat(contextManager.getInstanceContext().getInstance().getStatus(), is(testStates));
+        testStates.add(StateType.CIRCUIT_BREAK.name());
+        coordinator.renew(mockStateEvent);
+        assertThat(contextManager.getInstanceContext().getState().getCurrentState(), is(StateType.CIRCUIT_BREAK));
+    }
+    
+    @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());
+        assertThat(contextManager.getInstanceContext().getWorkerId(), is(12223L));
+    }
+    
+    @Test
+    public void assertRenewInstanceLabels() {
+        LabelsEvent mockLabelsEvent = mock(LabelsEvent.class);
+        Collection<String> labels = new LinkedList<String>();
+        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());

Review comment:
       These 2 assertNotNull maybe useless, the next assertion can include these 2 assertNotNull.

##########
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 +258,63 @@ private OptimizerContext createOptimizerContext() {
         when(result.getFederationMetaData().getSchemas()).thenReturn(schemas);
         return result;
     }
+    
+    @Test
+    public void assertRenewPrimaryDSNames() {
+        PrimaryStateChangedEvent mockPrimaryStateChangedEvent = mock(PrimaryStateChangedEvent.class);

Review comment:
       Is it necessary to mock `PrimaryStateChangedEvent`? If the object is easy to create, please consider about using `new` at first priority. 




-- 
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: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [shardingsphere] shankeerthan-kasilingam commented on pull request #15216: Added tests for ClusterContextManagerCoordinator

Posted by GitBox <gi...@apache.org>.
shankeerthan-kasilingam commented on pull request #15216:
URL: https://github.com/apache/shardingsphere/pull/15216#issuecomment-1030603562


   > @shankeerthan-kasilingam Great job!
   
   Welcome!


-- 
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: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [shardingsphere] shankeerthan-kasilingam commented on a change in pull request #15216: Added tests for ClusterContextManagerCoordinator

Posted by GitBox <gi...@apache.org>.
shankeerthan-kasilingam commented on a change in pull request #15216:
URL: https://github.com/apache/shardingsphere/pull/15216#discussion_r795191594



##########
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:
       Thanks for pointing it.I'll make the changes.




-- 
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: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [shardingsphere] tristaZero commented on pull request #15216: Added tests for ClusterContextManagerCoordinator

Posted by GitBox <gi...@apache.org>.
tristaZero commented on pull request #15216:
URL: https://github.com/apache/shardingsphere/pull/15216#issuecomment-1030568828


   Hello @shankeerthan-kasilingam , thanks for your nice contribution! This PR looks great, and hope you enjoy here and learn more. ;-)


-- 
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: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [shardingsphere] terrymanu commented on pull request #15216: Added tests for ClusterContextManagerCoordinator

Posted by GitBox <gi...@apache.org>.
terrymanu commented on pull request #15216:
URL: https://github.com/apache/shardingsphere/pull/15216#issuecomment-1030570431


   @shankeerthan-kasilingam Great job!


-- 
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: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org