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 330622d759b0d6fff656ead348649404b6daad4f
Author: Benoit Tellier <[email protected]>
AuthorDate: Sun Sep 5 19:38:00 2021 +0700

    MAILBOX-406 Maildir: Some mailbox names are failing
---
 .../DomainUserMaildirMailboxManagerTest.java       | 56 +++++++++++++++++++++-
 1 file changed, 55 insertions(+), 1 deletion(-)

diff --git 
a/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/DomainUserMaildirMailboxManagerTest.java
 
b/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/DomainUserMaildirMailboxManagerTest.java
index ec70563..817400a 100644
--- 
a/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/DomainUserMaildirMailboxManagerTest.java
+++ 
b/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/DomainUserMaildirMailboxManagerTest.java
@@ -18,12 +18,22 @@
  ****************************************************************/
 package org.apache.james.mailbox.maildir;
 
+import static org.assertj.core.api.Assertions.assertThatCode;
+
+import java.io.File;
 import java.util.Optional;
+import java.util.UUID;
+
+import javax.mail.util.SharedByteArrayInputStream;
 
 import org.apache.james.events.EventBus;
 import org.apache.james.junit.TemporaryFolderExtension;
 import org.apache.james.mailbox.MailboxManagerTest;
+import org.apache.james.mailbox.MailboxSession;
+import org.apache.james.mailbox.MessageManager;
 import org.apache.james.mailbox.SubscriptionManager;
+import org.apache.james.mailbox.model.MailboxPath;
+import org.apache.james.mailbox.model.MessageRange;
 import org.apache.james.mailbox.store.StoreMailboxManager;
 import org.apache.james.mailbox.store.StoreSubscriptionManager;
 import org.junit.jupiter.api.Disabled;
@@ -31,6 +41,8 @@ import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.RegisterExtension;
 
+import reactor.core.publisher.Flux;
+
 class DomainUserMaildirMailboxManagerTest extends 
MailboxManagerTest<StoreMailboxManager> {
 
     @Disabled("Maildir is using DefaultMessageId which doesn't support full 
feature of a messageId, which is an essential" +
@@ -41,6 +53,48 @@ class DomainUserMaildirMailboxManagerTest extends 
MailboxManagerTest<StoreMailbo
 
     @Nested
     class BasicFeaturesTests extends 
MailboxManagerTest<StoreMailboxManager>.BasicFeaturesTests {
+        @Disabled("MAILBOX-406 mailbox creation fails")
+        @Test
+        void namingAMailboxJamesUidValidityFails() throws Exception {
+            MailboxSession session1 = 
mailboxManager.get().createSystemSession(USER_1);
+
+            
mailboxManager.get().createMailbox(MailboxPath.forUser(session1.getUser(), 
"tmp"), session1);
+            
mailboxManager.get().getMailbox(MailboxPath.forUser(session1.getUser(), "tmp"), 
session1)
+                .appendMessage(MessageManager.AppendCommand.from(new 
SharedByteArrayInputStream("PWND".getBytes())), session1);
+
+            assertThatCode(() -> 
mailboxManager.get().createMailbox(MailboxPath.forUser(session1.getUser(), 
"tmp/james-uidvalidity"), session1))
+                .doesNotThrowAnyException();
+        }
+
+        @Disabled("MAILBOX-406 mailbox creation fails")
+        @Test
+        void namingAMailboxJamesUidListFails() throws Exception {
+            MailboxSession session1 = 
mailboxManager.get().createSystemSession(USER_1);
+
+            
mailboxManager.get().createMailbox(MailboxPath.forUser(session1.getUser(), 
"tmp"), session1);
+            
mailboxManager.get().getMailbox(MailboxPath.forUser(session1.getUser(), "tmp"), 
session1)
+                .appendMessage(MessageManager.AppendCommand.from(new 
SharedByteArrayInputStream("PWND".getBytes())), session1);
+
+            assertThatCode(() -> 
mailboxManager.get().createMailbox(MailboxPath.forUser(session1.getUser(), 
"tmp/james-uidlist"), session1))
+                .doesNotThrowAnyException();
+        }
+
+        @Disabled("MAILBOX-406 listing emails fails")
+        @Test
+        void namingAMailboxJamesUidAclMakesReadingOtherMailboxFailing() throws 
Exception {
+            MailboxSession session1 = 
mailboxManager.get().createSystemSession(USER_1);
+
+            
mailboxManager.get().createMailbox(MailboxPath.forUser(session1.getUser(), 
"tmp"), session1);
+            
mailboxManager.get().getMailbox(MailboxPath.forUser(session1.getUser(), "tmp"), 
session1)
+                .appendMessage(MessageManager.AppendCommand.from(new 
SharedByteArrayInputStream("PWND".getBytes())), session1);
+
+            
mailboxManager.get().createMailbox(MailboxPath.forUser(session1.getUser(), 
"tmp/james-acl"), session1);
+
+            assertThatCode(() -> 
Flux.from(mailboxManager.get().getMailbox(MailboxPath.forUser(session1.getUser(),
 "tmp"), session1)
+                    .listMessagesMetadata(MessageRange.all(), 
session1)).blockLast())
+                .doesNotThrowAnyException();
+        }
+
         @Disabled("MAILBOX-389 Mailbox rename fails with Maildir")
         @Test
         protected void renameMailboxShouldChangeTheMailboxPathOfAMailbox() {
@@ -114,7 +168,7 @@ class DomainUserMaildirMailboxManagerTest extends 
MailboxManagerTest<StoreMailbo
 
     private StoreMailboxManager createMailboxManager() {
         try {
-            return 
MaildirMailboxManagerProvider.createMailboxManager("/%fulluser", 
temporaryFolder.getTemporaryFolder().getTempDir());
+            return 
MaildirMailboxManagerProvider.createMailboxManager("/%fulluser", new 
File(System.getProperty("java.io.tmpdir") + "/" + UUID.randomUUID()));
         } catch (Exception e) {
             throw new RuntimeException(e);
         }

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to