summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Arshad <arshad@apache.org>2021-03-28 09:56:18 +0530
committerMohammad Arshad <arshad@apache.org>2021-03-28 09:56:18 +0530
commit62f2e2f0ea1ee78282e7fc51f97dc781614a4a27 (patch)
tree9f473db19f286f28225c91eef50a21378c0dab44
parente19926a51c5d30ea8f034c5d1a377ff0ac53ad9c (diff)
downloadzookeeper-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.java2
-rw-r--r--zookeeper-server/src/test/java/org/apache/zookeeper/ZooKeeperTest.java7
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