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

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

commit 627e3301dfa36f78a0438261c7eab00b0c4e99b2
Author: Rene Cordier <[email protected]>
AuthorDate: Fri Sep 27 16:56:49 2019 +0700

    JAMES-2078 Add integration tests for dynamic mappings behavior with ES
---
 .../ElasticSearchIntegrationTest.java              | 50 ++++++++++++++++++++++
 .../test/resources/eml/mailCustomDateHeader.eml    |  9 ++++
 .../test/resources/eml/mailCustomStringHeader.eml  |  9 ++++
 3 files changed, 68 insertions(+)

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 0b4f2be..2c30a29 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
@@ -51,6 +51,7 @@ import org.apache.james.mime4j.dom.Message;
 import org.elasticsearch.client.RestHighLevelClient;
 import org.junit.After;
 import org.junit.ClassRule;
+import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
 
@@ -218,4 +219,53 @@ public class ElasticSearchIntegrationTest extends 
AbstractMessageSearchIndexTest
         assertThat(messageManager.search(new 
SearchQuery(SearchQuery.bodyContains(reasonableLongTerm)), session))
             .containsExactly(composedMessageId.getUid());
     }
+
+    @Test
+    @Ignore("JAMES-2078 issue with dynamic mapping")
+    public void 
headerSearchShouldIncludeMessageWhenDifferentTypesOnAnIndexedField() throws 
Exception {
+        MailboxPath mailboxPath = MailboxPath.forUser(USERNAME, INBOX);
+        MailboxSession session = MailboxSessionUtil.create(USERNAME);
+        MessageManager messageManager = 
storeMailboxManager.getMailbox(mailboxPath, session);
+
+        ComposedMessageId customDateHeaderMessageId = 
messageManager.appendMessage(
+            MessageManager.AppendCommand.builder()
+                
.build(ClassLoader.getSystemResourceAsStream("eml/mailCustomDateHeader.eml")),
+            session);
+
+        elasticSearch.awaitForElasticSearch();
+
+        ComposedMessageId customStringHeaderMessageId = 
messageManager.appendMessage(
+            MessageManager.AppendCommand.builder()
+                
.build(ClassLoader.getSystemResourceAsStream("eml/mailCustomStringHeader.eml")),
+            session);
+
+        elasticSearch.awaitForElasticSearch();
+
+        assertThat(messageManager.search(new 
SearchQuery(SearchQuery.headerExists("Custom-header")), session))
+            .containsExactly(customDateHeaderMessageId.getUid(), 
customStringHeaderMessageId.getUid());
+    }
+
+    @Test
+    public void messageShouldStillBeIndexedEvenAfterOneFieldFailsIndexation() 
throws Exception {
+        MailboxPath mailboxPath = MailboxPath.forUser(USERNAME, INBOX);
+        MailboxSession session = MailboxSessionUtil.create(USERNAME);
+        MessageManager messageManager = 
storeMailboxManager.getMailbox(mailboxPath, session);
+
+        messageManager.appendMessage(
+            MessageManager.AppendCommand.builder()
+                
.build(ClassLoader.getSystemResourceAsStream("eml/mailCustomDateHeader.eml")),
+            session);
+
+        elasticSearch.awaitForElasticSearch();
+
+        ComposedMessageId customStringHeaderMessageId = 
messageManager.appendMessage(
+            MessageManager.AppendCommand.builder()
+                
.build(ClassLoader.getSystemResourceAsStream("eml/mailCustomStringHeader.eml")),
+            session);
+
+        elasticSearch.awaitForElasticSearch();
+
+        assertThat(messageManager.search(new SearchQuery(SearchQuery.all()), 
session))
+            .contains(customStringHeaderMessageId.getUid());
+    }
 }
\ No newline at end of file
diff --git 
a/mailbox/elasticsearch/src/test/resources/eml/mailCustomDateHeader.eml 
b/mailbox/elasticsearch/src/test/resources/eml/mailCustomDateHeader.eml
new file mode 100644
index 0000000..2f42d75
--- /dev/null
+++ b/mailbox/elasticsearch/src/test/resources/eml/mailCustomDateHeader.eml
@@ -0,0 +1,9 @@
+Content-Type: text/plain; Charset=UTF-8
+Subject: my subject test
+MIME-Version: 1.0
+Message-Id: <20100916151246.2A9384BA1@lenny>
+From: B <b@test>
+To: c@test
+Custom-header: 2015/09/02
+
+Mail content
diff --git 
a/mailbox/elasticsearch/src/test/resources/eml/mailCustomStringHeader.eml 
b/mailbox/elasticsearch/src/test/resources/eml/mailCustomStringHeader.eml
new file mode 100644
index 0000000..0abb9f8
--- /dev/null
+++ b/mailbox/elasticsearch/src/test/resources/eml/mailCustomStringHeader.eml
@@ -0,0 +1,9 @@
+Content-Type: text/plain; Charset=UTF-8
+Subject: subject
+MIME-Version: 1.0
+Message-Id: <20100916151246.2A9384BA1@lenny>
+From: a@test
+To: b@test
+Custom-header: custom header
+
+Mail content
\ No newline at end of file


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

Reply via email to