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());
}
}