JAMES-2169 Add a test checking ADMIN can read sharedWith JMAP Mailboxes property
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/282030dd Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/282030dd Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/282030dd Branch: refs/heads/master Commit: 282030ddb4c930fd4b07933e46e5de06faf84a82 Parents: 0f5a0f2 Author: benwa <[email protected]> Authored: Mon Oct 2 10:10:06 2017 +0700 Committer: benwa <[email protected]> Committed: Wed Oct 4 16:20:58 2017 +0700 ---------------------------------------------------------------------- .../integration/GetMailboxesMethodTest.java | 24 +++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/282030dd/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetMailboxesMethodTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetMailboxesMethodTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetMailboxesMethodTest.java index 7c49289..a8a434e 100644 --- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetMailboxesMethodTest.java +++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/GetMailboxesMethodTest.java @@ -508,7 +508,7 @@ public abstract class GetMailboxesMethodTest { } @Test - public void getMailboxesShouldReturnMailboxesWhenShared() throws Exception { + public void getMailboxesShouldReturnMailboxesWithFilteredSharedWithWhenShared() throws Exception { String mailboxName = "name"; MailboxId bobMailbox = mailboxProbe.createMailbox(MailboxConstants.USER_NAMESPACE, bob, mailboxName); MailboxPath bobMailboxPath = MailboxPath.forUser(bob, mailboxName); @@ -531,5 +531,27 @@ public abstract class GetMailboxesMethodTest { assertThat(sharedWith).containsOnlyKeys(alice); } + @Test + public void getMailboxesShouldReturnMailboxesWithFullSharedWithWhenHasAdminRight() throws Exception { + String mailboxName = "name"; + MailboxId bobMailbox = mailboxProbe.createMailbox(MailboxConstants.USER_NAMESPACE, bob, mailboxName); + MailboxPath bobMailboxPath = MailboxPath.forUser(bob, mailboxName); + aclProbe.replaceRights(bobMailboxPath, alice, new Rfc4314Rights(Right.Read, Right.Administer)); + aclProbe.replaceRights(bobMailboxPath, cedric, new Rfc4314Rights(Right.Read)); + Map<String, String> sharedWith = given() + .header("Authorization", accessToken.serialize()) + .body("[[\"getMailboxes\", {\"ids\": [\"" + bobMailbox.serialize() + "\"]}, \"#0\"]]") + .when() + .post("/jmap") + .then() + .statusCode(200) + .body(NAME, equalTo("mailboxes")) + .body(ARGUMENTS + ".list.name", hasSize(1)) + .extract() + .jsonPath() + .get(FIRST_MAILBOX + ".sharedWith"); + + assertThat(sharedWith).containsOnlyKeys(alice, cedric); + } } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
