You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by bt...@apache.org on 2021/09/08 03:11:41 UTC
[james-project] 02/02: MAILBOX-406 Maildir: Some mailbox names are
failing
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 <bt...@linagora.com>
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: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org