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