diff --git a/ratis-shell/src/main/java/org/apache/ratis/shell/cli/CliUtils.java b/ratis-shell/src/main/java/org/apache/ratis/shell/cli/CliUtils.java index a4a30ae776..08999a7220 100644 --- a/ratis-shell/src/main/java/org/apache/ratis/shell/cli/CliUtils.java +++ b/ratis-shell/src/main/java/org/apache/ratis/shell/cli/CliUtils.java @@ -96,7 +96,7 @@ public static List parseRaftPeers(String peers) { /** Parse the given string as a {@link RaftGroupId}. */ public static RaftGroupId parseRaftGroupId(String groupId) { - return groupId != null && groupId.isEmpty() ? RaftGroupId.valueOf(UUID.fromString(groupId)) : null; + return groupId != null && !groupId.isEmpty() ? RaftGroupId.valueOf(UUID.fromString(groupId)) : null; } /** diff --git a/ratis-test/src/test/java/org/apache/ratis/shell/cli/TestCliUtils.java b/ratis-test/src/test/java/org/apache/ratis/shell/cli/TestCliUtils.java index 151914b64a..2bdac3ab91 100644 --- a/ratis-test/src/test/java/org/apache/ratis/shell/cli/TestCliUtils.java +++ b/ratis-test/src/test/java/org/apache/ratis/shell/cli/TestCliUtils.java @@ -17,6 +17,7 @@ */ package org.apache.ratis.shell.cli; +import org.apache.ratis.protocol.RaftGroupId; import org.apache.ratis.protocol.RaftPeer; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; @@ -25,6 +26,7 @@ import java.net.Inet6Address; import java.net.InetSocketAddress; import java.util.List; +import java.util.UUID; public class TestCliUtils { @@ -61,4 +63,27 @@ public void testParseRejectsScheme() { Assertions.assertThrows(IllegalArgumentException.class, () -> CliUtils.parseInetSocketAddress("http://127.0.0.1:6000")); } + + @Test + public void testParseRaftGroupIdNull() { + Assertions.assertNull(CliUtils.parseRaftGroupId(null)); + } + + @Test + public void testParseRaftGroupIdEmpty() { + Assertions.assertNull(CliUtils.parseRaftGroupId("")); + } + + @Test + public void testParseRaftGroupIdValid() { + final UUID uuid = UUID.randomUUID(); + final RaftGroupId groupId = CliUtils.parseRaftGroupId(uuid.toString()); + Assertions.assertEquals(RaftGroupId.valueOf(uuid), groupId); + } + + @Test + public void testParseRaftGroupIdInvalid() { + Assertions.assertThrows(IllegalArgumentException.class, + () -> CliUtils.parseRaftGroupId("not-a-uuid")); + } }