[prev in list] [next in list] [prev in thread] [next in thread]
List: james-dev
Subject: [1/4] james-project git commit: JAMES-2230 Mailbox support hasSystemRole
From: aduprat () apache ! org
Date: 2017-11-30 16:05:05
Message-ID: 8f0600e8e3194eae88d21219701a51bd () git ! apache ! org
[Download RAW message or body]
Repository: james-project
Updated Branches:
refs/heads/master a55693355 -> de561e452
JAMES-2230 Mailbox support hasSystemRole
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/7245c362
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/7245c362
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/7245c362
Branch: refs/heads/master
Commit: 7245c362ab8b6323f336a187db31c1420f77c51a
Parents: a556933
Author: quynhn <qnguyen@linagora.com>
Authored: Fri Nov 24 10:57:20 2017 +0700
Committer: Antoine Duprat <aduprat@linagora.com>
Committed: Thu Nov 30 17:01:43 2017 +0100
----------------------------------------------------------------------
.../james/jmap/model/mailbox/Mailbox.java | 13 ++++
.../james/jmap/model/mailbox/MailboxTest.java | 72 ++++++++++++++++++--
2 files changed, 81 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/7245c362/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/mailbox/Mailbox.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/mailbox/Mailbox.java \
b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/mailbox/Mailbox.java
index 8432eeb..f821f88 100644
--- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/mailbox/Mailbox.java
+++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/mailbox/Mailbox.java
@@ -26,6 +26,7 @@ import org.apache.james.jmap.methods.JmapResponseWriterImpl;
import org.apache.james.mailbox.model.MailboxId;
import com.fasterxml.jackson.annotation.JsonFilter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder;
import com.google.common.annotations.VisibleForTesting;
@@ -292,6 +293,18 @@ public class Mailbox {
return namespace;
}
+ @JsonIgnore
+ public boolean hasRole(Role role) {
+ return this.role
+ .map(currentRole -> Objects.equals(currentRole, role))
+ .orElse(false);
+ }
+
+ @JsonIgnore
+ public boolean hasSystemRole() {
+ return role.map(Role::isSystemRole).orElse(false);
+ }
+
@Override
public final boolean equals(Object obj) {
if (obj instanceof Mailbox) {
http://git-wip-us.apache.org/repos/asf/james-project/blob/7245c362/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/mailbox/MailboxTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/mailbox/MailboxTest.java \
b/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/mailbox/MailboxTest.java
index e134adf..94c5937 100644
--- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/mailbox/MailboxTest.java
+++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/mailbox/MailboxTest.java
@@ -155,11 +155,75 @@ public class MailboxTest {
@Test
public void unreadMessagesShouldAcceptPositiveValue() {
Mailbox mailbox = Mailbox.builder()
- .id(InMemoryId.of(1))
- .name("name")
- .unreadMessages(1234)
- .build();
+ .id(InMemoryId.of(1))
+ .name("name")
+ .unreadMessages(1234)
+ .build();
assertThat(mailbox.getUnreadMessages()).isEqualTo(1234);
}
+
+ @Test
+ public void hasRoleShouldReturnFalseWhenMailboxEmptyRole() {
+ Mailbox mailbox = Mailbox.builder()
+ .id(InMemoryId.of(0))
+ .name("name")
+ .build();
+
+ assertThat(mailbox.hasRole(Role.OUTBOX)).isFalse();
+ }
+
+ @Test
+ public void hasRoleShouldReturnFalseWhenMailboxDoesNotHaveSameRole() {
+ Mailbox mailbox = Mailbox.builder()
+ .id(InMemoryId.of(0))
+ .name("name")
+ .role(Optional.of(Role.DRAFTS))
+ .build();
+
+ assertThat(mailbox.hasRole(Role.OUTBOX)).isFalse();
+ }
+
+ @Test
+ public void hasRoleShouldReturnTrueWhenMailboxHasSameRole() {
+ Mailbox mailbox = Mailbox.builder()
+ .id(InMemoryId.of(0))
+ .name("name")
+ .role(Optional.of(Role.DRAFTS))
+ .build();
+
+ assertThat(mailbox.hasRole(Role.DRAFTS)).isTrue();
+ }
+
+ @Test
+ public void hasSystemRoleShouldReturnFalseWhenMailboxHasNotSameRole() throws \
Exception { + Mailbox mailbox = Mailbox.builder()
+ .name("mailbox")
+ .id(InMemoryId.of(0))
+ .build();
+
+ assertThat(mailbox.hasSystemRole()).isFalse();
+ }
+
+ @Test
+ public void hasSystemRoleShouldReturnFalseWhenMailboxHasNotSystemRole() throws \
Exception { + Mailbox mailbox = Mailbox.builder()
+ .name("mailbox")
+ .id(InMemoryId.of(0))
+ .role(Role.from("any"))
+ .build();
+
+ assertThat(mailbox.hasSystemRole()).isFalse();
+ }
+
+ @Test
+ public void hasSystemRoleShouldReturnTrueWhenMailboxHasSystemRole() throws \
Exception { + Mailbox mailbox = Mailbox.builder()
+ .name("mailbox")
+ .id(InMemoryId.of(0))
+ .role(Optional.of(Role.OUTBOX))
+ .build();
+
+ assertThat(mailbox.hasSystemRole()).isTrue();
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic