You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by bt...@apache.org on 2020/10/28 04:53:34 UTC
[james-project] 09/10: MAILBOX-401 Demonstrate '-' causes address
matching to fail
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 05a38ba764e990683a1126f897612e8e41f0ec3a
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Wed Oct 28 08:50:53 2020 +0700
MAILBOX-401 Demonstrate '-' causes address matching to fail
---
.../ElasticSearchIntegrationTest.java | 97 ++++++++++++++++++++++
1 file changed, 97 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 043a3dc..46eb518 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.metrics.tests.RecordingMetricFactory;
import org.apache.james.mime4j.dom.Message;
import org.apache.james.mime4j.stream.RawField;
import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.RegisterExtension;
@@ -292,4 +293,100 @@ class ElasticSearchIntegrationTest extends AbstractMessageSearchIndexTest {
assertThat(messageManager.search(SearchQuery.of(SearchQuery.address(SearchQuery.AddressType.To, "bob@other.tld")), session))
.containsOnly(messageId2.getUid());
}
+
+ @Disabled("MAILBOX-401 '-' causes address matching to fail")
+ @Test
+ void localPartShouldBeMatchedWhenHyphen() throws Exception {
+ MailboxPath mailboxPath = MailboxPath.forUser(USERNAME, INBOX);
+ MailboxSession session = MailboxSessionUtil.create(USERNAME);
+ MessageManager messageManager = storeMailboxManager.getMailbox(mailboxPath, session);
+
+ Message.Builder messageBuilder = Message.Builder
+ .of()
+ .setSubject("test")
+ .setBody("testmail", StandardCharsets.UTF_8);
+
+ ComposedMessageId messageId1 = messageManager.appendMessage(
+ MessageManager.AppendCommand.builder().build(
+ messageBuilder
+ .addField(new RawField("To", "alice-test@domain.tld"))
+ .build()),
+ session).getId();
+
+ ComposedMessageId messageId2 = messageManager.appendMessage(
+ MessageManager.AppendCommand.builder().build(
+ messageBuilder
+ .addField(new RawField("To", "bob@other.tld"))
+ .build()),
+ session).getId();
+
+ elasticSearch.awaitForElasticSearch();
+
+ assertThat(messageManager.search(SearchQuery.of(SearchQuery.address(SearchQuery.AddressType.To, "alice-test")), session))
+ .containsOnly(messageId2.getUid());
+ }
+
+ @Disabled("MAILBOX-401 '-' causes address matching to fail")
+ @Test
+ void addressShouldBeMatchedWhenHyphen() throws Exception {
+ MailboxPath mailboxPath = MailboxPath.forUser(USERNAME, INBOX);
+ MailboxSession session = MailboxSessionUtil.create(USERNAME);
+ MessageManager messageManager = storeMailboxManager.getMailbox(mailboxPath, session);
+
+ Message.Builder messageBuilder = Message.Builder
+ .of()
+ .setSubject("test")
+ .setBody("testmail", StandardCharsets.UTF_8);
+
+ ComposedMessageId messageId1 = messageManager.appendMessage(
+ MessageManager.AppendCommand.builder().build(
+ messageBuilder
+ .addField(new RawField("To", "alice-test@domain.tld"))
+ .build()),
+ session).getId();
+
+ ComposedMessageId messageId2 = messageManager.appendMessage(
+ MessageManager.AppendCommand.builder().build(
+ messageBuilder
+ .addField(new RawField("To", "bob@other.tld"))
+ .build()),
+ session).getId();
+
+ elasticSearch.awaitForElasticSearch();
+
+ assertThat(messageManager.search(SearchQuery.of(SearchQuery.address(SearchQuery.AddressType.To, "alice-test@domain.tld")), session))
+ .containsOnly(messageId1.getUid());
+ }
+
+ @Disabled("MAILBOX-401 '-' causes address matching to fail")
+ @Test
+ void domainPartShouldBeMatchedWhenHyphen() throws Exception {
+ MailboxPath mailboxPath = MailboxPath.forUser(USERNAME, INBOX);
+ MailboxSession session = MailboxSessionUtil.create(USERNAME);
+ MessageManager messageManager = storeMailboxManager.getMailbox(mailboxPath, session);
+
+ Message.Builder messageBuilder = Message.Builder
+ .of()
+ .setSubject("test")
+ .setBody("testmail", StandardCharsets.UTF_8);
+
+ ComposedMessageId messageId1 = messageManager.appendMessage(
+ MessageManager.AppendCommand.builder().build(
+ messageBuilder
+ .addField(new RawField("To", "alice@domain-test.tld"))
+ .build()),
+ session).getId();
+
+ ComposedMessageId messageId2 = messageManager.appendMessage(
+ MessageManager.AppendCommand.builder().build(
+ messageBuilder
+ .addField(new RawField("To", "bob@other.tld"))
+ .build()),
+ session).getId();
+
+ elasticSearch.awaitForElasticSearch();
+
+ assertThat(messageManager.search(SearchQuery.of(SearchQuery.address(SearchQuery.AddressType.To, "domain-test.tld")), session))
+ .containsOnly(messageId1.getUid());
+ }
}
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org