Repository: james-project
Updated Branches:
  refs/heads/master 3bdf9182f -> 41c860c17


JAMES-1874 Add more tests on MessageMapper RECENT handling


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/9c28aad8
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/9c28aad8
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/9c28aad8

Branch: refs/heads/master
Commit: 9c28aad8f0a8774d0411a3b6a4a04b1047c5219a
Parents: 4297b45
Author: Benoit Tellier <btell...@linagora.com>
Authored: Fri Feb 3 11:57:52 2017 +0700
Committer: Benoit Tellier <btell...@linagora.com>
Committed: Tue Feb 7 08:57:45 2017 +0700

----------------------------------------------------------------------
 .../store/mail/model/MessageMapperTest.java     | 41 ++++++++++++++++++++
 1 file changed, 41 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/9c28aad8/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageMapperTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageMapperTest.java
 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageMapperTest.java
index 6fdb35a..156744f 100644
--- 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageMapperTest.java
+++ 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageMapperTest.java
@@ -304,6 +304,47 @@ public class MessageMapperTest<T extends MapperProvider> {
     }
 
     @ContractTest
+    public void deleteShouldUpdateRecentWhenNeeded() throws MailboxException {
+        saveMessages();
+        messageMapper.updateFlags(benwaInboxMailbox, new 
FlagsUpdateCalculator(new Flags(Flags.Flag.RECENT), FlagsUpdateMode.REPLACE), 
MessageRange.one(message2.getUid()));
+        messageMapper.updateFlags(benwaInboxMailbox, new 
FlagsUpdateCalculator(new Flags(Flags.Flag.RECENT), FlagsUpdateMode.REPLACE), 
MessageRange.one(message4.getUid()));
+        messageMapper.updateFlags(benwaWorkMailbox, new 
FlagsUpdateCalculator(new Flags(Flags.Flag.RECENT), FlagsUpdateMode.REPLACE), 
MessageRange.one(message6.getUid()));
+
+        messageMapper.delete(benwaInboxMailbox, message2);
+
+        
assertThat(messageMapper.findRecentMessageUidsInMailbox(benwaInboxMailbox)).containsOnly(message4.getUid());
+    }
+
+    @ContractTest
+    public void deleteShouldNotUpdateRecentWhenNotNeeded() throws 
MailboxException {
+        saveMessages();
+        messageMapper.updateFlags(benwaInboxMailbox, new 
FlagsUpdateCalculator(new Flags(Flags.Flag.RECENT), FlagsUpdateMode.REPLACE), 
MessageRange.one(message2.getUid()));
+        messageMapper.updateFlags(benwaInboxMailbox, new 
FlagsUpdateCalculator(new Flags(Flags.Flag.RECENT), FlagsUpdateMode.REPLACE), 
MessageRange.one(message4.getUid()));
+        messageMapper.updateFlags(benwaWorkMailbox, new 
FlagsUpdateCalculator(new Flags(Flags.Flag.RECENT), FlagsUpdateMode.REPLACE), 
MessageRange.one(message6.getUid()));
+
+        messageMapper.delete(benwaInboxMailbox, message1);
+
+        
assertThat(messageMapper.findRecentMessageUidsInMailbox(benwaInboxMailbox)).containsOnly(message2.getUid(),
 message4.getUid());
+    }
+
+    @ContractTest
+    public void addShouldUpdateRecentWhenNeeded() throws MailboxException {
+        message1.setFlags(new Flags(Flags.Flag.RECENT));
+        messageMapper.add(benwaInboxMailbox, message1);
+        message1.setModSeq(messageMapper.getHighestModSeq(benwaInboxMailbox));
+
+        
assertThat(messageMapper.findRecentMessageUidsInMailbox(benwaInboxMailbox)).containsOnly(message1.getUid());
+    }
+
+    @ContractTest
+    public void addShouldNotUpdateRecentWhenNotNeeded() throws 
MailboxException {
+        messageMapper.add(benwaInboxMailbox, message1);
+        message1.setModSeq(messageMapper.getHighestModSeq(benwaInboxMailbox));
+
+        
assertThat(messageMapper.findRecentMessageUidsInMailbox(benwaInboxMailbox)).isEmpty();
+    }
+
+    @ContractTest
     public void 
findFirstUnseenMessageUidShouldReturnNullWhenNoUnseenMessagesCanBeFound() 
throws MailboxException {
         
assertThat(messageMapper.findFirstUnseenMessageUid(benwaInboxMailbox)).isNull();
     }


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

Reply via email to