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 2016/07/19 13:39:05 UTC

[08/10] james-project git commit: JAMES-1799 Extract ListeningMessageSearchIndex tests from ES implementation

JAMES-1799 Extract ListeningMessageSearchIndex tests from ES implementation


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

Branch: refs/heads/master
Commit: d5b3a42cf079aa9ff61f4274fbb48005bd55b447
Parents: 635607f
Author: Antoine Duprat <ad...@linagora.com>
Authored: Wed Jul 13 14:28:28 2016 +0200
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Tue Jul 19 14:24:28 2016 +0200

----------------------------------------------------------------------
 .../ElasticSearchIntegrationTest.java           |  637 +-------
 .../MailboxMessageToElasticSearchJsonTest.java  |   30 +-
 .../src/test/resources/documents/frnog.eml      |   94 --
 .../src/test/resources/documents/htmlMail.eml   | 1489 ------------------
 .../src/test/resources/documents/htmlMail.json  |  162 --
 .../src/test/resources/documents/mail.eml       |   94 --
 .../src/test/resources/documents/mail.json      |  166 --
 .../src/test/resources/documents/mail1.eml      |   69 -
 .../src/test/resources/documents/mail2.eml      |   83 -
 .../src/test/resources/documents/mail3.eml      |   97 --
 .../src/test/resources/documents/mail4.eml      |   83 -
 .../src/test/resources/documents/nonTextual.eml |  196 ---
 .../test/resources/documents/nonTextual.json    |  157 --
 .../test/resources/documents/pgpSignedMail.eml  |  136 --
 .../test/resources/documents/pgpSignedMail.json |  173 --
 .../test/resources/documents/recursiveMail.eml  |   77 -
 .../test/resources/documents/recursiveMail.json |  223 ---
 .../src/test/resources/documents/spamMail.eml   |  143 --
 .../src/test/resources/documents/spamMail.json  |  201 ---
 .../search/AbstractMessageSearchIndexTest.java  |  655 ++++++++
 mailbox/store/src/test/resources/eml/frnog.eml  |   94 ++
 .../store/src/test/resources/eml/htmlMail.eml   | 1489 ++++++++++++++++++
 .../store/src/test/resources/eml/htmlMail.json  |  162 ++
 mailbox/store/src/test/resources/eml/mail.eml   |   94 ++
 mailbox/store/src/test/resources/eml/mail.json  |  166 ++
 mailbox/store/src/test/resources/eml/mail1.eml  |   69 +
 mailbox/store/src/test/resources/eml/mail2.eml  |   83 +
 mailbox/store/src/test/resources/eml/mail3.eml  |   97 ++
 mailbox/store/src/test/resources/eml/mail4.eml  |   83 +
 .../store/src/test/resources/eml/nonTextual.eml |  196 +++
 .../src/test/resources/eml/nonTextual.json      |  157 ++
 .../src/test/resources/eml/pgpSignedMail.eml    |  136 ++
 .../src/test/resources/eml/pgpSignedMail.json   |  173 ++
 .../src/test/resources/eml/recursiveMail.eml    |   77 +
 .../src/test/resources/eml/recursiveMail.json   |  223 +++
 .../store/src/test/resources/eml/spamMail.eml   |  143 ++
 .../store/src/test/resources/eml/spamMail.json  |  201 +++
 37 files changed, 4321 insertions(+), 4287 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/d5b3a42c/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIntegrationTest.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIntegrationTest.java b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIntegrationTest.java
index 7899b98..8467afd 100644
--- a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIntegrationTest.java
+++ b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIntegrationTest.java
@@ -19,15 +19,9 @@
 
 package org.apache.james.mailbox.elasticsearch;
 
-import static org.assertj.core.api.Assertions.assertThat;
-
 import java.time.ZoneId;
-import java.util.Date;
 import java.util.concurrent.Executors;
 
-import javax.mail.Flags;
-
-import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.acl.SimpleGroupMembershipResolver;
 import org.apache.james.mailbox.acl.UnionMailboxACLResolver;
 import org.apache.james.mailbox.elasticsearch.events.ElasticSearchListeningMessageSearchIndex;
@@ -36,33 +30,21 @@ import org.apache.james.mailbox.elasticsearch.query.CriterionConverter;
 import org.apache.james.mailbox.elasticsearch.query.QueryConverter;
 import org.apache.james.mailbox.elasticsearch.search.ElasticSearchSearcher;
 import org.apache.james.mailbox.elasticsearch.utils.TestingClientProvider;
-import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.mailbox.inmemory.InMemoryMailboxManager;
 import org.apache.james.mailbox.inmemory.InMemoryMailboxSessionMapperFactory;
-import org.apache.james.mailbox.model.MailboxPath;
-import org.apache.james.mailbox.model.SearchQuery;
 import org.apache.james.mailbox.store.JVMMailboxPathLocker;
 import org.apache.james.mailbox.store.MailboxSessionMapperFactory;
 import org.apache.james.mailbox.store.MockAuthenticator;
-import org.apache.james.mailbox.store.StoreMailboxManager;
-import org.apache.james.mailbox.store.StoreMessageManager;
 import org.apache.james.mailbox.store.extractor.DefaultTextExtractor;
-import org.apache.james.mailbox.store.mail.model.Mailbox;
 import org.apache.james.mailbox.store.mail.model.impl.MessageParser;
+import org.apache.james.mailbox.store.search.AbstractMessageSearchIndexTest;
 import org.elasticsearch.client.Client;
-import org.junit.Before;
 import org.junit.Rule;
-import org.junit.Test;
 import org.junit.rules.RuleChain;
 import org.junit.rules.TemporaryFolder;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
-import com.google.common.collect.Lists;
+public class ElasticSearchIntegrationTest extends AbstractMessageSearchIndexTest {
 
-public class ElasticSearchIntegrationTest {
-
-    private static final Logger LOGGER = LoggerFactory.getLogger(ElasticSearchIntegrationTest.class);
     private static final int BATCH_SIZE = 1;
     private static final int SEARCH_SIZE = 1;
 
@@ -72,104 +54,18 @@ public class ElasticSearchIntegrationTest {
     @Rule
     public RuleChain ruleChain = RuleChain.outerRule(temporaryFolder).around(embeddedElasticSearch);
 
-
-    private StoreMailboxManager storeMailboxManager;
-    private ElasticSearchListeningMessageSearchIndex elasticSearchListeningMessageSearchIndex;
-    private Mailbox mailbox;
-    private MailboxSession session;
-
-    @Before
-    public void setUp() throws Exception {
-        initializeMailboxManager();
-
-        session = storeMailboxManager.createSystemSession("benwa", LOGGER);
-
-        storeMailboxManager.createMailbox(new MailboxPath("#private", "benwa", "INBOX"), session);
-        StoreMessageManager messageManager = (StoreMessageManager) storeMailboxManager.getMailbox(new MailboxPath("#private", "benwa", "INBOX"), session);
-        mailbox = messageManager.getMailboxEntity();
-
-        // sentDate: Wed, 3 Jun 2015 09:05:46 +0000
-        // Internal date : 2014/01/02 00:00:00.000
-        messageManager.appendMessage(
-            ClassLoader.getSystemResourceAsStream("documents/spamMail.eml"),
-            new Date(1388617200000L),
-            session,
-            true,
-            new Flags(Flags.Flag.DELETED));
-        // sentDate: Thu, 4 Jun 2015 09:23:37 +0000
-        // Internal date : 2014/02/02 00:00:00.000
-        messageManager.appendMessage(
-            ClassLoader.getSystemResourceAsStream("documents/mail1.eml"),
-            new Date(1391295600000L),
-            session,
-            true,
-            new Flags(Flags.Flag.ANSWERED));
-        // sentDate: Thu, 4 Jun 2015 09:27:37 +0000
-        // Internal date : 2014/03/02 00:00:00.000
-        messageManager.appendMessage(
-            ClassLoader.getSystemResourceAsStream("documents/mail2.eml"),
-            new Date(1393714800000L),
-            session,
-            true,
-            new Flags(Flags.Flag.DRAFT));
-        // sentDate: Tue, 2 Jun 2015 08:16:19 +0000
-        // Internal date : 2014/05/02 00:00:00.000
-        messageManager.appendMessage(
-            ClassLoader.getSystemResourceAsStream("documents/mail3.eml"),
-            new Date(1398981600000L),
-            session,
-            true,
-            new Flags(Flags.Flag.RECENT));
-        // sentDate: Fri, 15 May 2015 06:35:59 +0000
-        // Internal date : 2014/04/02 00:00:00.000
-        messageManager.appendMessage(
-            ClassLoader.getSystemResourceAsStream("documents/mail4.eml"),
-            new Date(1396389600000L),
-            session,
-            true,
-            new Flags(Flags.Flag.FLAGGED));
-        // sentDate: Wed, 03 Jun 2015 19:14:32 +0000
-        // Internal date : 2014/06/02 00:00:00.000
-        messageManager.appendMessage(
-            ClassLoader.getSystemResourceAsStream("documents/pgpSignedMail.eml"),
-            new Date(1401660000000L),
-            session,
-            true,
-            new Flags(Flags.Flag.SEEN));
-        // sentDate: Thu, 04 Jun 2015 07:36:08 +0000
-        // Internal date : 2014/07/02 00:00:00.000
-        messageManager.appendMessage(
-            ClassLoader.getSystemResourceAsStream("documents/htmlMail.eml"),
-            new Date(1404252000000L),
-            session,
-            false,
-            new Flags());
-        // sentDate: Thu, 4 Jun 2015 06:08:41 +0200
-        // Internal date : 2014/08/02 00:00:00.000
-        messageManager.appendMessage(
-            ClassLoader.getSystemResourceAsStream("documents/mail.eml"),
-            new Date(1406930400000L),
-            session,
-            true,
-            new Flags("Hello"));
-        // sentDate: Tue, 2 Jun 2015 12:00:55 +0200
-        // Internal date : 2014/09/02 00:00:00.000
-        messageManager.appendMessage(
-            ClassLoader.getSystemResourceAsStream("documents/frnog.eml"),
-            new Date(1409608800000L),
-            session,
-            true,
-            new Flags("Hello you"));
-
+    @Override
+    protected void await() {
         embeddedElasticSearch.awaitForElasticSearch();
     }
 
-    private void initializeMailboxManager() throws Exception {
+    @Override
+    protected void initializeMailboxManager() throws Exception {
         Client client = NodeMappingFactory.applyMapping(
             IndexCreationFactory.createIndex(new TestingClientProvider(embeddedElasticSearch.getNode()).get())
         );
         MailboxSessionMapperFactory mapperFactory = new InMemoryMailboxSessionMapperFactory();
-        elasticSearchListeningMessageSearchIndex = new ElasticSearchListeningMessageSearchIndex(mapperFactory,
+        messageSearchIndex = new ElasticSearchListeningMessageSearchIndex(mapperFactory,
             new ElasticSearchIndexer(client, new DeleteByQueryPerformer(client, Executors.newSingleThreadExecutor(), BATCH_SIZE)),
             new ElasticSearchSearcher(client, new QueryConverter(new CriterionConverter()), SEARCH_SIZE),
             new MessageToElasticSearchJson(new DefaultTextExtractor(), ZoneId.of("Europe/Paris")));
@@ -180,524 +76,7 @@ public class ElasticSearchIntegrationTest {
             new UnionMailboxACLResolver(),
             new SimpleGroupMembershipResolver(),
             new MessageParser());
-        storeMailboxManager.setMessageSearchIndex(elasticSearchListeningMessageSearchIndex);
+        storeMailboxManager.setMessageSearchIndex(messageSearchIndex);
         storeMailboxManager.init();
     }
-
-    @Test
-    public void emptySearchQueryShouldReturnAllUids() throws MailboxException {
-        SearchQuery searchQuery = new SearchQuery();
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L);
-    }
-
-    @Test
-    public void allShouldReturnAllUids() throws MailboxException {
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(SearchQuery.all());
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L);
-    }
-
-    @Test
-    public void bodyContainsShouldReturnUidOfMessageContainingTheGivenText() throws MailboxException {
-        /*
-        Only mail4.eml contains word MAILET-94
-         */
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(SearchQuery.bodyContains("MAILET-94"));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(5L);
-    }
-
-    @Test
-    public void bodyContainsShouldReturnUidOfMessageContainingTheApproximativeText() throws MailboxException {
-        /*
-        mail1.eml contains words created AND summary
-        mail.eml contains created and thus matches the query with a low score
-         */
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(SearchQuery.bodyContains("created summary"));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(2L, 8L);
-    }
-
-    @Test
-    public void flagIsSetShouldReturnUidOfMessageMarkedAsDeletedWhenUsedWithFlagDeleted() throws MailboxException {
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(SearchQuery.flagIsSet(Flags.Flag.DELETED));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(1L);
-    }
-
-    @Test
-    public void flagIsSetShouldReturnUidOfMessageMarkedAsAnsweredWhenUsedWithFlagAnswered() throws MailboxException {
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(SearchQuery.flagIsSet(Flags.Flag.ANSWERED));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(2L);
-    }
-
-    @Test
-    public void flagIsSetShouldReturnUidOfMessageMarkedAsDraftWhenUsedWithFlagDraft() throws MailboxException {
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(SearchQuery.flagIsSet(Flags.Flag.DRAFT));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(3L);
-    }
-
-    @Test
-    public void flagIsSetShouldReturnUidOfMessageMarkedAsRecentWhenUsedWithFlagRecent() throws MailboxException {
-        // Only message 7 is not marked as RECENT
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(SearchQuery.flagIsSet(Flags.Flag.RECENT));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(1L, 2L, 3L, 4L, 5L, 6L, 8L, 9L);
-    }
-
-    @Test
-    public void flagIsSetShouldReturnUidOfMessageMarkedAsFlaggedWhenUsedWithFlagFlagged() throws MailboxException {
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(SearchQuery.flagIsSet(Flags.Flag.FLAGGED));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(5L);
-    }
-
-    @Test
-    public void flagIsSetShouldReturnUidOfMessageMarkedAsSeenWhenUsedWithFlagSeen() throws MailboxException {
-        // Only message 6 is marked as read.
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(SearchQuery.flagIsSet(Flags.Flag.SEEN));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(6L);
-    }
-
-    @Test
-    public void flagIsSetShouldReturnUidsOfMessageContainingAGivenUserFlag() throws MailboxException {
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(SearchQuery.flagIsSet("Hello"));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(8L);
-    }
-
-    @Test
-    public void userFlagsShouldBeMatchedExactly() throws MailboxException {
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(SearchQuery.flagIsSet("Hello bonjour"));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .isEmpty();
-    }
-
-    @Test
-    public void flagIsUnSetShouldReturnUidOfMessageNotMarkedAsDeletedWhenUsedWithFlagDeleted() throws MailboxException {
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(SearchQuery.flagIsUnSet(Flags.Flag.DELETED));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L);
-    }
-
-    @Test
-    public void flagIsUnSetShouldReturnUidOfMessageNotMarkedAsAnsweredWhenUsedWithFlagAnswered() throws MailboxException {
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(SearchQuery.flagIsUnSet(Flags.Flag.ANSWERED));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(1L, 3L, 4L, 5L, 6L, 7L, 8L, 9L);
-    }
-
-    @Test
-    public void flagIsUnSetShouldReturnUidOfMessageNotMarkedAsDraftWhenUsedWithFlagDraft() throws MailboxException {
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(SearchQuery.flagIsUnSet(Flags.Flag.DRAFT));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(1L, 2L, 4L, 5L, 6L, 7L, 8L, 9L);
-    }
-
-    @Test
-    public void flagIsUnSetShouldReturnUidOfMessageNotMarkedAsRecentWhenUsedWithFlagRecent() throws MailboxException {
-        // Only message 7 is not marked as RECENT
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(SearchQuery.flagIsUnSet(Flags.Flag.RECENT));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(7L);
-    }
-
-    @Test
-    public void flagIsUnSetShouldReturnUidOfMessageNotMarkedAsFlaggedWhenUsedWithFlagFlagged() throws MailboxException {
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(SearchQuery.flagIsUnSet(Flags.Flag.FLAGGED));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(1L, 2L, 3L, 4L, 6L, 7L, 8L, 9L);
-    }
-
-    @Test
-    public void flagIsUnSetShouldReturnUidOfMessageNotMarkedAsSeendWhenUsedWithFlagSeen() throws MailboxException {
-        // Only message 6 is marked as read.
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(SearchQuery.flagIsUnSet(Flags.Flag.SEEN));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(1L, 2L, 3L, 4L, 5L, 7L, 8L, 9L);
-    }
-
-    @Test
-    public void flagIsUnSetShouldReturnUidsOfMessageNotContainingAGivenUserFlag() throws MailboxException {
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(SearchQuery.flagIsUnSet("Hello"));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(1L, 2L, 3L, 4L, 5L, 6L, 7L,  9L);
-    }
-
-    @Test
-    public void internalDateAfterShouldReturnMessagesAfterAGivenDate() throws Exception {
-        SearchQuery searchQuery = new SearchQuery();
-        // Date : 2014/07/02 00:00:00.000 ( Paris time zone )
-        searchQuery.andCriteria(SearchQuery.internalDateAfter(new Date(1404252000000L), SearchQuery.DateResolution.Day));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(7L, 8L, 9L);
-    }
-
-    @Test
-    public void internalDateBeforeShouldReturnMessagesBeforeAGivenDate() throws Exception {
-        SearchQuery searchQuery = new SearchQuery();
-        // Date : 2014/02/02 00:00:00.000 ( Paris time zone )
-        searchQuery.andCriteria(SearchQuery.internalDateBefore(new Date(1391295600000L), SearchQuery.DateResolution.Day));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(1L, 2L);
-    }
-
-    @Test
-    public void internalDateOnShouldReturnMessagesOfTheGivenDate() throws Exception {
-        SearchQuery searchQuery = new SearchQuery();
-        // Date : 2014/03/02 00:00:00.000 ( Paris time zone )
-        searchQuery.andCriteria(SearchQuery.internalDateOn(new Date(1393714800000L), SearchQuery.DateResolution.Day));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(3L);
-    }
-
-    @Test
-    public void modSeqEqualsShouldReturnUidsOfMessageHavingAGivenModSeq() throws Exception {
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(SearchQuery.modSeqEquals(2L));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(2L);
-    }
-
-    @Test
-    public void modSeqGreaterThanShouldReturnUidsOfMessageHavingAGreaterModSeq() throws Exception {
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(SearchQuery.modSeqGreaterThan(7L));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(7L, 8L, 9L);
-    }
-
-    @Test
-    public void modSeqLessThanShouldReturnUidsOfMessageHavingAGreaterModSeq() throws Exception {
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(SearchQuery.modSeqLessThan(3L));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(1L, 2L, 3L);
-    }
-
-    @Test
-    public void sizeGreaterThanShouldReturnUidsOfMessageExceedingTheSpecifiedSize() throws Exception {
-        // Only message 7 is over 10 KB
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(SearchQuery.sizeGreaterThan(10000L));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(7L);
-    }
-
-    @Test
-    public void sizeLessThanShouldReturnUidsOfMessageNotExceedingTheSpecifiedSize() throws Exception {
-        // Only message 2 3 4 5 9 are under 5 KB
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(SearchQuery.sizeLessThan(5000L));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(2L, 3L, 4L, 5L, 9L);
-    }
-
-    @Test
-    public void headerContainsShouldReturnUidsOfMessageHavingThisHeaderWithTheSpecifiedValue() throws Exception {
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(SearchQuery.headerContains("Precedence", "list"));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(1L, 6L, 8L, 9L);
-    }
-
-    @Test
-    public void headerExistsShouldReturnUidsOfMessageHavingThisHeader() throws Exception {
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(SearchQuery.headerExists("Precedence"));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(1L, 2L, 3L, 4L, 5L, 6L, 8L, 9L);
-    }
-
-    @Test
-    public void addressShouldReturnUidHavingRightExpeditorWhenFromIsSpecified() throws Exception {
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(SearchQuery.address(SearchQuery.AddressType.From, "murari.ksr@gmail.com"));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(8L);
-    }
-
-    @Test
-    public void addressShouldReturnUidHavingRightRecipientWhenToIsSpecified() throws Exception {
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(SearchQuery.address(SearchQuery.AddressType.To, "root@listes.minet.net"));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(1L);
-    }
-
-    @Test
-    public void addressShouldReturnUidHavingRightRecipientWhenCcIsSpecified() throws Exception {
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(SearchQuery.address(SearchQuery.AddressType.Cc, "any@any.com"));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(5L);
-    }
-
-    @Test
-    public void addressShouldReturnUidHavingRightRecipientWhenBccIsSpecified() throws Exception {
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(SearchQuery.address(SearchQuery.AddressType.Bcc, "no@no.com"));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(9L);
-    }
-
-    @Test
-    public void uidShouldreturnExistingUidsOnTheGivenRanges() throws Exception {
-        SearchQuery searchQuery = new SearchQuery();
-        SearchQuery.NumericRange[] numericRanges = {new SearchQuery.NumericRange(2L, 4L), new SearchQuery.NumericRange(6L, 7L)};
-        searchQuery.andCriteria(SearchQuery.uid(numericRanges));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(2L, 3L, 4L, 6L, 7L);
-    }
-
-    @Test
-    public void uidShouldreturnEveryThing() throws Exception {
-        SearchQuery searchQuery = new SearchQuery();
-        SearchQuery.NumericRange[] numericRanges = {};
-        searchQuery.andCriteria(SearchQuery.uid(numericRanges));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L);
-    }
-
-    @Test
-    public void youShouldBeAbleToSpecifySeveralCriterionOnASingleQuery() throws Exception {
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(SearchQuery.headerExists("Precedence"));
-        searchQuery.andCriteria(SearchQuery.modSeqGreaterThan(6L));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(6L, 8L, 9L);
-    }
-
-    @Test
-    public void andShouldReturnResultsMatchingBothRequests() throws Exception {
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(
-            SearchQuery.and(
-                SearchQuery.headerExists("Precedence"),
-                SearchQuery.modSeqGreaterThan(6L)));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(6L, 8L, 9L);
-    }
-
-    @Test
-    public void orShouldReturnResultsMatchinganyRequests() throws Exception {
-        SearchQuery.NumericRange[] numericRanges = {new SearchQuery.NumericRange(2L, 4L)};
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(
-            SearchQuery.or(
-                SearchQuery.uid(numericRanges),
-                SearchQuery.modSeqGreaterThan(6L)));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(2L, 3L, 4L, 6L, 7L, 8L, 9L);
-    }
-
-    @Test
-    public void notShouldReturnResultsThatDoNotMatchAQuery() throws Exception {
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(
-            SearchQuery.not(SearchQuery.headerExists("Precedence")));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(7L);
-    }
-
-    @Test
-    public void sortShouldOrderMessages() throws Exception {
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(SearchQuery.all());
-        searchQuery.setSorts(Lists.newArrayList(new SearchQuery.Sort(SearchQuery.Sort.SortClause.Arrival)));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsExactly(1L, 2L, 3L, 5L, 4L, 6L, 7L, 8L, 9L);
-    }
-
-    @Test
-    public void revertSortingShouldReturnElementsInAReversedOrder() throws Exception {
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(SearchQuery.all());
-        searchQuery.setSorts(Lists.newArrayList(new SearchQuery.Sort(SearchQuery.Sort.SortClause.Arrival, true)));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsExactly(9L, 8L, 7L, 6L, 4L, 5L, 3L, 2L, 1L);
-    }
-
-    @Test
-    public void headerDateAfterShouldWork() throws Exception {
-        SearchQuery searchQuery = new SearchQuery();
-        // Date : 2015/06/04 11:00:00.000 ( Paris time zone )
-        searchQuery.andCriteria(SearchQuery.headerDateAfter("sentDate", new Date(1433408400000L), SearchQuery.DateResolution.Second));
-        searchQuery.setSorts(Lists.newArrayList(new SearchQuery.Sort(SearchQuery.Sort.SortClause.Arrival, true)));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(3L, 2L);
-    }
-
-    @Test
-    public void headerDateBeforeShouldWork() throws Exception {
-        SearchQuery searchQuery = new SearchQuery();
-        // Date : 2015/06/01 00:00:00.000 ( Paris time zone )
-        searchQuery.andCriteria(SearchQuery.headerDateBefore("sentDate", new Date(1433109600000L), SearchQuery.DateResolution.Day));
-        searchQuery.setSorts(Lists.newArrayList(new SearchQuery.Sort(SearchQuery.Sort.SortClause.Arrival, true)));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(5L);
-    }
-
-    @Test
-    public void headerDateOnShouldWork() throws Exception {
-        SearchQuery searchQuery = new SearchQuery();
-        // Date : 2015/06/02 08:00:00.000 ( Paris time zone )
-        searchQuery.andCriteria(SearchQuery.headerDateOn("sentDate", new Date(1433224800000L), SearchQuery.DateResolution.Day));
-        searchQuery.setSorts(Lists.newArrayList(new SearchQuery.Sort(SearchQuery.Sort.SortClause.Arrival, true)));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(4L, 9L);
-    }
-
-    @Test
-    public void mailsContainsShouldIncludeMailHavingAttachmentsMatchingTheRequest() throws Exception {
-        SearchQuery searchQuery = new SearchQuery();
-        searchQuery.andCriteria(SearchQuery.mailContains("root mailing list"));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsOnly(1L, 6L);
-    }
-
-    @Test
-    public void sortOnCcShouldWork() throws Exception {
-        SearchQuery searchQuery = new SearchQuery();
-        SearchQuery.NumericRange[] numericRanges = {new SearchQuery.NumericRange(2L, 5L)};
-        searchQuery.andCriteria(SearchQuery.uid(numericRanges));
-        searchQuery.setSorts(Lists.newArrayList(new SearchQuery.Sort(SearchQuery.Sort.SortClause.MailboxCc)));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsExactly(3L, 5L, 4L, 2L);
-        // 2 : No cc
-        // 3 : Cc : abc@abc.org
-        // 4 : zzz@bcd.org
-        // 5 : any@any.com
-    }
-
-    @Test
-    public void sortOnFromShouldWork() throws Exception {
-        SearchQuery searchQuery = new SearchQuery();
-        SearchQuery.NumericRange[] numericRanges = {new SearchQuery.NumericRange(2L, 5L)};
-        searchQuery.andCriteria(SearchQuery.uid(numericRanges));
-        searchQuery.setSorts(Lists.newArrayList(new SearchQuery.Sort(SearchQuery.Sort.SortClause.MailboxFrom)));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsExactly(3L, 2L, 4L, 5L);
-        // 2 : jira2@apache.org
-        // 3 : jira1@apache.org
-        // 4 : jira@apache.org
-        // 5 : mailet-api@james.apache.org
-    }
-
-    @Test
-    public void sortOnToShouldWork() throws Exception {
-        SearchQuery searchQuery = new SearchQuery();
-        SearchQuery.NumericRange[] numericRanges = {new SearchQuery.NumericRange(2L, 5L)};
-        searchQuery.andCriteria(SearchQuery.uid(numericRanges));
-        searchQuery.setSorts(Lists.newArrayList(new SearchQuery.Sort(SearchQuery.Sort.SortClause.MailboxTo)));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsExactly(5L, 2L, 3L, 4L);
-        // 2 : server-dev@james.apache.org
-        // 3 : server-dev@james.apache.org
-        // 4 : server-dev@james.apache.org
-        // 5 : mailet-api@james.apache.org
-    }
-
-    @Test
-    public void sortOnSubjectShouldWork() throws Exception {
-        SearchQuery searchQuery = new SearchQuery();
-        SearchQuery.NumericRange[] numericRanges = {new SearchQuery.NumericRange(2L, 5L)};
-        searchQuery.andCriteria(SearchQuery.uid(numericRanges));
-        searchQuery.setSorts(Lists.newArrayList(new SearchQuery.Sort(SearchQuery.Sort.SortClause.BaseSubject)));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsExactly(4L, 3L, 2L, 5L);
-        // 2 : [jira] [Created] (MAILBOX-234) Convert Message into JSON
-        // 3 : [jira] [Closed] (MAILBOX-217) We should index attachment in elastic search
-        // 4 : [jira] [Closed] (MAILBOX-11) MailboxQuery ignore namespace
-        // 5 : [jira] [Resolved] (MAILET-94) James Mailet should use latest version of other James subprojects
-    }
-
-    @Test
-    public void sortOnSizeShouldWork() throws Exception {
-        SearchQuery searchQuery = new SearchQuery();
-        SearchQuery.NumericRange[] numericRanges = {new SearchQuery.NumericRange(2L, 5L)};
-        searchQuery.andCriteria(SearchQuery.uid(numericRanges));
-        searchQuery.setSorts(Lists.newArrayList(new SearchQuery.Sort(SearchQuery.Sort.SortClause.Size)));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsExactly(2L, 3L, 5L, 4L);
-        // 2 : 3210 o
-        // 3 : 3647 o
-        // 4 : 4360 o
-        // 5 : 3653 o
-    }
-
-    @Test
-    public void sortOnDisplayFromShouldWork() throws Exception {
-        SearchQuery searchQuery = new SearchQuery();
-        SearchQuery.NumericRange[] numericRanges = {new SearchQuery.NumericRange(2L, 5L)};
-        searchQuery.andCriteria(SearchQuery.uid(numericRanges));
-        searchQuery.setSorts(Lists.newArrayList(new SearchQuery.Sort(SearchQuery.Sort.SortClause.DisplayFrom)));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsExactly(4L, 3L, 5L, 2L);
-        // 2 : Tellier Benoit (JIRA)
-        // 3 : efij
-        // 4 : abcd
-        // 5 : Eric Charles (JIRA)
-    }
-
-    @Test
-    public void sortOnDisplayToShouldWork() throws Exception {
-        SearchQuery searchQuery = new SearchQuery();
-        SearchQuery.NumericRange[] numericRanges = {new SearchQuery.NumericRange(2L, 5L)};
-        searchQuery.andCriteria(SearchQuery.uid(numericRanges));
-        searchQuery.setSorts(Lists.newArrayList(new SearchQuery.Sort(SearchQuery.Sort.SortClause.DisplayTo)));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsExactly(3L, 2L, 4L, 5L);
-        // 2 : abc
-        // 3 : aaa
-        // 4 : server
-        // 5 : zzz
-    }
-
-    @Test
-    public void sortOnSentDateShouldWork() throws Exception {
-        SearchQuery searchQuery = new SearchQuery();
-        SearchQuery.NumericRange[] numericRanges = {new SearchQuery.NumericRange(2L, 5L)};
-        searchQuery.andCriteria(SearchQuery.uid(numericRanges));
-        searchQuery.setSorts(Lists.newArrayList(new SearchQuery.Sort(SearchQuery.Sort.SortClause.SentDate)));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsExactly(5L, 4L, 2L, 3L);
-        // 2 : 4 Jun 2015 09:23:37
-        // 3 : 4 Jun 2015 09:27:37
-        // 4 : 2 Jun 2015 08:16:19
-        // 5 : 15 May 2015 06:35:59
-    }
-
-    @Test
-    public void sortOnIdShouldWork() throws Exception {
-        SearchQuery searchQuery = new SearchQuery();
-        SearchQuery.NumericRange[] numericRanges = {new SearchQuery.NumericRange(2L, 5L)};
-        searchQuery.andCriteria(SearchQuery.uid(numericRanges));
-        searchQuery.setSorts(Lists.newArrayList(new SearchQuery.Sort(SearchQuery.Sort.SortClause.Uid)));
-        assertThat(elasticSearchListeningMessageSearchIndex.search(session, mailbox, searchQuery))
-            .containsExactly(2L, 3L, 4L, 5L);
-    }
-
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/d5b3a42c/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/MailboxMessageToElasticSearchJsonTest.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/MailboxMessageToElasticSearchJsonTest.java b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/MailboxMessageToElasticSearchJsonTest.java
index c6f12e2..da899ea 100644
--- a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/MailboxMessageToElasticSearchJsonTest.java
+++ b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/MailboxMessageToElasticSearchJsonTest.java
@@ -76,14 +76,14 @@ public class MailboxMessageToElasticSearchJsonTest {
         MailboxMessage spamMail = new SimpleMailboxMessage(date,
             SIZE,
             BODY_START_OCTET,
-            new SharedByteArrayInputStream(IOUtils.toByteArray(ClassLoader.getSystemResourceAsStream("documents/spamMail.eml"))),
+            new SharedByteArrayInputStream(IOUtils.toByteArray(ClassLoader.getSystemResourceAsStream("eml/spamMail.eml"))),
             new Flags(),
             propertyBuilder,
             MAILBOX_ID);
         spamMail.setModSeq(MOD_SEQ);
         assertThatJson(messageToElasticSearchJson.convertToJson(spamMail))
             .when(IGNORING_ARRAY_ORDER)
-            .isEqualTo(IOUtils.toString(ClassLoader.getSystemResource("documents/spamMail.json"), CHARSET));
+            .isEqualTo(IOUtils.toString(ClassLoader.getSystemResource("eml/spamMail.json"), CHARSET));
     }
 
     @Test
@@ -94,7 +94,7 @@ public class MailboxMessageToElasticSearchJsonTest {
         MailboxMessage htmlMail = new SimpleMailboxMessage(date,
             SIZE,
             BODY_START_OCTET,
-            new SharedByteArrayInputStream(IOUtils.toByteArray(ClassLoader.getSystemResourceAsStream("documents/htmlMail.eml"))),
+            new SharedByteArrayInputStream(IOUtils.toByteArray(ClassLoader.getSystemResourceAsStream("eml/htmlMail.eml"))),
             new FlagsBuilder().add(Flags.Flag.DELETED, Flags.Flag.SEEN).add("social", "pocket-money").build(),
             propertyBuilder,
             MAILBOX_ID);
@@ -102,7 +102,7 @@ public class MailboxMessageToElasticSearchJsonTest {
         htmlMail.setUid(UID);
         assertThatJson(messageToElasticSearchJson.convertToJson(htmlMail))
             .when(IGNORING_ARRAY_ORDER)
-            .isEqualTo(IOUtils.toString(ClassLoader.getSystemResource("documents/htmlMail.json")));
+            .isEqualTo(IOUtils.toString(ClassLoader.getSystemResource("eml/htmlMail.json")));
     }
 
     @Test
@@ -113,7 +113,7 @@ public class MailboxMessageToElasticSearchJsonTest {
         MailboxMessage pgpSignedMail = new SimpleMailboxMessage(date,
             SIZE,
             BODY_START_OCTET,
-            new SharedByteArrayInputStream(IOUtils.toByteArray(ClassLoader.getSystemResourceAsStream("documents/pgpSignedMail.eml"))),
+            new SharedByteArrayInputStream(IOUtils.toByteArray(ClassLoader.getSystemResourceAsStream("eml/pgpSignedMail.eml"))),
             new FlagsBuilder().add(Flags.Flag.DELETED, Flags.Flag.SEEN).add("debian", "security").build(),
             propertyBuilder,
             MAILBOX_ID);
@@ -121,7 +121,7 @@ public class MailboxMessageToElasticSearchJsonTest {
         pgpSignedMail.setUid(UID);
         assertThatJson(messageToElasticSearchJson.convertToJson(pgpSignedMail))
             .when(IGNORING_ARRAY_ORDER)
-            .isEqualTo(IOUtils.toString(ClassLoader.getSystemResource("documents/pgpSignedMail.json")));
+            .isEqualTo(IOUtils.toString(ClassLoader.getSystemResource("eml/pgpSignedMail.json")));
     }
 
     @Test
@@ -132,7 +132,7 @@ public class MailboxMessageToElasticSearchJsonTest {
         MailboxMessage mail = new SimpleMailboxMessage(date,
             SIZE,
             BODY_START_OCTET,
-            new SharedByteArrayInputStream(IOUtils.toByteArray(ClassLoader.getSystemResourceAsStream("documents/mail.eml"))),
+            new SharedByteArrayInputStream(IOUtils.toByteArray(ClassLoader.getSystemResourceAsStream("eml/mail.eml"))),
             new FlagsBuilder().add(Flags.Flag.DELETED, Flags.Flag.SEEN).add("debian", "security").build(),
             propertyBuilder,
             MAILBOX_ID);
@@ -140,7 +140,7 @@ public class MailboxMessageToElasticSearchJsonTest {
         mail.setUid(UID);
         assertThatJson(messageToElasticSearchJson.convertToJson(mail))
             .when(IGNORING_ARRAY_ORDER).when(IGNORING_VALUES)
-            .isEqualTo(IOUtils.toString(ClassLoader.getSystemResource("documents/mail.json")));
+            .isEqualTo(IOUtils.toString(ClassLoader.getSystemResource("eml/mail.json")));
     }
 
     @Test
@@ -151,7 +151,7 @@ public class MailboxMessageToElasticSearchJsonTest {
         MailboxMessage recursiveMail = new SimpleMailboxMessage(date,
             SIZE,
             BODY_START_OCTET,
-            new SharedByteArrayInputStream(IOUtils.toByteArray(ClassLoader.getSystemResourceAsStream("documents/recursiveMail.eml"))),
+            new SharedByteArrayInputStream(IOUtils.toByteArray(ClassLoader.getSystemResourceAsStream("eml/recursiveMail.eml"))),
             new FlagsBuilder().add(Flags.Flag.DELETED, Flags.Flag.SEEN).add("debian", "security").build(),
             propertyBuilder,
             MAILBOX_ID);
@@ -159,7 +159,7 @@ public class MailboxMessageToElasticSearchJsonTest {
         recursiveMail.setUid(UID);
         assertThatJson(messageToElasticSearchJson.convertToJson(recursiveMail))
             .when(IGNORING_ARRAY_ORDER).when(IGNORING_VALUES)
-            .isEqualTo(IOUtils.toString(ClassLoader.getSystemResource("documents/recursiveMail.json")));
+            .isEqualTo(IOUtils.toString(ClassLoader.getSystemResource("eml/recursiveMail.json")));
     }
 
     @Test
@@ -170,7 +170,7 @@ public class MailboxMessageToElasticSearchJsonTest {
         MailboxMessage mailWithNoInternalDate = new SimpleMailboxMessage(null,
             SIZE,
             BODY_START_OCTET,
-            new SharedByteArrayInputStream(IOUtils.toByteArray(ClassLoader.getSystemResourceAsStream("documents/recursiveMail.eml"))),
+            new SharedByteArrayInputStream(IOUtils.toByteArray(ClassLoader.getSystemResourceAsStream("eml/recursiveMail.eml"))),
             new FlagsBuilder().add(Flags.Flag.DELETED, Flags.Flag.SEEN).add("debian", "security").build(),
             propertyBuilder,
             MAILBOX_ID);
@@ -179,7 +179,7 @@ public class MailboxMessageToElasticSearchJsonTest {
         assertThatJson(messageToElasticSearchJson.convertToJson(mailWithNoInternalDate))
             .when(IGNORING_ARRAY_ORDER)
             .when(IGNORING_VALUES)
-            .isEqualTo(IOUtils.toString(ClassLoader.getSystemResource("documents/recursiveMail.json")));
+            .isEqualTo(IOUtils.toString(ClassLoader.getSystemResource("eml/recursiveMail.json")));
     }
 
     @Test(expected = NullPointerException.class)
@@ -192,7 +192,7 @@ public class MailboxMessageToElasticSearchJsonTest {
             mailWithNoMailboxId = new SimpleMailboxMessage(date,
                 SIZE,
                 BODY_START_OCTET,
-                new SharedByteArrayInputStream(IOUtils.toByteArray(ClassLoader.getSystemResourceAsStream("documents/recursiveMail.eml"))),
+                new SharedByteArrayInputStream(IOUtils.toByteArray(ClassLoader.getSystemResourceAsStream("eml/recursiveMail.eml"))),
                 new FlagsBuilder().add(Flags.Flag.DELETED, Flags.Flag.SEEN).add("debian", "security").build(),
                 propertyBuilder,
                 null);
@@ -238,14 +238,14 @@ public class MailboxMessageToElasticSearchJsonTest {
         MailboxMessage spamMail = new SimpleMailboxMessage(date,
             SIZE,
             BODY_START_OCTET,
-            new SharedByteArrayInputStream(IOUtils.toByteArray(ClassLoader.getSystemResourceAsStream("documents/nonTextual.eml"))),
+            new SharedByteArrayInputStream(IOUtils.toByteArray(ClassLoader.getSystemResourceAsStream("eml/nonTextual.eml"))),
             new Flags(),
             propertyBuilder,
             MAILBOX_ID);
         spamMail.setModSeq(MOD_SEQ);
         assertThatJson(messageToElasticSearchJson.convertToJson(spamMail))
             .when(IGNORING_ARRAY_ORDER)
-            .isEqualTo(IOUtils.toString(ClassLoader.getSystemResource("documents/nonTextual.json"), CHARSET));
+            .isEqualTo(IOUtils.toString(ClassLoader.getSystemResource("eml/nonTextual.json"), CHARSET));
     }
 
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/d5b3a42c/mailbox/elasticsearch/src/test/resources/documents/frnog.eml
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/test/resources/documents/frnog.eml b/mailbox/elasticsearch/src/test/resources/documents/frnog.eml
deleted file mode 100644
index 505fbde..0000000
--- a/mailbox/elasticsearch/src/test/resources/documents/frnog.eml
+++ /dev/null
@@ -1,94 +0,0 @@
-Return-Path: <fr...@frnog.org>
-Received: from mx2.minet.net (mx2.minet.net [192.168.102.26])
-	 by imap (Cyrus v2.4.16-Debian-2.4.16-4+deb7u1) with LMTPA;
-	 Tue, 02 Jun 2015 12:01:42 +0200
-X-Sieve: CMU Sieve 2.4
-Received: from localhost (spam.minet.net [192.168.102.97])
-	by mx2.minet.net (Postfix) with ESMTP id E92F2A25320
-	for <be...@minet.net>; Tue,  2 Jun 2015 12:01:46 +0200 (CEST)
-X-Virus-Scanned: by amavisd-new using ClamAV at minet.net
-X-Spam-Flag: NO
-X-Spam-Score: -1.499
-X-Spam-Level:
-X-Spam-Status: No, score=-1.499 required=1 tests=[BAYES_00=-1.5,
-	UNPARSEABLE_RELAY=0.001] autolearn=ham
-Received: from mx2.minet.net ([IPv6:::ffff:192.168.102.26])
-	by localhost (spam.minet.net [::ffff:192.168.102.97]) (amavisd-new, port 10024)
-	with ESMTP id bRNLR9Tbk4Jg for <be...@minet.net>;
-	Tue,  2 Jun 2015 10:01:46 +0000 (UTC)
-Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=217.24.82.4; helo=cabale.usenet-fr.net; envelope-from=frnog-owner@frnog.org; receiver=benwa@minet.net
-Received: from cabale.usenet-fr.net (cabale.usenet-fr.net [217.24.82.4])
-	by mx2.minet.net (Postfix) with ESMTP id 089E7A2531A
-	for <be...@minet.net>; Tue,  2 Jun 2015 12:01:45 +0200 (CEST)
-Received: by cabale.usenet-fr.net (Postfix, from userid 90)
-	id A267298A5DC6; Tue,  2 Jun 2015 12:01:44 +0200 (CEST)
-X-Original-To: frnog@frnog.org
-Delivered-To: frnog@frnog.org
-Received: from mta.mail.waycom.net (mta.mail.waycom.net [194.177.32.18])
-	by cabale.usenet-fr.net (Postfix) with ESMTP id AE2E798A58FC
-	for <fr...@frnog.org>; Tue,  2 Jun 2015 12:01:01 +0200 (CEST)
-Received: from [127.0.0.1] (localhost [127.0.0.1])
-	by mta.mail.waycom.net (Postfix) with ESMTP id D30D6567E1
-	for <fr...@frnog.org>; Tue,  2 Jun 2015 12:00:56 +0200 (CEST)
-Received: from [127.0.0.1] (localhost [127.0.0.1])
- wcm-hv1-exch1.wcmnoc.local (2002:c3d6:f04a::c3d6:f04a) with Microsoft SMTP
- Server (TLS) id 15.0.847.32; Tue, 2 Jun 2015 12:00:56 +0200
-Message-ID: <55...@waycom.net>
-Date: Tue, 2 Jun 2015 12:00:55 +0200
-From: Guillaume Genty <gg...@waycom.net>
-Organization: Waycom
-MIME-Version: 1.0
-To: <fr...@frnog.org>
-Cc: no@no.com
-Bcc: no@no.com
-Content-Type: text/plain; charset="utf-8"; format=flowed
-Content-Transfer-Encoding: 8bit
-X-ClientProxiedBy: WCM-HV1-EXCH1.wcmnoc.local (2002:c3d6:f04a::c3d6:f04a) To
- wcm-hv1-exch1.wcmnoc.local (2002:c3d6:f04a::c3d6:f04a)
-X-C2ProcessedOrg: 9180093e-3f32-48c9-b36b-0805cbe4c266
-Subject: [FRnOG] [BIZ] Collecte de liens C2E/CELAN en DOM
-X-Loop: frnog@frnog.org
-X-Sequence: 5349
-Errors-to: frnog-owner@frnog.org
-Precedence: list
-Precedence: bulk
-Sender: frnog-request@frnog.org
-X-mailing-list: frnog@frnog.org
-List-Id: <frnog.frnog.org>
-List-Archive: <http://sympa.frnog.org/wss/arc/frnog>
-List-Help: <mailto:sympa@frnog.org?subject=help>
-List-Owner: <ma...@frnog.org>
-List-Post: <ma...@frnog.org>
-List-Subscribe: <mailto:sympa@frnog.org?subject=subscribe%20frnog>
-List-Unsubscribe: <mailto:sympa@frnog.org?subject=unsubscribe%20frnog>
-
-Bonjour le FRnOG,
-
-
-Je cherche un partenaire dans les DOM avec de la collecte C2E et/ou
-CELAN capable de revendre des liens et de remonter le trafic (en niveau
-2, L2TP ou PPP sur L2TP) en métropole, idéalement �  TH2.
-
-Nous aurions besoin des DOM suivants:
-- Guadeloupe
-- Martinique
-- Guyane
-- La Réunion
-(Toutes les plaques DOM sauf îles du nord)
-
-Merci d'avance !
-
-
-Cordialement,
-
---
-Guillaume Genty | WAYCOM
-Directeur Technique Adjoint
-24-28 Avenue du Général de Gaulle | F-92150 Suresnes, FRANCE
-T. : +33 (0)1 41 44 83 00 | F. : +33 (0)1 41 44 00 22
-ggenty@waycom.net | www.waycom.net
-
-
----------------------------
-Liste de diffusion du FRnOG
-http://www.frnog.org/


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