This is an automated email from the ASF dual-hosted git repository.

zhangliang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new e122cecc6a6 Refactor QualifiedDataSourceDispatchEventBuilderTest 
(#32895)
e122cecc6a6 is described below

commit e122cecc6a6135d1d3c9d5c311c1acc06174b8e9
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Sep 15 22:43:36 2024 +0800

    Refactor QualifiedDataSourceDispatchEventBuilderTest (#32895)
    
    * Refactor ClusterStateDispatchEventBuilderTest
    
    * Refactor ComputeNodeOnlineDispatchEventBuilderTest
    
    * Refactor ComputeNodeStateDispatchEventBuilderTest
    
    * Refactor QualifiedDataSourceDispatchEventBuilderTest
---
 .../builder/ClusterStateDispatchEventBuilder.java  |  8 ++------
 .../ComputeNodeOnlineDispatchEventBuilder.java     |  5 +----
 .../ClusterStateDispatchEventBuilderTest.java      | 22 ++++++++++------------
 .../ComputeNodeOnlineDispatchEventBuilderTest.java |  8 ++++----
 .../ComputeNodeStateDispatchEventBuilderTest.java  | 16 ++++++----------
 ...ualifiedDataSourceDispatchEventBuilderTest.java | 11 +++++------
 6 files changed, 28 insertions(+), 42 deletions(-)

diff --git 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ClusterStateDispatchEventBuilder.java
 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ClusterStateDispatchEventBuilder.java
index 89dcda30247..40d7acb1cb6 100644
--- 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ClusterStateDispatchEventBuilder.java
+++ 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ClusterStateDispatchEventBuilder.java
@@ -17,12 +17,11 @@
 
 package org.apache.shardingsphere.mode.manager.cluster.event.builder;
 
-import com.google.common.base.Strings;
-import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 import org.apache.shardingsphere.infra.state.cluster.ClusterState;
 import org.apache.shardingsphere.metadata.persist.node.ComputeNode;
 import org.apache.shardingsphere.mode.event.DataChangedEvent;
 import org.apache.shardingsphere.mode.event.DataChangedEvent.Type;
+import org.apache.shardingsphere.mode.event.dispatch.DispatchEvent;
 import 
org.apache.shardingsphere.mode.event.dispatch.state.cluster.ClusterStateEvent;
 
 import java.util.Arrays;
@@ -47,10 +46,7 @@ public final class ClusterStateDispatchEventBuilder 
implements DispatchEventBuil
     
     @Override
     public Optional<DispatchEvent> build(final DataChangedEvent event) {
-        String clusterStatePath = ComputeNode.getClusterStateNodePath();
-        return Strings.isNullOrEmpty(clusterStatePath) || Type.DELETED == 
event.getType() || !event.getKey().equals(ComputeNode.getClusterStateNodePath())
-                ? Optional.empty()
-                : Optional.of(new ClusterStateEvent(getClusterState(event)));
+        return Type.DELETED == event.getType() || 
!event.getKey().equals(ComputeNode.getClusterStateNodePath()) ? 
Optional.empty() : Optional.of(new ClusterStateEvent(getClusterState(event)));
     }
     
     private ClusterState getClusterState(final DataChangedEvent event) {
diff --git 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeOnlineDispatchEventBuilder.java
 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeOnlineDispatchEventBuilder.java
index ee946070504..99a16eb02bd 100644
--- 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeOnlineDispatchEventBuilder.java
+++ 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeOnlineDispatchEventBuilder.java
@@ -55,10 +55,7 @@ public final class ComputeNodeOnlineDispatchEventBuilder 
implements DispatchEven
     
     @Override
     public Optional<DispatchEvent> build(final DataChangedEvent event) {
-        if 
(event.getKey().startsWith(ComputeNode.getOnlineInstanceNodePath())) {
-            return createInstanceEvent(event);
-        }
-        return Optional.empty();
+        return 
event.getKey().startsWith(ComputeNode.getOnlineInstanceNodePath()) ? 
createInstanceEvent(event) : Optional.empty();
     }
     
     private Optional<DispatchEvent> createInstanceEvent(final DataChangedEvent 
event) {
diff --git 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ClusterStateDispatchEventBuilderTest.java
 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ClusterStateDispatchEventBuilderTest.java
index 895fa789004..57bb9cb6d46 100644
--- 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ClusterStateDispatchEventBuilderTest.java
+++ 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ClusterStateDispatchEventBuilderTest.java
@@ -28,30 +28,28 @@ import java.util.Optional;
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 class ClusterStateDispatchEventBuilderTest {
     
+    private final ClusterStateDispatchEventBuilder builder = new 
ClusterStateDispatchEventBuilder();
+    
     @Test
-    void assertCreateEventWhenReadOnly() {
-        Optional<DispatchEvent> actual = new ClusterStateDispatchEventBuilder()
-                .build(new DataChangedEvent("/nodes/compute_nodes/status", 
ClusterState.READ_ONLY.name(), Type.UPDATED));
-        assertTrue(actual.isPresent());
-        assertThat(((ClusterStateEvent) actual.get()).getClusterState(), 
is(ClusterState.READ_ONLY));
+    void assertBuildEventWhenDelete() {
+        assertFalse(builder.build(new 
DataChangedEvent("/nodes/compute_nodes/status", ClusterState.READ_ONLY.name(), 
Type.DELETED)).isPresent());
     }
     
     @Test
-    void assertCreateEventWhenUnavailable() {
-        Optional<DispatchEvent> actual = new ClusterStateDispatchEventBuilder()
-                .build(new DataChangedEvent("/nodes/compute_nodes/status", 
ClusterState.UNAVAILABLE.name(), Type.UPDATED));
+    void assertBuildEventWithValidClusterState() {
+        Optional<DispatchEvent> actual = builder.build(new 
DataChangedEvent("/nodes/compute_nodes/status", ClusterState.READ_ONLY.name(), 
Type.UPDATED));
         assertTrue(actual.isPresent());
-        assertThat(((ClusterStateEvent) actual.get()).getClusterState(), 
is(ClusterState.UNAVAILABLE));
+        assertThat(((ClusterStateEvent) actual.get()).getClusterState(), 
is(ClusterState.READ_ONLY));
     }
     
     @Test
-    void assertCreateEventWhenEnabled() {
-        Optional<DispatchEvent> actual = new ClusterStateDispatchEventBuilder()
-                .build(new DataChangedEvent("/nodes/compute_nodes/status", 
ClusterState.OK.name(), Type.UPDATED));
+    void assertBuildEventWithInvalidClusterState() {
+        Optional<DispatchEvent> actual = builder.build(new 
DataChangedEvent("/nodes/compute_nodes/status", "INVALID", Type.UPDATED));
         assertTrue(actual.isPresent());
         assertThat(((ClusterStateEvent) actual.get()).getClusterState(), 
is(ClusterState.OK));
     }
diff --git 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeOnlineDispatchEventBuilderTest.java
 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeOnlineDispatchEventBuilderTest.java
index 726a64f73e6..82a6831413f 100644
--- 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeOnlineDispatchEventBuilderTest.java
+++ 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeOnlineDispatchEventBuilderTest.java
@@ -33,10 +33,11 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 class ComputeNodeOnlineDispatchEventBuilderTest {
     
+    private final ComputeNodeOnlineDispatchEventBuilder builder = new 
ComputeNodeOnlineDispatchEventBuilder();
+    
     @Test
     void assertComputeNodeOnline() {
-        Optional<DispatchEvent> actual = new 
ComputeNodeOnlineDispatchEventBuilder()
-                .build(new 
DataChangedEvent("/nodes/compute_nodes/online/proxy/foo_instance_id", 
"{attribute: 127.0.0.1@3307,version: 1}", Type.ADDED));
+        Optional<DispatchEvent> actual = builder.build(new 
DataChangedEvent("/nodes/compute_nodes/online/proxy/foo_instance_id", 
"{attribute: 127.0.0.1@3307,version: 1}", Type.ADDED));
         assertTrue(actual.isPresent());
         InstanceOnlineEvent event = (InstanceOnlineEvent) actual.get();
         assertThat(event.getInstanceMetaData().getId(), is("foo_instance_id"));
@@ -48,8 +49,7 @@ class ComputeNodeOnlineDispatchEventBuilderTest {
     
     @Test
     void assertComputeNodeOffline() {
-        Optional<DispatchEvent> actual = new 
ComputeNodeOnlineDispatchEventBuilder()
-                .build(new 
DataChangedEvent("/nodes/compute_nodes/online/proxy/foo_instance_id", 
"{attribute: 127.0.0.1@3307,version: 1}", Type.DELETED));
+        Optional<DispatchEvent> actual = builder.build(new 
DataChangedEvent("/nodes/compute_nodes/online/proxy/foo_instance_id", 
"{attribute: 127.0.0.1@3307,version: 1}", Type.DELETED));
         assertTrue(actual.isPresent());
         InstanceOfflineEvent event = (InstanceOfflineEvent) actual.get();
         assertThat(event.getInstanceMetaData().getId(), is("foo_instance_id"));
diff --git 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeStateDispatchEventBuilderTest.java
 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeStateDispatchEventBuilderTest.java
index f1cbb9acf63..1ecca6a8f13 100644
--- 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeStateDispatchEventBuilderTest.java
+++ 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/ComputeNodeStateDispatchEventBuilderTest.java
@@ -35,10 +35,11 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 class ComputeNodeStateDispatchEventBuilderTest {
     
+    private final ComputeNodeStateDispatchEventBuilder builder = new 
ComputeNodeStateDispatchEventBuilder();
+    
     @Test
     void assertCreateEventWhenDisabled() {
-        Optional<DispatchEvent> actual = new 
ComputeNodeStateDispatchEventBuilder()
-                .build(new 
DataChangedEvent("/nodes/compute_nodes/status/foo_instance_id", 
InstanceState.CIRCUIT_BREAK.name(), Type.ADDED));
+        Optional<DispatchEvent> actual = builder.build(new 
DataChangedEvent("/nodes/compute_nodes/status/foo_instance_id", 
InstanceState.CIRCUIT_BREAK.name(), Type.ADDED));
         assertTrue(actual.isPresent());
         assertThat(((ComputeNodeInstanceStateChangedEvent) 
actual.get()).getStatus(), is(InstanceState.CIRCUIT_BREAK.name()));
         assertThat(((ComputeNodeInstanceStateChangedEvent) 
actual.get()).getInstanceId(), is("foo_instance_id"));
@@ -46,8 +47,7 @@ class ComputeNodeStateDispatchEventBuilderTest {
     
     @Test
     void assertCreateEventWhenEnabled() {
-        Optional<DispatchEvent> actual = new 
ComputeNodeStateDispatchEventBuilder()
-                .build(new 
DataChangedEvent("/nodes/compute_nodes/status/foo_instance_id", "", 
Type.UPDATED));
+        Optional<DispatchEvent> actual = builder.build(new 
DataChangedEvent("/nodes/compute_nodes/status/foo_instance_id", "", 
Type.UPDATED));
         assertTrue(actual.isPresent());
         assertTrue(((ComputeNodeInstanceStateChangedEvent) 
actual.get()).getStatus().isEmpty());
         assertThat(((ComputeNodeInstanceStateChangedEvent) 
actual.get()).getInstanceId(), is("foo_instance_id"));
@@ -55,9 +55,7 @@ class ComputeNodeStateDispatchEventBuilderTest {
     
     @Test
     void assertCreateAddLabelEvent() {
-        Optional<DispatchEvent> actual = new 
ComputeNodeStateDispatchEventBuilder()
-                .build(new 
DataChangedEvent("/nodes/compute_nodes/labels/foo_instance_id",
-                        YamlEngine.marshal(Arrays.asList("label_1", 
"label_2")), Type.ADDED));
+        Optional<DispatchEvent> actual = builder.build(new 
DataChangedEvent("/nodes/compute_nodes/labels/foo_instance_id", 
YamlEngine.marshal(Arrays.asList("label_1", "label_2")), Type.ADDED));
         assertTrue(actual.isPresent());
         assertThat(((LabelsEvent) actual.get()).getLabels(), 
is(Arrays.asList("label_1", "label_2")));
         assertThat(((LabelsEvent) actual.get()).getInstanceId(), 
is("foo_instance_id"));
@@ -65,9 +63,7 @@ class ComputeNodeStateDispatchEventBuilderTest {
     
     @Test
     void assertCreateUpdateLabelsEvent() {
-        Optional<DispatchEvent> actual = new 
ComputeNodeStateDispatchEventBuilder()
-                .build(new 
DataChangedEvent("/nodes/compute_nodes/labels/foo_instance_id",
-                        YamlEngine.marshal(Arrays.asList("label_1", 
"label_2")), Type.UPDATED));
+        Optional<DispatchEvent> actual = builder.build(new 
DataChangedEvent("/nodes/compute_nodes/labels/foo_instance_id", 
YamlEngine.marshal(Arrays.asList("label_1", "label_2")), Type.UPDATED));
         assertTrue(actual.isPresent());
         assertThat(((LabelsEvent) actual.get()).getLabels(), 
is(Arrays.asList("label_1", "label_2")));
         assertThat(((LabelsEvent) actual.get()).getInstanceId(), 
is("foo_instance_id"));
diff --git 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/QualifiedDataSourceDispatchEventBuilderTest.java
 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/QualifiedDataSourceDispatchEventBuilderTest.java
index 558d6e34300..8245f3efe71 100644
--- 
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/QualifiedDataSourceDispatchEventBuilderTest.java
+++ 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/QualifiedDataSourceDispatchEventBuilderTest.java
@@ -33,10 +33,11 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 class QualifiedDataSourceDispatchEventBuilderTest {
     
+    private final QualifiedDataSourceDispatchEventBuilder builder = new 
QualifiedDataSourceDispatchEventBuilder();
+    
     @Test
     void assertCreateEnabledQualifiedDataSourceChangedEvent() {
-        Optional<DispatchEvent> actual = new 
QualifiedDataSourceDispatchEventBuilder().build(
-                new 
DataChangedEvent("/nodes/qualified_data_sources/replica_query_db.readwrite_ds.replica_ds_0",
 "state: ENABLED\n", Type.ADDED));
+        Optional<DispatchEvent> actual = builder.build(new 
DataChangedEvent("/nodes/qualified_data_sources/replica_query_db.readwrite_ds.replica_ds_0",
 "state: ENABLED\n", Type.ADDED));
         assertTrue(actual.isPresent());
         QualifiedDataSourceStateEvent actualEvent = 
(QualifiedDataSourceStateEvent) actual.get();
         assertThat(actualEvent.getQualifiedDataSource().getDatabaseName(), 
is("replica_query_db"));
@@ -47,8 +48,7 @@ class QualifiedDataSourceDispatchEventBuilderTest {
     
     @Test
     void assertCreateDisabledQualifiedDataSourceChangedEvent() {
-        Optional<DispatchEvent> actual = new 
QualifiedDataSourceDispatchEventBuilder().build(
-                new 
DataChangedEvent("/nodes/qualified_data_sources/replica_query_db.readwrite_ds.replica_ds_0",
 "state: DISABLED\n", Type.DELETED));
+        Optional<DispatchEvent> actual = builder.build(new 
DataChangedEvent("/nodes/qualified_data_sources/replica_query_db.readwrite_ds.replica_ds_0",
 "state: DISABLED\n", Type.DELETED));
         assertTrue(actual.isPresent());
         QualifiedDataSourceStateEvent actualEvent = 
(QualifiedDataSourceStateEvent) actual.get();
         assertThat(actualEvent.getQualifiedDataSource().getDatabaseName(), 
is("replica_query_db"));
@@ -59,8 +59,7 @@ class QualifiedDataSourceDispatchEventBuilderTest {
     
     @Test
     void assertCreateEmptyEvent() {
-        Optional<DispatchEvent> actual = new 
QualifiedDataSourceDispatchEventBuilder().build(
-                new 
DataChangedEvent("/nodes/qualified_data_sources/replica_query_db.readwrite_ds.replica_ds_0",
 "", Type.ADDED));
+        Optional<DispatchEvent> actual = builder.build(new 
DataChangedEvent("/nodes/qualified_data_sources/replica_query_db.readwrite_ds.replica_ds_0",
 "", Type.ADDED));
         assertFalse(actual.isPresent());
     }
 }

Reply via email to