diff options
| author | Mohammad Arshad <arshad@apache.org> | 2021-03-28 09:56:18 +0530 |
|---|---|---|
| committer | Mohammad Arshad <arshad@apache.org> | 2021-03-28 09:56:18 +0530 |
| commit | 62f2e2f0ea1ee78282e7fc51f97dc781614a4a27 (patch) | |
| tree | 9f473db19f286f28225c91eef50a21378c0dab44 | |
| parent | e19926a51c5d30ea8f034c5d1a377ff0ac53ad9c (diff) | |
| download | zookeeper-62f2e2f0ea1ee78282e7fc51f97dc781614a4a27.tar.gz | |
ZOOKEEPER-3128: Get CLI Command displays Authentication error for Authorization error
Author: Mohammad Arshad <arshad@apache.org>
Reviewers: Enrico Olivelli <eolivelli@apache.org>
Closes #1656 from arshadmohammad/ZOOKEEPER-3128-branch-3.6
| -rw-r--r-- | zookeeper-server/src/main/java/org/apache/zookeeper/cli/GetCommand.java | 2 | ||||
| -rw-r--r-- | zookeeper-server/src/test/java/org/apache/zookeeper/ZooKeeperTest.java | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/zookeeper-server/src/main/java/org/apache/zookeeper/cli/GetCommand.java b/zookeeper-server/src/main/java/org/apache/zookeeper/cli/GetCommand.java index 57821edde..0558f09b1 100644 --- a/zookeeper-server/src/main/java/org/apache/zookeeper/cli/GetCommand.java +++ b/zookeeper-server/src/main/java/org/apache/zookeeper/cli/GetCommand.java @@ -90,7 +90,7 @@ public class GetCommand extends CliCommand { } catch (IllegalArgumentException ex) { throw new MalformedPathException(ex.getMessage()); } catch (KeeperException | InterruptedException ex) { - throw new CliException(ex); + throw new CliWrapperException(ex); } data = (data == null) ? "null".getBytes() : data; out.println(new String(data)); diff --git a/zookeeper-server/src/test/java/org/apache/zookeeper/ZooKeeperTest.java b/zookeeper-server/src/test/java/org/apache/zookeeper/ZooKeeperTest.java index 859d13c38..8fc3df250 100644 --- a/zookeeper-server/src/test/java/org/apache/zookeeper/ZooKeeperTest.java +++ b/zookeeper-server/src/test/java/org/apache/zookeeper/ZooKeeperTest.java @@ -698,6 +698,13 @@ public class ZooKeeperTest extends ClientBase { String zNodeToBeCreated = "/permZNode/child1"; String errorMessage = executeLine(zkMain, "create " + zNodeToBeCreated); assertEquals("Insufficient permission : " + zNodeToBeCreated, errorMessage); + + // Test Get command error message when there is not read access + List<ACL> writeAcl = Arrays.asList(new ACL(ZooDefs.Perms.WRITE, Ids.ANYONE_ID_UNSAFE)); + String noReadPermZNodePath = "/noReadPermZNode"; + zk.create(noReadPermZNodePath, "newData".getBytes(), writeAcl, CreateMode.PERSISTENT); + errorMessage = executeLine(zkMain, "get " + noReadPermZNodePath); + assertEquals("Insufficient permission : " + noReadPermZNodePath, errorMessage); } @Test |
