Skip to content

Commit de726d0

Browse files
ZOOKEEPER-3128: Get CLI Command displays Authentication error for Authorization error
Handled the scenario missed in ZOOKEEPER-3891 Author: Mohammad Arshad <[email protected]> Reviewers: Damien Diederen <[email protected]> Closes apache#1634 from arshadmohammad/ZOOKEEPER-3128-master
1 parent 51be692 commit de726d0

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

zookeeper-server/src/main/java/org/apache/zookeeper/cli/GetCommand.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ public boolean exec() throws CliException {
9090
} catch (IllegalArgumentException ex) {
9191
throw new MalformedPathException(ex.getMessage());
9292
} catch (KeeperException | InterruptedException ex) {
93-
throw new CliException(ex);
93+
throw new CliWrapperException(ex);
9494
}
9595
data = (data == null) ? "null".getBytes() : data;
9696
out.println(new String(data, UTF_8));

zookeeper-server/src/test/java/org/apache/zookeeper/ZooKeeperTest.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -702,6 +702,13 @@ public void testInsufficientPermission() throws Exception {
702702
String zNodeToBeCreated = "/permZNode/child1";
703703
String errorMessage = executeLine(zkMain, "create " + zNodeToBeCreated);
704704
assertEquals("Insufficient permission : " + zNodeToBeCreated, errorMessage);
705+
706+
// Test Get command error message when there is not read access
707+
List<ACL> writeAcl = Arrays.asList(new ACL(ZooDefs.Perms.WRITE, Ids.ANYONE_ID_UNSAFE));
708+
String noReadPermZNodePath = "/noReadPermZNode";
709+
zk.create(noReadPermZNodePath, "newData".getBytes(), writeAcl, CreateMode.PERSISTENT);
710+
errorMessage = executeLine(zkMain, "get " + noReadPermZNodePath);
711+
assertEquals("Insufficient permission : " + noReadPermZNodePath, errorMessage);
705712
}
706713

707714
@Test

0 commit comments

Comments
 (0)