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 <[email protected]> Authored: Wed Jul 13 14:28:28 2016 +0200 Committer: Antoine Duprat <[email protected]> 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, "[email protected]")); - 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, "[email protected]")); - 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, "[email protected]")); - 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, "[email protected]")); - 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 : [email protected] - // 4 : [email protected] - // 5 : [email protected] - } - - @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 : [email protected] - // 3 : [email protected] - // 4 : [email protected] - // 5 : [email protected] - } - - @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 : [email protected] - // 3 : [email protected] - // 4 : [email protected] - // 5 : [email protected] - } - - @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: <[email protected]> -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 <[email protected]>; 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 <[email protected]>; - 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; [email protected]; [email protected] -Received: from cabale.usenet-fr.net (cabale.usenet-fr.net [217.24.82.4]) - by mx2.minet.net (Postfix) with ESMTP id 089E7A2531A - for <[email protected]>; 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: [email protected] -Delivered-To: [email protected] -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 <[email protected]>; 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 <[email protected]>; 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: <[email protected]> -Date: Tue, 2 Jun 2015 12:00:55 +0200 -From: Guillaume Genty <[email protected]> -Organization: Waycom -MIME-Version: 1.0 -To: <[email protected]> -Cc: [email protected] -Bcc: [email protected] -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: [email protected] -X-Sequence: 5349 -Errors-to: [email protected] -Precedence: list -Precedence: bulk -Sender: [email protected] -X-mailing-list: [email protected] -List-Id: <frnog.frnog.org> -List-Archive: <http://sympa.frnog.org/wss/arc/frnog> -List-Help: <mailto:[email protected]?subject=help> -List-Owner: <mailto:[email protected]> -List-Post: <mailto:[email protected]> -List-Subscribe: <mailto:[email protected]?subject=subscribe%20frnog> -List-Unsubscribe: <mailto:[email protected]?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 [email protected] | www.waycom.net - - ---------------------------- -Liste de diffusion du FRnOG -http://www.frnog.org/ --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
