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 ad...@apache.org on 2018/08/30 13:16:05 UTC
[23/26] james-project git commit: JAMES-2529 Filter case sensitivity
integration test
JAMES-2529 Filter case sensitivity integration test
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/443f3c61
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/443f3c61
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/443f3c61
Branch: refs/heads/master
Commit: 443f3c612ae2f63513f0c63b3e914bff05df0f07
Parents: 2dcde78
Author: Raphael Ouazana <ra...@linagora.com>
Authored: Wed Aug 29 17:31:35 2018 +0200
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Thu Aug 30 15:11:55 2018 +0200
----------------------------------------------------------------------
.../jmap/methods/integration/FilterTest.java | 113 +++++++++++++++++++
1 file changed, 113 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/443f3c61/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/FilterTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/FilterTest.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/FilterTest.java
index f56615c..e87c417 100644
--- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/FilterTest.java
+++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/FilterTest.java
@@ -41,6 +41,7 @@ import static org.hamcrest.Matchers.containsInAnyOrder;
import static org.hamcrest.Matchers.hasSize;
import java.io.IOException;
+import java.util.Locale;
import org.apache.james.GuiceJamesServer;
import org.apache.james.jmap.JmapCommonRequests;
@@ -1219,6 +1220,62 @@ public abstract class FilterTest {
() -> JmapCommonRequests.isAnyMessageFoundInRecipientsMailbox(accessToken, inbox));
}
+
+ @Test
+ public void messageShouldBeAppendedInInboxWhenSubjectRuleDoesNotMatchRuleBecaseOfCase() {
+ given()
+ .header("Authorization", accessToken.serialize())
+ .body("[[" +
+ " \"setFilter\", " +
+ " {" +
+ " \"singleton\": [" +
+ " {" +
+ " \"id\": \"3000-345\"," +
+ " \"name\": \"Emails from bob\"," +
+ " \"condition\": {" +
+ " \"field\": \"subject\"," +
+ " \"comparator\": \"contains\"," +
+ " \"value\": \"different case value\"" +
+ " }," +
+ " \"action\": {" +
+ " \"appendIn\": {" +
+ " \"mailboxIds\": [\"" + matchedMailbox.serialize() + "\"]" +
+ " }" +
+ " }" +
+ " }" +
+ " ]}, " +
+ "\"#0\"" +
+ "]]")
+ .when()
+ .post("/jmap")
+ .then()
+ .statusCode(200);
+
+ String messageCreationId = "creationId1337";
+ String requestBody = "[[" +
+ " \"setMessages\"," +
+ " {" +
+ " \"create\": { \"" + messageCreationId + "\" : {" +
+ " \"from\": { \"name\": \"Me\", \"email\": \"" + BOB + "\"}," +
+ " \"to\": [{ \"name\": \"Alice\", \"email\": \"" + ALICE + "\"},{ \"name\": \"Cedric\", \"email\": \"" + CEDRIC + "\"}]," +
+ " \"subject\": \"DIFFERENT CASE VALUE\"," +
+ " \"mailboxIds\": [\"" + getOutboxId(bobAccessToken) + "\"]" +
+ " }}" +
+ " }," +
+ " \"#0\"" +
+ "]]";
+
+ with()
+ .header("Authorization", bobAccessToken.serialize())
+ .body(requestBody)
+ .post("/jmap")
+ .then()
+ .statusCode(200);
+
+ calmlyAwait.until(
+ () -> JmapCommonRequests.isAnyMessageFoundInRecipientsMailbox(accessToken, inbox));
+ }
+
@Test
public void messageShouldBeAppendedInSpecificMailboxWhenContainsComparatorMatches() {
given()
@@ -1494,6 +1551,62 @@ public abstract class FilterTest {
() -> JmapCommonRequests.isAnyMessageFoundInRecipientsMailbox(accessToken, matchedMailbox));
}
+
+ @Test
+ public void messageShouldBeAppendedInSpecificMailboxWhenExactlyEqualsMatchesCaseInsensitivelyFullHeader() {
+ given()
+ .header("Authorization", accessToken.serialize())
+ .body("[[" +
+ " \"setFilter\", " +
+ " {" +
+ " \"singleton\": [" +
+ " {" +
+ " \"id\": \"3000-345\"," +
+ " \"name\": \"Emails from bob\"," +
+ " \"condition\": {" +
+ " \"field\": \"from\"," +
+ " \"comparator\": \"exactly-equals\"," +
+ " \"value\": \"bob <" + BOB.toUpperCase(Locale.ENGLISH) + ">\"" +
+ " }," +
+ " \"action\": {" +
+ " \"appendIn\": {" +
+ " \"mailboxIds\": [\"" + matchedMailbox.serialize() + "\"]" +
+ " }" +
+ " }" +
+ " }" +
+ " ]}, " +
+ "\"#0\"" +
+ "]]")
+ .when()
+ .post("/jmap")
+ .then()
+ .statusCode(200);
+
+ String messageCreationId = "creationId1337";
+ String requestBody = "[[" +
+ " \"setMessages\"," +
+ " {" +
+ " \"create\": { \"" + messageCreationId + "\" : {" +
+ " \"from\": { \"name\": \"Bob\", \"email\": \"" + BOB + "\"}," +
+ " \"to\": [{ \"name\": \"Alice\", \"email\": \"" + ALICE + "\"}]," +
+ " \"subject\": \"subject\"," +
+ " \"mailboxIds\": [\"" + getOutboxId(bobAccessToken) + "\"]" +
+ " }}" +
+ " }," +
+ " \"#0\"" +
+ "]]";
+
+ with()
+ .header("Authorization", bobAccessToken.serialize())
+ .body(requestBody)
+ .post("/jmap")
+ .then()
+ .statusCode(200);
+
+ calmlyAwait.until(
+ () -> JmapCommonRequests.isAnyMessageFoundInRecipientsMailbox(accessToken, matchedMailbox));
+ }
+
@Test
public void messageShouldBeAppendedInInboxWhenExactlyEqualsComparatorDoesNotMatch() {
given()
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org