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 8b213a00f6cebbaa67a6b9b166b56d0ac4fcbd37
Author: Rene Cordier <rcord...@linagora.com>
AuthorDate: Thu Feb 21 16:56:17 2019 +0700

    MAILBOX-378 refactor tests for MessageMapper
---
 .../james/mailbox/store/mail/MessageMapper.java    |  12 +--
 .../store/mail/model/MessageMapperTest.java        | 113 +++++++++++++++------
 2 files changed, 82 insertions(+), 43 deletions(-)

diff --git 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/MessageMapper.java
 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/MessageMapper.java
index 4c77bed..19335e7 100644
--- 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/MessageMapper.java
+++ 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/MessageMapper.java
@@ -57,11 +57,7 @@ public interface MessageMapper extends Mapper {
             throws MailboxException;
 
     /**
-     *
-     * @param mailbox
-     * @param messageRange
-     * @return list of {@link MessageUid} which are marked as deleted
-     * @throws MailboxException
+     * Returns a list of {@link MessageUid} which are marked as deleted
      */
     List<MessageUid> retrieveMessagesMarkedForDeletion(Mailbox mailbox, 
MessageRange messageRange) throws MailboxException;
 
@@ -98,11 +94,7 @@ public interface MessageMapper extends Mapper {
 
     /**
      * Delete the given list of {@link MessageUid}
-     *
-     * @param mailbox
-     * @param uids
-     * @return a {@link Map} which holds the uids and metadata for all deleted 
messages
-     * @throws MailboxException
+     * and return a {@link Map} which holds the uids and metadata for all 
deleted messages
      */
     Map<MessageUid, MessageMetaData> deleteMessages(Mailbox mailbox, 
List<MessageUid> uids) throws MailboxException;
 
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 3efe66e..622e6ba 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
@@ -28,6 +28,7 @@ import java.io.IOException;
 import java.time.Duration;
 import java.util.Date;
 import java.util.Iterator;
+import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 
@@ -58,6 +59,7 @@ import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
+import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Lists;
 
 public abstract class MessageMapperTest {
@@ -66,9 +68,9 @@ public abstract class MessageMapperTest {
     private static final int LIMIT = 10;
     private static final int BODY_START = 16;
     public static final int UID_VALIDITY = 42;
-    public static final String USER_FLAG = "userFlag";
+    private static final String USER_FLAG = "userFlag";
 
-    public static final String CUSTOMS_USER_FLAGS_VALUE = "CustomsFlags";
+    private static final String CUSTOMS_USER_FLAGS_VALUE = "CustomsFlags";
 
     private MapperProvider mapperProvider;
     private MessageMapper messageMapper;
@@ -365,33 +367,51 @@ public abstract class MessageMapperTest {
         messageMapper.updateFlags(benwaInboxMailbox, new 
FlagsUpdateCalculator(new Flags(Flags.Flag.SEEN), FlagsUpdateMode.REPLACE), 
MessageRange.one(message5.getUid()));
         
assertThat(messageMapper.findFirstUnseenMessageUid(benwaInboxMailbox)).isEqualTo(message2.getUid());
     }
-/*
+
+    @Test
+    public void 
retrieveMessagesMarkedForDeletionInMailboxShouldReturnEmptyResultOnEmptyMailbox()
 throws MailboxException {
+        
assertThat(messageMapper.retrieveMessagesMarkedForDeletion(benwaInboxMailbox, 
MessageRange.all())).isEmpty();
+    }
+
     @Test
-    public void 
expungeMarkedForDeletionInMailboxShouldReturnEmptyResultOnEmptyMailbox() throws 
MailboxException, IOException {
-        
assertThat(messageMapper.expungeMarkedForDeletionInMailbox(benwaInboxMailbox, 
MessageRange.all())).isEmpty();
+    public void deleteMessagesInMailboxShouldReturnEmptyResultOnEmptyMailbox() 
throws MailboxException {
+        assertThat(messageMapper.deleteMessages(benwaInboxMailbox, 
ImmutableList.of())).isEmpty();
+    }
+
+    @Test
+    public void 
retrieveMessagesMarkedForDeletionInMailboxShouldReturnEmptyResultWhenNoMessageInMailboxIsMarkedAsDeleted()
 throws MailboxException, IOException {
+        saveMessages();
+        
assertThat(messageMapper.retrieveMessagesMarkedForDeletion(benwaInboxMailbox, 
MessageRange.all())).isEmpty();
     }
 
     @Test
-    public void 
expungeMarkedForDeletionInMailboxShouldReturnEmptyResultWhenNoMessageInMailboxIsDeleted()
 throws MailboxException, IOException {
+    public void 
deleteMessagesInMailboxShouldReturnEmptyResultWhenNoMessageInMailboxIsDeleted() 
throws MailboxException, IOException {
         saveMessages();
-        
assertThat(messageMapper.expungeMarkedForDeletionInMailbox(benwaInboxMailbox, 
MessageRange.all())).isEmpty();
+        assertThat(messageMapper.deleteMessages(benwaInboxMailbox, 
ImmutableList.of())).isEmpty();
         Iterator<MailboxMessage> retrievedMessageIterator = 
messageMapper.findInMailbox(benwaInboxMailbox, MessageRange.all(), 
MessageMapper.FetchType.Full, LIMIT);
 
         
assertMessages(Lists.newArrayList(retrievedMessageIterator)).containOnly(message1,
 message2, message3, message4, message5);
     }
 
     @Test
-    public void expungeShouldReturnCorrectMetadataWithRangeAll() throws 
MailboxException, IOException {
+    public void 
retrieveMessagesMarkedForDeletionShouldReturnCorrectUidsWithRangeAll() throws 
MailboxException {
         saveMessages();
-        
MetadataMapAssert.assertThat(markThenPerformExpunge(MessageRange.all()))
+        
assertThat(markThenPerformRetrieveMessagesMarkedForDeletion(MessageRange.all()))
+            .containsOnly(message1.getUid(), message4.getUid());
+    }
+
+    @Test
+    public void deleteMessagesShouldReturnCorrectMetadataWithRangeAll() throws 
MailboxException {
+        saveMessages();
+        
MetadataMapAssert.assertThat(markThenPerformDeleteMessages(MessageRange.all()))
             .hasSize(2)
             .containsMetadataForMessages(message1, message4);
     }
 
     @Test
-    public void expungeShouldModifyUnderlyingStorageWithRangeAll() throws 
MailboxException, IOException {
+    public void deleteMessagesShouldModifyUnderlyingStorageWithRangeAll() 
throws MailboxException, IOException {
         saveMessages();
-        markThenPerformExpunge(MessageRange.all());
+        markThenPerformDeleteMessages(MessageRange.all());
 
         Iterator<MailboxMessage> retrievedMessageIterator = 
messageMapper.findInMailbox(benwaInboxMailbox, MessageRange.all(), 
MessageMapper.FetchType.Full, LIMIT);
 
@@ -399,17 +419,24 @@ public abstract class MessageMapperTest {
     }
 
     @Test
-    public void expungeShouldReturnCorrectMetadataWithRangeOne() throws 
MailboxException, IOException {
+    public void 
retrieveMessagesMarkedForDeletionShouldReturnCorrectMetadataWithRangeOne() 
throws MailboxException {
         saveMessages();
-        
MetadataMapAssert.assertThat(markThenPerformExpunge(MessageRange.one(message1.getUid())))
+        
assertThat(markThenPerformRetrieveMessagesMarkedForDeletion(MessageRange.one(message1.getUid())))
+            .containsOnly(message1.getUid());
+    }
+
+    @Test
+    public void deleteMessagesShouldReturnCorrectMetadataWithRangeOne() throws 
MailboxException {
+        saveMessages();
+        
MetadataMapAssert.assertThat(markThenPerformDeleteMessages(MessageRange.one(message1.getUid())))
             .hasSize(1)
             .containsMetadataForMessages(message1);
     }
 
     @Test
-    public void expungeShouldModifyUnderlyingStorageWithRangeOne() throws 
MailboxException, IOException {
+    public void deleteMessagesShouldModifyUnderlyingStorageWithRangeOne() 
throws MailboxException, IOException {
         saveMessages();
-        markThenPerformExpunge(MessageRange.one(message1.getUid()));
+        markThenPerformDeleteMessages(MessageRange.one(message1.getUid()));
 
         Iterator<MailboxMessage> retrievedMessageIterator = 
messageMapper.findInMailbox(benwaInboxMailbox, MessageRange.all(), 
MessageMapper.FetchType.Full, LIMIT);
 
@@ -417,17 +444,24 @@ public abstract class MessageMapperTest {
     }
 
     @Test
-    public void expungeShouldReturnCorrectMetadataWithRangeFrom() throws 
MailboxException, IOException {
+    public void 
retrieveMessagesMarkedForDeletionShouldReturnCorrectMetadataWithRangeFrom() 
throws MailboxException {
         saveMessages();
-        
MetadataMapAssert.assertThat(markThenPerformExpunge(MessageRange.from(message3.getUid())))
+        
assertThat(markThenPerformRetrieveMessagesMarkedForDeletion(MessageRange.from(message3.getUid())))
+            .containsOnly(message4.getUid());
+    }
+
+    @Test
+    public void deleteMessagesShouldReturnCorrectMetadataWithRangeFrom() 
throws MailboxException {
+        saveMessages();
+        
MetadataMapAssert.assertThat(markThenPerformDeleteMessages(MessageRange.from(message3.getUid())))
             .hasSize(1)
             .containsMetadataForMessages(message4);
     }
 
     @Test
-    public void expungeShouldModifyUnderlyingStorageWithRangeFrom() throws 
MailboxException, IOException {
+    public void deleteMessagesShouldModifyUnderlyingStorageWithRangeFrom() 
throws MailboxException, IOException {
         saveMessages();
-        markThenPerformExpunge(MessageRange.from(message3.getUid()));
+        markThenPerformDeleteMessages(MessageRange.from(message3.getUid()));
 
         Iterator<MailboxMessage> retrievedMessageIterator = 
messageMapper.findInMailbox(benwaInboxMailbox, MessageRange.all(), 
MessageMapper.FetchType.Full, LIMIT);
 
@@ -435,22 +469,29 @@ public abstract class MessageMapperTest {
     }
 
     @Test
-    public void expungeShouldReturnCorrectMetadataWithRange() throws 
MailboxException, IOException {
+    public void 
retrieveMessagesMarkedForDeletionShouldReturnCorrectMetadataWithRange() throws 
MailboxException {
+        saveMessages();
+        
assertThat(markThenPerformRetrieveMessagesMarkedForDeletion(MessageRange.range(message3.getUid(),
 message5.getUid())))
+            .containsOnly(message4.getUid());
+    }
+
+    @Test
+    public void deleteMessagesShouldReturnCorrectMetadataWithRange() throws 
MailboxException {
         saveMessages();
-        
MetadataMapAssert.assertThat(markThenPerformExpunge(MessageRange.range(message3.getUid(),
 message5.getUid())))
+        
MetadataMapAssert.assertThat(markThenPerformDeleteMessages(MessageRange.range(message3.getUid(),
 message5.getUid())))
             .hasSize(1)
             .containsMetadataForMessages(message4);
     }
 
     @Test
-    public void expungeShouldModifyUnderlyingStorageWithRange() throws 
MailboxException, IOException {
+    public void deleteMessagesShouldModifyUnderlyingStorageWithRange() throws 
MailboxException, IOException {
         saveMessages();
-        markThenPerformExpunge(MessageRange.range(message3.getUid(), 
message5.getUid()));
+        markThenPerformDeleteMessages(MessageRange.range(message3.getUid(), 
message5.getUid()));
 
         Iterator<MailboxMessage> retrievedMessageIterator = 
messageMapper.findInMailbox(benwaInboxMailbox, MessageRange.all(), 
MessageMapper.FetchType.Full, LIMIT);
 
         
assertMessages(Lists.newArrayList(retrievedMessageIterator)).containOnly(message1,
 message2, message3, message5);
-    }*/
+    }
 
     @Test
     public void getHighestMoseqShouldBeEqualToZeroOnEmptyMailbox() throws 
MailboxException {
@@ -481,7 +522,7 @@ public abstract class MessageMapperTest {
     }
 
     @Test
-    public void copyShouldIncrementUid() throws MailboxException, IOException {
+    public void copyShouldIncrementUid() throws MailboxException {
         saveMessages();
         MessageUid uid = messageMapper.getLastUid(benwaInboxMailbox).get();
         messageMapper.copy(benwaInboxMailbox, 
SimpleMailboxMessage.copy(benwaInboxMailbox.getMailboxId(), message6));
@@ -489,14 +530,14 @@ public abstract class MessageMapperTest {
     }
 
     @Test
-    public void copyShouldIncrementMessageCount() throws MailboxException, 
IOException {
+    public void copyShouldIncrementMessageCount() throws MailboxException {
         saveMessages();
         messageMapper.copy(benwaInboxMailbox, 
SimpleMailboxMessage.copy(benwaInboxMailbox.getMailboxId(), message6));
         
assertThat(messageMapper.countMessagesInMailbox(benwaInboxMailbox)).isEqualTo(6);
     }
 
     @Test
-    public void copyOfUnSeenMessageShouldIncrementUnSeenMessageCount() throws 
MailboxException, IOException {
+    public void copyOfUnSeenMessageShouldIncrementUnSeenMessageCount() throws 
MailboxException {
         saveMessages();
         messageMapper.copy(benwaInboxMailbox, 
SimpleMailboxMessage.copy(benwaInboxMailbox.getMailboxId(), message6));
         
assertThat(messageMapper.countUnseenMessagesInMailbox(benwaInboxMailbox)).isEqualTo(6);
@@ -1076,26 +1117,32 @@ public abstract class MessageMapperTest {
                 message4.getUid(),
                 message5.getUid());
     }
-/*
+
     @Test
-    public void getUidsShouldNotReturnUidsOfExpungedMessages() throws 
Exception {
+    public void getUidsShouldNotReturnUidsOfDeletedMessages() throws Exception 
{
         saveMessages();
 
         messageMapper.updateFlags(benwaInboxMailbox,
             new FlagsUpdateCalculator(new Flags(Flag.DELETED), 
FlagsUpdateMode.ADD),
             MessageRange.range(message2.getUid(), message4.getUid()));
-        messageMapper.expungeMarkedForDeletionInMailbox(benwaInboxMailbox, 
MessageRange.all());
+        List<MessageUid> uids = 
messageMapper.retrieveMessagesMarkedForDeletion(benwaInboxMailbox, 
MessageRange.all());
+        messageMapper.deleteMessages(benwaInboxMailbox, uids);
 
         assertThat(messageMapper.listAllMessageUids(benwaInboxMailbox))
             .containsOnly(message1.getUid(), message5.getUid());
     }
 
-    private Map<MessageUid, MessageMetaData> 
markThenPerformExpunge(MessageRange range) throws MailboxException {
+    private List<MessageUid> 
markThenPerformRetrieveMessagesMarkedForDeletion(MessageRange range) throws 
MailboxException {
         messageMapper.updateFlags(benwaInboxMailbox, new 
FlagsUpdateCalculator(new Flags(Flags.Flag.DELETED), FlagsUpdateMode.REPLACE), 
MessageRange.one(message1.getUid()));
         messageMapper.updateFlags(benwaInboxMailbox, new 
FlagsUpdateCalculator(new Flags(Flags.Flag.DELETED), FlagsUpdateMode.REPLACE), 
MessageRange.one(message4.getUid()));
-        return 
messageMapper.expungeMarkedForDeletionInMailbox(benwaInboxMailbox, range);
+        return 
messageMapper.retrieveMessagesMarkedForDeletion(benwaInboxMailbox, range);
     }
-*/
+
+    private Map<MessageUid, MessageMetaData> 
markThenPerformDeleteMessages(MessageRange range) throws MailboxException {
+        List<MessageUid> uids = 
markThenPerformRetrieveMessagesMarkedForDeletion(range);
+        return messageMapper.deleteMessages(benwaInboxMailbox, uids);
+    }
+
     private SimpleMailbox createMailbox(MailboxPath mailboxPath) throws 
MailboxException {
         SimpleMailbox mailbox = new SimpleMailbox(mailboxPath, UID_VALIDITY);
         mailbox.setMailboxId(mapperProvider.generateId());


---------------------------------------------------------------------
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