http://git-wip-us.apache.org/repos/asf/james-project/blob/b44dc56f/mailbox/api/src/test/java/org/apache/james/mailbox/acl/UnionMailboxACLResolverTest.java ---------------------------------------------------------------------- diff --git a/mailbox/api/src/test/java/org/apache/james/mailbox/acl/UnionMailboxACLResolverTest.java b/mailbox/api/src/test/java/org/apache/james/mailbox/acl/UnionMailboxACLResolverTest.java index 245be05..585dfac 100644 --- a/mailbox/api/src/test/java/org/apache/james/mailbox/acl/UnionMailboxACLResolverTest.java +++ b/mailbox/api/src/test/java/org/apache/james/mailbox/acl/UnionMailboxACLResolverTest.java @@ -30,6 +30,8 @@ import org.junit.Assert; import org.junit.Before; import org.junit.Test; +import static org.assertj.core.api.Assertions.assertThat; + /** * @author Peter Palaga */ @@ -162,434 +164,1203 @@ public class UnionMailboxACLResolverTest { } @Test - public void testHasRightNullUser() throws UnsupportedRightException { - - Assert.assertTrue(anyoneReadListGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, user1Read, USER_1, false)); - Assert.assertTrue(anyoneReadListGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, USER_1, false)); - - Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, user1Read, USER_1, false)); - Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, USER_1, false)); - - Assert.assertFalse(ownerFullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, user1Read, USER_1, false)); - Assert.assertFalse(ownerFullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, USER_1, false)); - - Assert.assertFalse(noGlobals.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, user1Read, USER_1, false)); - Assert.assertFalse(noGlobals.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, USER_1, false)); - - Assert.assertFalse(negativeGroup2FullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, user1Read, USER_1, false)); - Assert.assertFalse(negativeGroup2FullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, USER_1, false)); - - - Assert.assertTrue(anyoneReadListGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, group1Read, USER_1, false)); - Assert.assertTrue(anyoneReadListGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, USER_1, false)); - - Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, group1Read, USER_1, false)); - Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, USER_1, false)); - - Assert.assertFalse(ownerFullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, group1Read, USER_1, false)); - Assert.assertFalse(ownerFullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, USER_1, false)); - - Assert.assertFalse(noGlobals.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, group1Read, USER_1, false)); - Assert.assertFalse(noGlobals.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, USER_1, false)); - - Assert.assertFalse(negativeGroup2FullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, group1Read, USER_1, false)); - Assert.assertFalse(negativeGroup2FullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, USER_1, false)); - - - Assert.assertTrue(anyoneReadListGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, USER_1, false)); - Assert.assertFalse(anyoneReadListGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, USER_1, false)); - - Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, USER_1, false)); - Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, USER_1, false)); - - Assert.assertTrue(ownerFullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, USER_1, false)); - Assert.assertFalse(ownerFullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, USER_1, false)); - - Assert.assertTrue(noGlobals.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, USER_1, false)); - Assert.assertFalse(noGlobals.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, USER_1, false)); - - Assert.assertTrue(negativeGroup2FullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, USER_1, false)); - Assert.assertFalse(negativeGroup2FullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, USER_1, false)); - - - Assert.assertTrue(anyoneReadListGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, USER_1, false)); - Assert.assertTrue(anyoneReadListGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, USER_1, false)); - - Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, USER_1, false)); - Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, USER_1, false)); - - Assert.assertFalse(ownerFullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, USER_1, false)); - Assert.assertFalse(ownerFullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, USER_1, false)); - - Assert.assertFalse(noGlobals.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, USER_1, false)); - Assert.assertFalse(noGlobals.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, USER_1, false)); - - Assert.assertFalse(negativeGroup2FullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, USER_1, false)); - Assert.assertFalse(negativeGroup2FullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, USER_1, false)); - - - Assert.assertTrue(anyoneReadListGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, USER_1, false)); - Assert.assertTrue(anyoneReadListGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, USER_1, false)); - - Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, USER_1, false)); - Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, USER_1, false)); - - Assert.assertFalse(ownerFullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, USER_1, false)); - Assert.assertFalse(ownerFullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, USER_1, false)); - - Assert.assertFalse(noGlobals.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, USER_1, false)); - Assert.assertFalse(noGlobals.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, USER_1, false)); - - Assert.assertFalse(negativeGroup2FullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, USER_1, false)); - Assert.assertFalse(negativeGroup2FullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, USER_1, false)); + public void testResolveRightsNullUser() throws UnsupportedRightException { + + assertThat( + anyoneReadListGlobal.resolveRights(null, groupMembershipResolver, user1Read, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + + assertThat( + anyoneReadListGlobal.resolveRights(null, groupMembershipResolver, user1Read, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + anyoneReadListGlobal.resolveRights(null, groupMembershipResolver, user1ReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + + assertThat( + authenticatedReadListWriteGlobal.resolveRights(null, groupMembershipResolver, user1Read, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + assertThat( + authenticatedReadListWriteGlobal.resolveRights(null, groupMembershipResolver, user1ReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + ownerFullGlobal.resolveRights(null, groupMembershipResolver, user1Read, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + assertThat( + ownerFullGlobal.resolveRights(null, groupMembershipResolver, user1ReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + noGlobals.resolveRights(null, groupMembershipResolver, user1Read, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + assertThat( + noGlobals.resolveRights(null, groupMembershipResolver, user1ReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + negativeGroup2FullGlobal.resolveRights(null, groupMembershipResolver, user1Read, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + assertThat( + negativeGroup2FullGlobal.resolveRights(null, groupMembershipResolver, user1ReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + + assertThat( + anyoneReadListGlobal.resolveRights(null, groupMembershipResolver, group1Read, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + anyoneReadListGlobal.resolveRights(null, groupMembershipResolver, group1ReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + + assertThat( + authenticatedReadListWriteGlobal.resolveRights(null, groupMembershipResolver, group1Read, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + assertThat( + authenticatedReadListWriteGlobal.resolveRights(null, groupMembershipResolver, group1ReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + ownerFullGlobal.resolveRights(null, groupMembershipResolver, group1Read, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + assertThat( + ownerFullGlobal.resolveRights(null, groupMembershipResolver, group1ReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + noGlobals.resolveRights(null, groupMembershipResolver, group1Read, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + assertThat( + noGlobals.resolveRights(null, groupMembershipResolver, group1ReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + negativeGroup2FullGlobal.resolveRights(null, groupMembershipResolver, group1Read, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + assertThat( + negativeGroup2FullGlobal.resolveRights(null, groupMembershipResolver, group1ReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + + assertThat( + anyoneReadListGlobal.resolveRights(null, groupMembershipResolver, anybodyRead, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + anyoneReadListGlobal.resolveRights(null, groupMembershipResolver, anybodyReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + authenticatedReadListWriteGlobal.resolveRights(null, groupMembershipResolver, anybodyRead, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + authenticatedReadListWriteGlobal.resolveRights(null, groupMembershipResolver, anybodyReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + ownerFullGlobal.resolveRights(null, groupMembershipResolver, anybodyRead, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + ownerFullGlobal.resolveRights(null, groupMembershipResolver, anybodyReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + noGlobals.resolveRights(null, groupMembershipResolver, anybodyRead, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + noGlobals.resolveRights(null, groupMembershipResolver, anybodyReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + negativeGroup2FullGlobal.resolveRights(null, groupMembershipResolver, anybodyRead, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + negativeGroup2FullGlobal.resolveRights(null, groupMembershipResolver, anybodyReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + + assertThat( + anyoneReadListGlobal.resolveRights(null, groupMembershipResolver, authenticatedRead, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + anyoneReadListGlobal.resolveRights(null, groupMembershipResolver, authenticatedReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + + assertThat( + authenticatedReadListWriteGlobal.resolveRights(null, groupMembershipResolver, authenticatedRead, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + assertThat( + authenticatedReadListWriteGlobal.resolveRights(null, groupMembershipResolver, authenticatedReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + ownerFullGlobal.resolveRights(null, groupMembershipResolver, authenticatedRead, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + assertThat( + ownerFullGlobal.resolveRights(null, groupMembershipResolver, authenticatedReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + noGlobals.resolveRights(null, groupMembershipResolver, authenticatedRead, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + assertThat( + noGlobals.resolveRights(null, groupMembershipResolver, authenticatedReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + negativeGroup2FullGlobal.resolveRights(null, groupMembershipResolver, authenticatedRead, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + assertThat( + negativeGroup2FullGlobal.resolveRights(null, groupMembershipResolver, authenticatedReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + + assertThat( + anyoneReadListGlobal.resolveRights(null, groupMembershipResolver, ownerRead, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + anyoneReadListGlobal.resolveRights(null, groupMembershipResolver, ownerReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + + assertThat( + authenticatedReadListWriteGlobal.resolveRights(null, groupMembershipResolver, ownerRead, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + assertThat( + authenticatedReadListWriteGlobal.resolveRights(null, groupMembershipResolver, ownerReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + ownerFullGlobal.resolveRights(null, groupMembershipResolver, ownerRead, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + assertThat( + ownerFullGlobal.resolveRights(null, groupMembershipResolver, ownerReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + noGlobals.resolveRights(null, groupMembershipResolver, ownerRead, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + assertThat( + noGlobals.resolveRights(null, groupMembershipResolver, ownerReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + negativeGroup2FullGlobal.resolveRights(null, groupMembershipResolver, ownerRead, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + assertThat( + negativeGroup2FullGlobal.resolveRights(null, groupMembershipResolver, ownerReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); } @Test - public void testHasRightNullUserGlobals() throws UnsupportedRightException { - Assert.assertTrue(anyoneReadListGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, user1Read, USER_2, false)); - Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, MailboxACL.EMPTY, USER_2, false)); - Assert.assertFalse(ownerFullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, MailboxACL.EMPTY, USER_2, false)); - Assert.assertFalse(noGlobals.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, MailboxACL.EMPTY, USER_2, false)); - Assert.assertFalse(negativeGroup2FullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, MailboxACL.EMPTY, USER_2, false)); + public void testResolveRightsNullUserGlobals() throws UnsupportedRightException { + assertThat( + anyoneReadListGlobal.resolveRights(null, groupMembershipResolver, user1Read, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + authenticatedReadListWriteGlobal.resolveRights(null, groupMembershipResolver, MailboxACL.EMPTY, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + assertThat( + ownerFullGlobal.resolveRights(null, groupMembershipResolver, MailboxACL.EMPTY, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + assertThat( + noGlobals.resolveRights(null, groupMembershipResolver, MailboxACL.EMPTY, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + assertThat( + negativeGroup2FullGlobal.resolveRights(null, groupMembershipResolver, MailboxACL.EMPTY, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); } - - - @Test - public void testHasRightUserSelfOwner() throws UnsupportedRightException { - - Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, USER_1, false)); - Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, USER_1, false)); - - Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, USER_1, false)); - Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, USER_1, false)); - - Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, USER_1, false)); - Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, USER_1, false)); - - Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, USER_1, false)); - Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, USER_1, false)); - Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, USER_1, false)); - Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, USER_1, false)); - - - Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, USER_1, false)); - Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, USER_1, false)); - - Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, USER_1, false)); - Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, USER_1, false)); - - Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, USER_1, false)); - Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, USER_1, false)); - - Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, USER_1, false)); - Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, USER_1, false)); - - Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, USER_1, false)); - Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, USER_1, false)); - - - Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, USER_1, false)); - Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, USER_1, false)); - - Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, USER_1, false)); - Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, USER_1, false)); - - Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, USER_1, false)); - Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, USER_1, false)); - - Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, USER_1, false)); - Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, USER_1, false)); - - Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, USER_1, false)); - Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, USER_1, false)); - - - Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, USER_1, false)); - Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, USER_1, false)); - - Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, USER_1, false)); - Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, USER_1, false)); - - Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, USER_1, false)); - Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, USER_1, false)); - - Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, USER_1, false)); - Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, USER_1, false)); - - Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, USER_1, false)); - Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, USER_1, false)); - - - Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, USER_1, false)); - Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, USER_1, false)); - - Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, USER_1, false)); - Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, USER_1, false)); - - Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, USER_1, false)); - Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, USER_1, false)); - - Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, USER_1, false)); - Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, USER_1, false)); - - Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, USER_1, false)); - Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, USER_1, false)); - - } - @Test - public void testHasRightUserNotOwner() throws UnsupportedRightException { - - Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, USER_2, false)); - Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, USER_2, false)); - - Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, USER_2, false)); - Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, USER_2, false)); - - Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, USER_2, false)); - Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, USER_2, false)); - - Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, USER_2, false)); - Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, USER_2, false)); - - Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, USER_2, false)); - Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, USER_2, false)); - - - Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, USER_2, false)); - Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, USER_2, false)); - - Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, USER_2, false)); - Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, USER_2, false)); - - Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, USER_2, false)); - Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, USER_2, false)); - - Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, USER_2, false)); - Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, USER_2, false)); - - Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, USER_2, false)); - Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, USER_2, false)); + public void testResolveRightsUserSelfOwner() throws UnsupportedRightException { + + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, user1Read, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, user1ReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, user1Read, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, user1ReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, user1Read, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, user1ReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, user1Read, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, user1ReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + negativeGroup2FullGlobal.resolveRights(USER_1, groupMembershipResolver, user1Read, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + negativeGroup2FullGlobal.resolveRights(USER_1, groupMembershipResolver, user1ReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, group1Read, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, group1ReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, group1Read, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, group1ReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, group1Read, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, group1ReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, group1Read, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, group1ReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + negativeGroup2FullGlobal.resolveRights(USER_1, groupMembershipResolver, group1Read, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + negativeGroup2FullGlobal.resolveRights(USER_1, groupMembershipResolver, group1ReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, anybodyRead, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, anybodyReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, anybodyRead, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, anybodyReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, anybodyRead, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, anybodyReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, anybodyRead, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, anybodyReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + negativeGroup2FullGlobal.resolveRights(USER_1, groupMembershipResolver, anybodyRead, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + negativeGroup2FullGlobal.resolveRights(USER_1, groupMembershipResolver, anybodyReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, authenticatedRead, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, authenticatedReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, authenticatedRead, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, authenticatedReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, authenticatedRead, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, authenticatedReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, authenticatedRead, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, authenticatedReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + negativeGroup2FullGlobal.resolveRights(USER_1, groupMembershipResolver, authenticatedRead, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + negativeGroup2FullGlobal.resolveRights(USER_1, groupMembershipResolver, authenticatedReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, ownerRead, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, ownerReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, ownerRead, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, ownerReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, ownerRead, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, ownerReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, ownerRead, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, ownerReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + negativeGroup2FullGlobal.resolveRights(USER_1, groupMembershipResolver, ownerRead, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + negativeGroup2FullGlobal.resolveRights(USER_1, groupMembershipResolver, ownerReadNegative, USER_1, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); - - Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, USER_2, false)); - Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, USER_2, false)); - - Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, USER_2, false)); - Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, USER_2, false)); - - Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, USER_2, false)); - Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, USER_2, false)); - - Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, USER_2, false)); - Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, USER_2, false)); - - Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, USER_2, false)); - Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, USER_2, false)); - - - Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, USER_2, false)); - Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, USER_2, false)); - - Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, USER_2, false)); - Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, USER_2, false)); - - Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, USER_2, false)); - Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, USER_2, false)); - - Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, USER_2, false)); - Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, USER_2, false)); - - Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, USER_2, false)); - Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, USER_2, false)); - - - Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, USER_2, false)); - Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, USER_2, false)); - - Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, USER_2, false)); - Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, USER_2, false)); - - Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, USER_2, false)); - Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, USER_2, false)); + } - Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, USER_2, false)); - Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, USER_2, false)); - Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, USER_2, false)); - Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, USER_2, false)); + @Test + public void testResolveRightsUserNotOwner() throws UnsupportedRightException { + + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, user1Read, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, user1ReadNegative, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, user1Read, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, user1ReadNegative, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, user1Read, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, user1ReadNegative, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, user1Read, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, user1ReadNegative, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + negativeGroup2FullGlobal.resolveRights(USER_1, groupMembershipResolver, user1Read, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + negativeGroup2FullGlobal.resolveRights(USER_1, groupMembershipResolver, user1ReadNegative, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, group1Read, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, group1ReadNegative, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, group1Read, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, group1ReadNegative, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, group1Read, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, group1ReadNegative, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, group1Read, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, group1ReadNegative, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + negativeGroup2FullGlobal.resolveRights(USER_1, groupMembershipResolver, group1Read, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + negativeGroup2FullGlobal.resolveRights(USER_1, groupMembershipResolver, group1ReadNegative, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, anybodyRead, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, anybodyReadNegative, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, anybodyRead, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, anybodyReadNegative, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, anybodyRead, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, anybodyReadNegative, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, anybodyRead, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, anybodyReadNegative, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + negativeGroup2FullGlobal.resolveRights(USER_1, groupMembershipResolver, anybodyRead, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + negativeGroup2FullGlobal.resolveRights(USER_1, groupMembershipResolver, anybodyReadNegative, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, authenticatedRead, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, authenticatedReadNegative, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, authenticatedRead, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, authenticatedReadNegative, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, authenticatedRead, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, authenticatedReadNegative, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, authenticatedRead, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, authenticatedReadNegative, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + negativeGroup2FullGlobal.resolveRights(USER_1, groupMembershipResolver, authenticatedRead, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + negativeGroup2FullGlobal.resolveRights(USER_1, groupMembershipResolver, authenticatedReadNegative, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, ownerRead, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, ownerReadNegative, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, ownerRead, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, ownerReadNegative, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isTrue(); + + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, ownerRead, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, ownerReadNegative, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, ownerRead, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, ownerReadNegative, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + negativeGroup2FullGlobal.resolveRights(USER_1, groupMembershipResolver, ownerRead, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); + assertThat( + negativeGroup2FullGlobal.resolveRights(USER_1, groupMembershipResolver, ownerReadNegative, USER_2, false) + .contains(MailboxACL.Right.Read)) + .isFalse(); } @Test - public void testHasRightUserMemberOfOwnerGroup() throws UnsupportedRightException { - - Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, GROUP_1, true)); - Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, GROUP_1, true)); - - Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, GROUP_1, true)); - Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, GROUP_1, true)); - - Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, GROUP_1, true)); - Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, GROUP_1, true)); - - Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, GROUP_1, true)); - Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, GROUP_1, true)); - - Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, GROUP_1, true)); - Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, GROUP_1, true)); - - - Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, GROUP_1, true)); - Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, GROUP_1, true)); - - Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, GROUP_1, true)); - Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, GROUP_1, true)); - - Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, GROUP_1, true)); - Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, GROUP_1, true)); - - Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, GROUP_1, true)); - Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, GROUP_1, true)); - - Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, GROUP_1, true)); - Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, GROUP_1, true)); - - - Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, GROUP_1, true)); - Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, GROUP_1, true)); - - Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, GROUP_1, true)); - Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, GROUP_1, true)); - - Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, GROUP_1, true)); - Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, GROUP_1, true)); - - Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, GROUP_1, true)); - Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, GROUP_1, true)); - - Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, GROUP_1, true)); - Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, GROUP_1, true)); - - - Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, GROUP_1, true)); - Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, GROUP_1, true)); - - Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, GROUP_1, true)); - Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, GROUP_1, true)); - - Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, GROUP_1, true)); - Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, GROUP_1, true)); + public void testResolveRightsUserMemberOfOwnerGroup() throws UnsupportedRightException { + + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, user1Read, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, user1ReadNegative, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, user1Read, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, user1ReadNegative, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, user1Read, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, user1ReadNegative, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, user1Read, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, user1ReadNegative, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + negativeGroup2FullGlobal.resolveRights(USER_1, groupMembershipResolver, user1Read, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + negativeGroup2FullGlobal.resolveRights(USER_1, groupMembershipResolver, user1ReadNegative, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, group1Read, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, group1ReadNegative, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, group1Read, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, group1ReadNegative, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, group1Read, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, group1ReadNegative, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, group1Read, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, group1ReadNegative, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + negativeGroup2FullGlobal.resolveRights(USER_1, groupMembershipResolver, group1Read, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + negativeGroup2FullGlobal.resolveRights(USER_1, groupMembershipResolver, group1ReadNegative, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, anybodyRead, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, anybodyReadNegative, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, anybodyRead, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, anybodyReadNegative, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, anybodyRead, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, anybodyReadNegative, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, anybodyRead, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, anybodyReadNegative, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + negativeGroup2FullGlobal.resolveRights(USER_1, groupMembershipResolver, anybodyRead, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + negativeGroup2FullGlobal.resolveRights(USER_1, groupMembershipResolver, anybodyReadNegative, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, authenticatedRead, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, authenticatedReadNegative, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, authenticatedRead, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, authenticatedReadNegative, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, authenticatedRead, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, authenticatedReadNegative, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, authenticatedRead, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, authenticatedReadNegative, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + negativeGroup2FullGlobal.resolveRights(USER_1, groupMembershipResolver, authenticatedRead, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + negativeGroup2FullGlobal.resolveRights(USER_1, groupMembershipResolver, authenticatedReadNegative, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, ownerRead, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, ownerReadNegative, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, ownerRead, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, ownerReadNegative, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, ownerRead, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, ownerReadNegative, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, ownerRead, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, ownerReadNegative, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + negativeGroup2FullGlobal.resolveRights(USER_1, groupMembershipResolver, ownerRead, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + negativeGroup2FullGlobal.resolveRights(USER_1, groupMembershipResolver, ownerReadNegative, GROUP_1, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); - Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, GROUP_1, true)); - Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, GROUP_1, true)); - - Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, GROUP_1, true)); - Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, GROUP_1, true)); - - - Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, GROUP_1, true)); - Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, GROUP_1, true)); - - Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, GROUP_1, true)); - Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, GROUP_1, true)); - - Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, GROUP_1, true)); - Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, GROUP_1, true)); - - Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, GROUP_1, true)); - Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, GROUP_1, true)); + } - Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, GROUP_1, true)); - Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, GROUP_1, true)); - } - - @Test - public void testHasRightUserNotMemberOfOwnerGroup() throws UnsupportedRightException { - - Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, GROUP_2, true)); - Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, GROUP_2, true)); - - Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, GROUP_2, true)); - Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, GROUP_2, true)); - - Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, GROUP_2, true)); - Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, GROUP_2, true)); - - Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, GROUP_2, true)); - Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, GROUP_2, true)); - - Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, GROUP_2, true)); - Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, GROUP_2, true)); - - - Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, GROUP_2, true)); - Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, GROUP_2, true)); - - Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, GROUP_2, true)); - Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, GROUP_2, true)); - - Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, GROUP_2, true)); - Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, GROUP_2, true)); - - Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, GROUP_2, true)); - Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, GROUP_2, true)); - - Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, GROUP_2, true)); - Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, GROUP_2, true)); - - - Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, GROUP_2, true)); - Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, GROUP_2, true)); - - Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, GROUP_2, true)); - Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, GROUP_2, true)); - - Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, GROUP_2, true)); - Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, GROUP_2, true)); - - Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, GROUP_2, true)); - Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, GROUP_2, true)); - - Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, GROUP_2, true)); - Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, GROUP_2, true)); - - - Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, GROUP_2, true)); - Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, GROUP_2, true)); - - Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, GROUP_2, true)); - Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, GROUP_2, true)); - - Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, GROUP_2, true)); - Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, GROUP_2, true)); - - Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, GROUP_2, true)); - Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, GROUP_2, true)); - - Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, GROUP_2, true)); - Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, GROUP_2, true)); - - - Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, GROUP_2, true)); - Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, GROUP_2, true)); - - Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, GROUP_2, true)); - Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, GROUP_2, true)); - - Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, GROUP_2, true)); - Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, GROUP_2, true)); - - Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, GROUP_2, true)); - Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, GROUP_2, true)); - - Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, GROUP_2, true)); - Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, GROUP_2, true)); + public void testResolveRightsUserNotMemberOfOwnerGroup() throws UnsupportedRightException { + + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, user1Read, GROUP_2, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, user1ReadNegative, GROUP_2, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, user1Read, GROUP_2, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, user1ReadNegative, GROUP_2, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, user1Read, GROUP_2, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, user1ReadNegative, GROUP_2, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, user1Read, GROUP_2, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, user1ReadNegative, GROUP_2, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + negativeGroup2FullGlobal.resolveRights(USER_1, groupMembershipResolver, user1Read, GROUP_2, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + negativeGroup2FullGlobal.resolveRights(USER_1, groupMembershipResolver, user1ReadNegative, GROUP_2, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, group1Read, GROUP_2, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, group1ReadNegative, GROUP_2, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, group1Read, GROUP_2, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, group1ReadNegative, GROUP_2, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, group1Read, GROUP_2, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, group1ReadNegative, GROUP_2, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, group1Read, GROUP_2, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, group1ReadNegative, GROUP_2, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + negativeGroup2FullGlobal.resolveRights(USER_1, groupMembershipResolver, group1Read, GROUP_2, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + negativeGroup2FullGlobal.resolveRights(USER_1, groupMembershipResolver, group1ReadNegative, GROUP_2, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, anybodyRead, GROUP_2, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + anyoneReadListGlobal.resolveRights(USER_1, groupMembershipResolver, anybodyReadNegative, GROUP_2, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, anybodyRead, GROUP_2, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + authenticatedReadListWriteGlobal.resolveRights(USER_1, groupMembershipResolver, anybodyReadNegative, GROUP_2, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, anybodyRead, GROUP_2, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + ownerFullGlobal.resolveRights(USER_1, groupMembershipResolver, anybodyReadNegative, GROUP_2, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, anybodyRead, GROUP_2, true) + .contains(MailboxACL.Right.Read)) + .isTrue(); + assertThat( + noGlobals.resolveRights(USER_1, groupMembershipResolver, anybodyReadNegative, GROUP_2, true) + .contains(MailboxACL.Right.Read)) + .isFalse(); + + assertThat( + negativeGroup2FullGlobal.resolveRights(USER_1, groupMembershipResolver, anybodyRead, GROUP_2, true) +
<TRUNCATED> --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
