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 3af653dcfb5 Add test cases on PropertiesDispatchEventBuilder (#32902)
3af653dcfb5 is described below

commit 3af653dcfb55c339fefe456fe269686b8017ed2d
Author: Liang Zhang <[email protected]>
AuthorDate: Mon Sep 16 12:37:24 2024 +0800

    Add test cases on PropertiesDispatchEventBuilder (#32902)
---
 .../builder/PropertiesDispatchEventBuilder.java    |  5 +--
 .../PropertiesDispatchEventBuilderTest.java}       | 42 +++++++++++-----------
 2 files changed, 23 insertions(+), 24 deletions(-)

diff --git 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/PropertiesDispatchEventBuilder.java
 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/PropertiesDispatchEventBuilder.java
index 47e758ab235..be79c199638 100644
--- 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/PropertiesDispatchEventBuilder.java
+++ 
b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/PropertiesDispatchEventBuilder.java
@@ -44,9 +44,6 @@ public final class PropertiesDispatchEventBuilder implements 
DispatchEventBuilde
     
     @Override
     public Optional<AlterPropertiesEvent> build(final DataChangedEvent event) {
-        if (GlobalNodePath.isPropsActiveVersionPath(event.getKey())) {
-            return Optional.of(new AlterPropertiesEvent(event.getKey(), 
event.getValue()));
-        }
-        return Optional.empty();
+        return GlobalNodePath.isPropsActiveVersionPath(event.getKey()) ? 
Optional.of(new AlterPropertiesEvent(event.getKey(), event.getValue())) : 
Optional.empty();
     }
 }
diff --git 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/PropertiesDispatchEventBuilder.java
 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/PropertiesDispatchEventBuilderTest.java
similarity index 50%
copy from 
mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/PropertiesDispatchEventBuilder.java
copy to 
mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/PropertiesDispatchEventBuilderTest.java
index 47e758ab235..81ee568b38c 100644
--- 
a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/PropertiesDispatchEventBuilder.java
+++ 
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/builder/PropertiesDispatchEventBuilderTest.java
@@ -17,36 +17,38 @@
 
 package org.apache.shardingsphere.mode.manager.cluster.event.builder;
 
-import org.apache.shardingsphere.metadata.persist.node.GlobalNode;
 import org.apache.shardingsphere.mode.event.DataChangedEvent;
 import org.apache.shardingsphere.mode.event.DataChangedEvent.Type;
 import 
org.apache.shardingsphere.mode.event.dispatch.config.AlterPropertiesEvent;
-import org.apache.shardingsphere.mode.path.GlobalNodePath;
+import org.junit.jupiter.api.Test;
 
-import java.util.Arrays;
-import java.util.Collection;
 import java.util.Optional;
 
-/**
- * Properties dispatch event builder.
- */
-public final class PropertiesDispatchEventBuilder implements 
DispatchEventBuilder<AlterPropertiesEvent> {
+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 PropertiesDispatchEventBuilderTest {
+    
+    private final PropertiesDispatchEventBuilder builder = new 
PropertiesDispatchEventBuilder();
     
-    @Override
-    public String getSubscribedKey() {
-        return GlobalNode.getPropsRootNode();
+    @Test
+    void assertGetSubscribedKey() {
+        assertThat(builder.getSubscribedKey(), is("/props"));
     }
     
-    @Override
-    public Collection<Type> getSubscribedTypes() {
-        return Arrays.asList(Type.ADDED, Type.UPDATED);
+    @Test
+    void assertBuildAlterPropertiesEvent() {
+        Optional<AlterPropertiesEvent> actual = builder.build(new 
DataChangedEvent("/props/active_version", "key=value", Type.ADDED));
+        assertTrue(actual.isPresent());
+        assertThat((actual.get()).getActiveVersionKey(), 
is("/props/active_version"));
+        assertThat((actual.get()).getActiveVersion(), is("key=value"));
     }
     
-    @Override
-    public Optional<AlterPropertiesEvent> build(final DataChangedEvent event) {
-        if (GlobalNodePath.isPropsActiveVersionPath(event.getKey())) {
-            return Optional.of(new AlterPropertiesEvent(event.getKey(), 
event.getValue()));
-        }
-        return Optional.empty();
+    @Test
+    void assertBuildWithInvalidEventKey() {
+        Optional<AlterPropertiesEvent> actual = builder.build(new 
DataChangedEvent("/props/xxx", "key=value", Type.ADDED));
+        assertFalse(actual.isPresent());
     }
 }

Reply via email to