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