You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ro...@apache.org on 2019/03/11 16:48:16 UTC

[james-project] 03/05: JAMES-2675 Add a simple unit test about indexing upon large copies

This is an automated email from the ASF dual-hosted git repository.

rouazana pushed a commit to branch 3.3.x
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 14ec22154f312abf140c3cc72c0fbf16cc79667d
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Thu Mar 7 14:49:02 2019 +0700

    JAMES-2675 Add a simple unit test about indexing upon large copies
---
 mailbox/elasticsearch/pom.xml                      |  5 ++++
 mailbox/lucene/pom.xml                             |  5 ++++
 mailbox/scanning-search/pom.xml                    |  5 ++++
 mailbox/store/pom.xml                              |  5 ++++
 .../search/AbstractMessageSearchIndexTest.java     | 27 ++++++++++++++++++++++
 5 files changed, 47 insertions(+)

diff --git a/mailbox/elasticsearch/pom.xml b/mailbox/elasticsearch/pom.xml
index 5a78c03..b47a071 100644
--- a/mailbox/elasticsearch/pom.xml
+++ b/mailbox/elasticsearch/pom.xml
@@ -126,6 +126,11 @@
             <artifactId>guava</artifactId>
         </dependency>
         <dependency>
+            <groupId>com.jayway.awaitility</groupId>
+            <artifactId>awaitility</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.sun.mail</groupId>
             <artifactId>javax.mail</artifactId>
         </dependency>
diff --git a/mailbox/lucene/pom.xml b/mailbox/lucene/pom.xml
index 5247bd6..8a709a6 100644
--- a/mailbox/lucene/pom.xml
+++ b/mailbox/lucene/pom.xml
@@ -77,6 +77,11 @@
             <artifactId>apache-mime4j-dom</artifactId>
         </dependency>
         <dependency>
+            <groupId>com.jayway.awaitility</groupId>
+            <artifactId>awaitility</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.sun.mail</groupId>
             <artifactId>javax.mail</artifactId>
         </dependency>
diff --git a/mailbox/scanning-search/pom.xml b/mailbox/scanning-search/pom.xml
index 5aafd7c..1b51127 100644
--- a/mailbox/scanning-search/pom.xml
+++ b/mailbox/scanning-search/pom.xml
@@ -69,6 +69,11 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>com.jayway.awaitility</groupId>
+            <artifactId>awaitility</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
             <scope>test</scope>
diff --git a/mailbox/store/pom.xml b/mailbox/store/pom.xml
index 572fd84..f33e689 100644
--- a/mailbox/store/pom.xml
+++ b/mailbox/store/pom.xml
@@ -97,6 +97,11 @@
             <artifactId>guava</artifactId>
         </dependency>
         <dependency>
+            <groupId>com.jayway.awaitility</groupId>
+            <artifactId>awaitility</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>com.sun.mail</groupId>
             <artifactId>javax.mail</artifactId>
         </dependency>
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/search/AbstractMessageSearchIndexTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/search/AbstractMessageSearchIndexTest.java
index e60475e..7a7748a 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/search/AbstractMessageSearchIndexTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/search/AbstractMessageSearchIndexTest.java
@@ -28,6 +28,7 @@ import java.time.ZoneId;
 import java.util.Date;
 import java.util.List;
 import java.util.TimeZone;
+import java.util.concurrent.TimeUnit;
 
 import javax.mail.Flags;
 
@@ -37,8 +38,10 @@ import org.apache.james.mailbox.MessageIdManager;
 import org.apache.james.mailbox.MessageManager;
 import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.mailbox.model.ComposedMessageId;
+import org.apache.james.mailbox.model.MailboxId;
 import org.apache.james.mailbox.model.MailboxPath;
 import org.apache.james.mailbox.model.MessageId;
+import org.apache.james.mailbox.model.MessageRange;
 import org.apache.james.mailbox.model.SearchQuery;
 import org.apache.james.mailbox.model.SearchQuery.AddressType;
 import org.apache.james.mailbox.model.SearchQuery.DateResolution;
@@ -59,6 +62,9 @@ import org.junit.Before;
 import org.junit.Test;
 
 import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Iterators;
+import com.jayway.awaitility.Awaitility;
+import com.jayway.awaitility.Duration;
 
 public abstract class AbstractMessageSearchIndexTest {
 
@@ -1453,6 +1459,27 @@ public abstract class AbstractMessageSearchIndexTest {
     }
 
     @Test
+    public void copiedMessageShouldAllBeIndexed() throws Exception {
+        MailboxPath newBoxPath = MailboxPath.forUser(USERNAME, "newBox");
+        MailboxId newBoxId = storeMailboxManager.createMailbox(newBoxPath, session).get();
+
+        storeMailboxManager.copyMessages(MessageRange.all(), inboxMessageManager.getId(), newBoxId, session);
+
+        SearchQuery searchQuery = new SearchQuery();
+
+        StoreMessageManager newBox = (StoreMessageManager) storeMailboxManager.getMailbox(newBoxId, session);
+
+        Awaitility.with()
+            .pollInterval(Duration.ONE_HUNDRED_MILLISECONDS)
+            .and().with()
+            .pollDelay(new Duration(1, TimeUnit.MILLISECONDS))
+            .await()
+            .atMost(30, TimeUnit.SECONDS)
+            .until(
+                () -> Iterators.size(messageSearchIndex.search(session, newBox.getMailboxEntity(), searchQuery)) == 9);
+    }
+
+    @Test
     public void searchShouldRetrieveMailByAttachmentFileName() throws Exception {
         Assume.assumeTrue(messageSearchIndex.getSupportedCapabilities(storeMailboxManager.getSupportedMessageCapabilities())
             .contains(MailboxManager.SearchCapabilities.AttachmentFileName));


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