JAMES-2186 RFC4314Rights: Allow to check several rights at once

Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/86d9aef1
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/86d9aef1
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/86d9aef1

Branch: refs/heads/master
Commit: 86d9aef1790165999d88f180dd287aceaaff6282
Parents: 40303f7
Author: benwa <btell...@linagora.com>
Authored: Mon Oct 16 16:43:25 2017 +0700
Committer: Matthieu Baechler <matth...@apache.org>
Committed: Fri Oct 20 12:34:51 2017 +0200

----------------------------------------------------------------------
 .../apache/james/mailbox/model/MailboxACL.java  |  4 ++++
 .../james/mailbox/model/Rfc4314RightsTest.java  | 20 ++++++++++++++++++++
 2 files changed, 24 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/86d9aef1/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxACL.java
----------------------------------------------------------------------
diff --git 
a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxACL.java 
b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxACL.java
index a38e601..1f7a5be 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxACL.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxACL.java
@@ -224,6 +224,10 @@ public class MailboxACL {
             return value.contains(right);
         }
 
+        public boolean contains(Right... rights) {
+            return value.containsAll(Arrays.asList(rights));
+        }
+
         public boolean equals(Object o) {
             if (o instanceof Rfc4314Rights) {
                 Rfc4314Rights that = (Rfc4314Rights) o;

http://git-wip-us.apache.org/repos/asf/james-project/blob/86d9aef1/mailbox/api/src/test/java/org/apache/james/mailbox/model/Rfc4314RightsTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/api/src/test/java/org/apache/james/mailbox/model/Rfc4314RightsTest.java
 
b/mailbox/api/src/test/java/org/apache/james/mailbox/model/Rfc4314RightsTest.java
index 33b91fb..0e58229 100644
--- 
a/mailbox/api/src/test/java/org/apache/james/mailbox/model/Rfc4314RightsTest.java
+++ 
b/mailbox/api/src/test/java/org/apache/james/mailbox/model/Rfc4314RightsTest.java
@@ -212,4 +212,24 @@ public class Rfc4314RightsTest {
     public void unionShouldThrowWhenAppliedWithNull() throws 
UnsupportedRightException {
         assertThatThrownBy(() -> 
lprs.union(null)).isInstanceOf(NullPointerException.class);
     }
+
+    @Test
+    public void containsShouldReturnFalseWhenRightNotPresent() throws 
UnsupportedRightException {
+        assertThat(lprs.contains(Write)).isFalse();
+    }
+
+    @Test
+    public void containsShouldReturnFalseWhenAtLeastOneRightNotPresent() 
throws UnsupportedRightException {
+        assertThat(lprs.contains(Lookup, Write)).isFalse();
+    }
+
+    @Test
+    public void containsShouldReturnTrueWhenAllRightsPresent() throws 
UnsupportedRightException {
+        assertThat(lprs.contains(Lookup, Post)).isTrue();
+    }
+
+    @Test
+    public void containsShouldReturnTrueWhenNonRightsPresent() throws 
UnsupportedRightException {
+        assertThat(lprs.contains()).isTrue();
+    }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to