You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by rc...@apache.org on 2020/12/30 03:35:35 UTC
[james-project] 23/29: JAMES-3484 Add tests at mailboxManager level
for counter updates
This is an automated email from the ASF dual-hosted git repository.
rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 4b6e7e38a4ea83724f1e605710f9c24c3a70ba86
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Fri Dec 25 16:55:15 2020 +0700
JAMES-3484 Add tests at mailboxManager level for counter updates
---
.../apache/james/mailbox/MailboxManagerTest.java | 64 ++++++++++++++++++++++
1 file changed, 64 insertions(+)
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 a274329..c9a5f9f 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
@@ -2358,6 +2358,70 @@ public abstract class MailboxManagerTest<T extends MailboxManager> {
}
@Test
+ void copyMessagesShouldUpdateMailboxCounts() throws Exception {
+ assumeTrue(mailboxManager.hasCapability(MailboxCapabilities.ACL));
+
+ session = mailboxManager.createSystemSession(USER_1);
+
+ MailboxPath inbox = MailboxPath.inbox(session);
+ MailboxId inboxId = mailboxManager.createMailbox(inbox, session).get();
+
+ MailboxPath otherMailbox = MailboxPath.forUser(USER_1, "otherMailbox");
+ MailboxId otherMailboxId = mailboxManager.createMailbox(otherMailbox, session).get();
+
+ MessageManager inboxMessageManager = mailboxManager.getMailbox(inbox, session);
+
+ ComposedMessageId composedMessageId1 = inboxMessageManager
+ .appendMessage(AppendCommand.from(message), session)
+ .getId();
+ MessageId messageId2 = inboxMessageManager
+ .appendMessage(AppendCommand.from(message), session)
+ .getId()
+ .getMessageId();
+
+ MessageId messageId1 = composedMessageId1.getMessageId();
+
+ mailboxManager.copyMessages(MessageRange.all(), inbox, otherMailbox, session);
+
+ assertThat(mailboxManager.getMailbox(inboxId, session).getMessageCount(session))
+ .isEqualTo(2);
+ assertThat(mailboxManager.getMailbox(otherMailboxId, session).getMessageCount(session))
+ .isEqualTo(2);
+ }
+
+ @Test
+ void moveMessagesShouldUpdateMailboxCounts() throws Exception {
+ assumeTrue(mailboxManager.hasCapability(MailboxCapabilities.ACL));
+
+ session = mailboxManager.createSystemSession(USER_1);
+
+ MailboxPath inbox = MailboxPath.inbox(session);
+ MailboxId inboxId = mailboxManager.createMailbox(inbox, session).get();
+
+ MailboxPath otherMailbox = MailboxPath.forUser(USER_1, "otherMailbox");
+ MailboxId otherMailboxId = mailboxManager.createMailbox(otherMailbox, session).get();
+
+ MessageManager inboxMessageManager = mailboxManager.getMailbox(inbox, session);
+
+ ComposedMessageId composedMessageId1 = inboxMessageManager
+ .appendMessage(AppendCommand.from(message), session)
+ .getId();
+ MessageId messageId2 = inboxMessageManager
+ .appendMessage(AppendCommand.from(message), session)
+ .getId()
+ .getMessageId();
+
+ MessageId messageId1 = composedMessageId1.getMessageId();
+
+ mailboxManager.moveMessages(MessageRange.all(), inbox, otherMailbox, session);
+
+ assertThat(mailboxManager.getMailbox(inboxId, session).getMessageCount(session))
+ .isEqualTo(0);
+ assertThat(mailboxManager.getMailbox(otherMailboxId, session).getMessageCount(session))
+ .isEqualTo(2);
+ }
+
+ @Test
void copyMessagesShouldThrowWhenCopyingMessageFromMailboxNotBelongingToSameUser() throws Exception {
MailboxSession sessionUser1 = mailboxManager.createSystemSession(USER_1);
MailboxSession sessionUser2 = mailboxManager.createSystemSession(USER_2);
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org