You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2019/06/19 03:23:22 UTC
[james-project] 01/07: JAMES-2790 Add a role for Restored-Messages
mailbox
This is an automated email from the ASF dual-hosted git repository.
btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit d4d2d0b996ea7e3c37f409cd6f4203015bb1d589
Author: Rene Cordier <rc...@linagora.com>
AuthorDate: Fri Jun 14 14:35:39 2019 +0700
JAMES-2790 Add a role for Restored-Messages mailbox
---
.../org/apache/james/mailbox/DefaultMailboxes.java | 1 +
.../src/main/java/org/apache/james/mailbox/Role.java | 4 +++-
.../test/java/org/apache/james/mailbox/RoleTest.java | 18 +++++++++++++++++-
.../org/apache/james/jmap/model/mailbox/SortOrder.java | 1 +
.../james/jmap/methods/GetMailboxesMethodTest.java | 2 ++
5 files changed, 24 insertions(+), 2 deletions(-)
diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/DefaultMailboxes.java b/mailbox/api/src/main/java/org/apache/james/mailbox/DefaultMailboxes.java
index 0fa4401..fabc8ff 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/DefaultMailboxes.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/DefaultMailboxes.java
@@ -34,6 +34,7 @@ public interface DefaultMailboxes {
String ARCHIVE = "Archive";
String SPAM = "Spam";
String TEMPLATES = "Templates";
+ String RESTORED_MESSAGES = "Restored-Messages";
List<String> DEFAULT_MAILBOXES = ImmutableList.of(INBOX, OUTBOX, SENT, TRASH, DRAFTS, SPAM);
}
diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/Role.java b/mailbox/api/src/main/java/org/apache/james/mailbox/Role.java
index 675b91b..a6ccfb0 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/Role.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/Role.java
@@ -42,9 +42,11 @@ public class Role {
public static final Role ARCHIVE = new Role("archive", DefaultMailboxes.ARCHIVE, CASE_SENSITIVE_COMPARATOR);
public static final Role SPAM = new Role("spam", DefaultMailboxes.SPAM, CASE_SENSITIVE_COMPARATOR);
public static final Role TEMPLATES = new Role("templates", DefaultMailboxes.TEMPLATES, CASE_SENSITIVE_COMPARATOR);
+ public static final Role RESTORED_MESSAGES =
+ new Role("restored messages", DefaultMailboxes.RESTORED_MESSAGES, CASE_SENSITIVE_COMPARATOR);
private static final List<Role> ROLES =
- ImmutableList.<Role>of(INBOX, DRAFTS, OUTBOX, SENT, TRASH, ARCHIVE, SPAM, TEMPLATES);
+ ImmutableList.<Role>of(INBOX, DRAFTS, OUTBOX, SENT, TRASH, ARCHIVE, SPAM, TEMPLATES, RESTORED_MESSAGES);
private final String name;
private final String defaultMailbox;
diff --git a/mailbox/api/src/test/java/org/apache/james/mailbox/RoleTest.java b/mailbox/api/src/test/java/org/apache/james/mailbox/RoleTest.java
index 134ecf3..6352a07 100644
--- a/mailbox/api/src/test/java/org/apache/james/mailbox/RoleTest.java
+++ b/mailbox/api/src/test/java/org/apache/james/mailbox/RoleTest.java
@@ -23,7 +23,6 @@ import static org.assertj.core.api.Assertions.assertThat;
import java.util.Locale;
import java.util.Optional;
-import org.apache.james.mailbox.Role;
import org.junit.Test;
public class RoleTest {
@@ -96,6 +95,11 @@ public class RoleTest {
}
@Test
+ public void isSystemRoleShouldBeTrueWhenRestoredMessages() {
+ assertThat(Role.RESTORED_MESSAGES.isSystemRole()).isTrue();
+ }
+
+ @Test
public void isSystemRoleShouldBeFalseWhenUserDefinedRole() {
Role userRole = Role.from(Role.USER_DEFINED_ROLE_PREFIX + "myRole").get();
assertThat(userRole.isSystemRole()).isFalse();
@@ -160,4 +164,16 @@ public class RoleTest {
Optional<Role> role = Role.from("TrAsH");
assertThat(role).isEmpty();
}
+
+ @Test
+ public void theRestoredMessagesMailboxNameShouldBeASystemMailbox() {
+ Role role = Role.from("Restored-Messages").get();
+ assertThat(role.isSystemRole()).isTrue();
+ }
+
+ @Test
+ public void theReStOrEdMeSsAgEsMailboxNameShouldNotBeASystemMailbox() {
+ Optional<Role> role = Role.from("ReStOrEd-MeSsAgEs");
+ assertThat(role).isEmpty();
+ }
}
\ No newline at end of file
diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/mailbox/SortOrder.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/mailbox/SortOrder.java
index 27c2a65..7442a75 100644
--- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/mailbox/SortOrder.java
+++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/mailbox/SortOrder.java
@@ -41,6 +41,7 @@ public class SortOrder implements Comparable<SortOrder> {
.put(Role.TRASH, SortOrder.of(60))
.put(Role.SPAM, SortOrder.of(70))
.put(Role.TEMPLATES, SortOrder.of(80))
+ .put(Role.RESTORED_MESSAGES, SortOrder.of(90))
.build();
private static Optional<SortOrder> getDefaultSortOrder(Role role) {
diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/GetMailboxesMethodTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/GetMailboxesMethodTest.java
index e5c2c31..ae0f9aa 100644
--- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/GetMailboxesMethodTest.java
+++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/GetMailboxesMethodTest.java
@@ -380,6 +380,7 @@ public class GetMailboxesMethodTest {
mailboxManager.createMailbox(MailboxPath.forUser(USERNAME, "Trash"), mailboxSession);
mailboxManager.createMailbox(MailboxPath.forUser(USERNAME, "Spam"), mailboxSession);
mailboxManager.createMailbox(MailboxPath.forUser(USERNAME, "Templates"), mailboxSession);
+ mailboxManager.createMailbox(MailboxPath.forUser(USERNAME, "Restored-Messages"), mailboxSession);
mailboxManager.createMailbox(MailboxPath.forUser(USERNAME, "WITHOUT ROLE"), mailboxSession);
GetMailboxesRequest getMailboxesRequest = GetMailboxesRequest.builder()
@@ -403,6 +404,7 @@ public class GetMailboxesMethodTest {
Tuple.tuple("Trash", Optional.of(Role.TRASH)),
Tuple.tuple("Spam", Optional.of(Role.SPAM)),
Tuple.tuple("Templates", Optional.of(Role.TEMPLATES)),
+ Tuple.tuple("Restored-Messages", Optional.of(Role.RESTORED_MESSAGES)),
Tuple.tuple("WITHOUT ROLE", Optional.empty()));
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org