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/11/04 11:23:45 UTC

[james-project] 09/30: JAMES-2939 Add tests for child mailboxes INBOX sanitizing

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 ed279d508974f8cce024ef20d6d1a94c74800a88
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Mon Nov 4 10:14:19 2019 +0700

    JAMES-2939 Add tests for child mailboxes INBOX sanitizing
---
 .../apache/james/mailbox/MailboxManagerTest.java   | 26 +++++++++++++++++++++-
 1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerTest.java b/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerTest.java
index eacf95e..7d2863d 100644
--- a/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerTest.java
+++ b/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerTest.java
@@ -51,7 +51,6 @@ import org.apache.james.mailbox.exception.AnnotationException;
 import org.apache.james.mailbox.exception.HasEmptyMailboxNameInHierarchyException;
 import org.apache.james.mailbox.exception.InboxAlreadyCreated;
 import org.apache.james.mailbox.exception.MailboxException;
-import org.apache.james.mailbox.exception.MailboxExistsException;
 import org.apache.james.mailbox.exception.MailboxNotFoundException;
 import org.apache.james.mailbox.exception.TooLongMailboxNameException;
 import org.apache.james.mailbox.extension.PreDeletionHook;
@@ -86,6 +85,7 @@ import org.mockito.ArgumentCaptor;
 import com.google.common.base.Strings;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
+
 import reactor.core.publisher.Mono;
 
 /**
@@ -225,6 +225,30 @@ public abstract class MailboxManagerTest<T extends MailboxManager> {
             assertThatThrownBy(() -> mailboxManager.createMailbox(MailboxPath.forUser(USER_1, "iNbOx"), session))
                 .isInstanceOf(InboxAlreadyCreated.class);
         }
+
+        @Test
+        void creatingMixedCaseINBOXShouldCreateItAsINBOXUponChildMailboxCreation() throws Exception {
+            session = mailboxManager.createSystemSession(USER_1);
+            mailboxManager.startProcessingRequest(session);
+
+            Optional<MailboxId> mailboxId = mailboxManager.createMailbox(MailboxPath.forUser(USER_1, "iNbOx.submailbox"), session);
+            MessageManager retrievedMailbox = mailboxManager.getMailbox(MailboxPath.inbox(session), session);
+
+            assertThat(mailboxManager.hasInbox(session)).isTrue();
+        }
+
+        @Test
+        void creatingMixedCaseINBOXChildShouldNormalizeChildPath() throws Exception {
+            session = mailboxManager.createSystemSession(USER_1);
+            mailboxManager.startProcessingRequest(session);
+
+            MailboxPath childPath = MailboxPath.forUser(USER_1, "iNbOx.submailbox");
+            Optional<MailboxId> mailboxId = mailboxManager.createMailbox(childPath, session);
+            MessageManager retrievedMailbox = mailboxManager.getMailbox(childPath, session);
+
+            assertThat(mailboxManager.hasInbox(session)).isTrue();
+            assertThat(mailboxId.get()).isEqualTo(retrievedMailbox.getId());
+        }
     }
 
     @Nested


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