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 e2edf10a7560f1b3146888053dcaf0db31d5c014
Author: RĂ©mi Kowalski <[email protected]>
AuthorDate: Thu May 14 16:08:08 2020 +0200

    JAMES-3180 add test to demonstrate that unread messages within a mailbox 
using a combination of filters should be be fetched
---
 .../integration/GetMessageListMethodTest.java      | 41 ++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git 
a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/GetMessageListMethodTest.java
 
b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/GetMessageListMethodTest.java
index e24c01f..6464d1d 100644
--- 
a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/GetMessageListMethodTest.java
+++ 
b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/GetMessageListMethodTest.java
@@ -94,6 +94,7 @@ import org.awaitility.Duration;
 import org.hamcrest.Matchers;
 import org.junit.After;
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
@@ -668,6 +669,46 @@ public abstract class GetMessageListMethodTest {
                             
messageNotSeenFlaggedInOtherMailbox.getMessageId().serialize()))));
     }
 
+    @Ignore("To fix in JAMES-3182")
+    @Category(BasicFeature.class)
+    @Test
+    public void 
getMessageListShouldFetchUnreadMessagesInMailboxUsingACombinationOfFilter() 
throws Exception {
+        MailboxId mailboxId = 
mailboxProbe.createMailbox(MailboxConstants.USER_NAMESPACE, ALICE.asString(), 
"mailbox");
+        mailboxProbe.createMailbox(MailboxConstants.USER_NAMESPACE, 
ALICE.asString(), "othermailbox");
+
+        ComposedMessageId messageNotSeenNotFlagged = 
mailboxProbe.appendMessage(ALICE.asString(), ALICE_MAILBOX,
+            new ByteArrayInputStream("Subject: 
test\r\n\r\ntestmail".getBytes()), new Date(), false, new Flags());
+        ComposedMessageId messageNotSeenFlagged = 
mailboxProbe.appendMessage(ALICE.asString(), ALICE_MAILBOX,
+            ClassLoader.getSystemResourceAsStream("eml/twoAttachments.eml"), 
new Date(), false, new Flags(Flags.Flag.FLAGGED));
+        ComposedMessageId messageSeenNotFlagged = 
mailboxProbe.appendMessage(ALICE.asString(), ALICE_MAILBOX,
+            ClassLoader.getSystemResourceAsStream("eml/oneInlinedImage.eml"), 
new Date(), false, new Flags(Flags.Flag.SEEN));
+        ComposedMessageId messageSeenFlagged = 
mailboxProbe.appendMessage(ALICE.asString(), ALICE_MAILBOX,
+            ClassLoader.getSystemResourceAsStream("eml/oneInlinedImage.eml"), 
new Date(), false, FlagsBuilder.builder().add(Flags.Flag.SEEN, 
Flags.Flag.FLAGGED).build());
+
+        ComposedMessageId messageNotSeenFlaggedInOtherMailbox = 
mailboxProbe.appendMessage(ALICE.asString(), ALICE_OTHER_MAILBOX,
+                
ClassLoader.getSystemResourceAsStream("eml/twoAttachments.eml"), new Date(), 
false, new Flags(Flags.Flag.FLAGGED));
+
+        ComposedMessageId messageSeenInOtherMailbox = 
mailboxProbe.appendMessage(ALICE.asString(), ALICE_OTHER_MAILBOX,
+                
ClassLoader.getSystemResourceAsStream("eml/twoAttachments.eml"), new Date(), 
false, new Flags(Flags.Flag.SEEN));
+
+        await();
+
+        given()
+            .header("Authorization", aliceAccessToken.asString())
+                .body("[[\"getMessageList\", 
{\"filter\":{\"operator\":\"AND\",\"conditions\":[{\"inMailboxes\": [\""+ 
mailboxId.serialize() +"\"]},{\"isUnread\":\"true\"}]}}, \"#0\"]]")
+                .when()
+            .post("/jmap")
+        .then()
+            .statusCode(200)
+            .body(NAME, equalTo("messageList"))
+            .body(ARGUMENTS + ".messageIds", allOf(
+                    
containsInAnyOrder(messageNotSeenNotFlagged.getMessageId().serialize(), 
messageNotSeenFlagged.getMessageId().serialize()),
+                    
not(containsInAnyOrder(messageSeenNotFlagged.getMessageId().serialize(),
+                            messageSeenFlagged.getMessageId().serialize(),
+                            
messageSeenInOtherMailbox.getMessageId().serialize(),
+                            
messageNotSeenFlaggedInOtherMailbox.getMessageId().serialize()))));
+    }
+
     @Test
     public void 
getMessageListOROperatorShouldReturnMessagesWhichMatchOneOfAllConditions() 
throws Exception {
         mailboxProbe.createMailbox(MailboxConstants.USER_NAMESPACE, 
ALICE.asString(), "mailbox");


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to