This is an automated email from the ASF dual-hosted git repository.
wuweijie 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 c7bf424 Add more test cases for StatusNode (#12506)
c7bf424 is described below
commit c7bf424ce87e0b9cd914636047089deee6f79ad6
Author: Liang Zhang <[email protected]>
AuthorDate: Fri Sep 17 00:16:35 2021 +0800
Add more test cases for StatusNode (#12506)
* Remove StatusNode.PRIMARY_NODE
* Add more test case for StatusNode
---
.../registry/status/node/StatusNode.java | 8 +++-----
.../watcher/StorageNodeStateChangedWatcher.java | 4 ++--
.../registry/status/node/StatusNodeTest.java | 21 ++++++++++++++++++---
3 files changed, 23 insertions(+), 10 deletions(-)
diff --git
a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/status/node/StatusNode.java
b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/status/node/StatusNode.java
index f0be277..e46f5f6 100644
---
a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/status/node/StatusNode.java
+++
b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/status/node/StatusNode.java
@@ -37,8 +37,6 @@ public final class StatusNode {
private static final String STORAGE_NODE = "storage_nodes";
- private static final String PRIMARY_NODE = "primarynodes";
-
private static final String PRIVILEGE_NODE = "privilegenode";
/**
@@ -84,13 +82,13 @@ public final class StatusNode {
}
/**
- * Get cluster schema.
+ * Find cluster schema.
*
* @param status storage node status
* @param storageNodeFullPath storage node full path
- * @return cluster schema
+ * @return found cluster schema
*/
- public static Optional<ClusterSchema> getClusterSchema(final
StorageNodeStatus status, final String storageNodeFullPath) {
+ public static Optional<ClusterSchema> findClusterSchema(final
StorageNodeStatus status, final String storageNodeFullPath) {
String prefix = String.join("/", "", ROOT_NODE, STORAGE_NODE,
status.name().toLowerCase());
return storageNodeFullPath.startsWith(prefix) ? Optional.of(new
ClusterSchema(storageNodeFullPath.substring(storageNodeFullPath.lastIndexOf("/")
+ 1))) : Optional.empty();
}
diff --git
a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/status/watcher/StorageNodeStateChangedWatcher.java
b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/status/watcher/StorageNodeStateChangedWatcher.java
index 3baa790..4745be0 100644
---
a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/status/watcher/StorageNodeStateChangedWatcher.java
+++
b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/status/watcher/StorageNodeStateChangedWatcher.java
@@ -47,11 +47,11 @@ public final class StorageNodeStateChangedWatcher
implements GovernanceWatcher<G
@Override
public Optional<GovernanceEvent> createGovernanceEvent(final
DataChangedEvent event) {
- Optional<GovernanceEvent> primaryStateChangedEvent =
StatusNode.getClusterSchema(
+ Optional<GovernanceEvent> primaryStateChangedEvent =
StatusNode.findClusterSchema(
StorageNodeStatus.PRIMARY, event.getKey()).map(schema -> new
PrimaryStateChangedEvent(schema, event.getValue()));
if (primaryStateChangedEvent.isPresent()) {
return primaryStateChangedEvent;
}
- return StatusNode.getClusterSchema(StorageNodeStatus.DISABLE,
event.getKey()).map(schema -> new DisabledStateChangedEvent(schema, Type.ADDED
== event.getType()));
+ return StatusNode.findClusterSchema(StorageNodeStatus.DISABLE,
event.getKey()).map(schema -> new DisabledStateChangedEvent(schema, Type.ADDED
== event.getType()));
}
}
diff --git
a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/status/node/StatusNodeTest.java
b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/status/node/StatusNodeTest.java
index 85bd4bc..b95d241 100644
---
a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/status/node/StatusNodeTest.java
+++
b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/status/node/StatusNodeTest.java
@@ -32,12 +32,27 @@ public final class StatusNodeTest {
@Test
public void assertGetComputeNodePath() {
- assertThat(StatusNode.getComputeNodePath(ComputeNodeStatus.ONLINE,
"testId"), is("/status/compute_nodes/online/testId"));
+
assertThat(StatusNode.getComputeNodePath(ComputeNodeStatus.CIRCUIT_BREAKER),
is("/status/compute_nodes/circuit_breaker"));
}
@Test
- public void assertGetClusterSchema() {
- Optional<ClusterSchema> actual =
StatusNode.getClusterSchema(StorageNodeStatus.DISABLE,
"/status/storage_nodes/disable/replica_query_db.replica_ds_0");
+ public void assertGetComputeNodePathWithInstanceId() {
+ assertThat(StatusNode.getComputeNodePath(ComputeNodeStatus.ONLINE,
"127.0.0.0@3307"), is("/status/compute_nodes/online/127.0.0.0@3307"));
+ }
+
+ @Test
+ public void assertGetStorageNodePath() {
+ assertThat(StatusNode.getStorageNodePath(StorageNodeStatus.DISABLE),
is("/status/storage_nodes/disable"));
+ }
+
+ @Test
+ public void assertGetStorageNodePathWithSchema() {
+ assertThat(StatusNode.getStorageNodePath(StorageNodeStatus.PRIMARY,
new ClusterSchema("replica_query_db.replica_ds_0")),
is("/status/storage_nodes/primary/replica_query_db.replica_ds_0"));
+ }
+
+ @Test
+ public void assertFindClusterSchema() {
+ Optional<ClusterSchema> actual =
StatusNode.findClusterSchema(StorageNodeStatus.DISABLE,
"/status/storage_nodes/disable/replica_query_db.replica_ds_0");
assertTrue(actual.isPresent());
assertThat(actual.get().getSchemaName(), is("replica_query_db"));
assertThat(actual.get().getDataSourceName(), is("replica_ds_0"));