JAMES-2366 Factorize some common JMAP calls in JMAP integration tests

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

Branch: refs/heads/master
Commit: 7be706d808f253053cef42e4e815507c822fa357
Parents: a2f301f
Author: benwa <btell...@linagora.com>
Authored: Thu Apr 5 16:54:22 2018 +0700
Committer: Antoine Duprat <adup...@linagora.com>
Committed: Fri Apr 6 15:04:49 2018 +0200

----------------------------------------------------------------------
 .../apache/james/jmap/JmapCommonRequests.java   | 101 +++++++++++++++++++
 .../integration/ForwardIntegrationTest.java     |  44 +-------
 .../methods/integration/SendMDNMethodTest.java  |  54 +---------
 3 files changed, 107 insertions(+), 92 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/7be706d8/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/JmapCommonRequests.java
----------------------------------------------------------------------
diff --git 
a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/JmapCommonRequests.java
 
b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/JmapCommonRequests.java
new file mode 100644
index 0000000..6397833
--- /dev/null
+++ 
b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/JmapCommonRequests.java
@@ -0,0 +1,101 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.jmap;
+
+import static com.jayway.restassured.RestAssured.with;
+import static org.hamcrest.Matchers.equalTo;
+import static org.hamcrest.Matchers.hasSize;
+
+import java.util.List;
+import java.util.Map;
+
+import org.apache.james.jmap.api.access.AccessToken;
+import org.apache.james.mailbox.Role;
+
+public class JmapCommonRequests {
+    private static final String NAME = "[0][0]";
+    private static final String ARGUMENTS = "[0][1]";
+
+    public static String getOutboxId(AccessToken accessToken) {
+        return getMailboxId(accessToken, Role.OUTBOX);
+    }
+
+    public static String getMailboxId(AccessToken accessToken, Role role) {
+        return getAllMailboxesIds(accessToken).stream()
+            .filter(x -> x.get("role").equalsIgnoreCase(role.serialize()))
+            .map(x -> x.get("id"))
+            .findFirst().get();
+    }
+
+    public static List<Map<String, String>> getAllMailboxesIds(AccessToken 
accessToken) {
+        return with()
+            .header("Authorization", accessToken.serialize())
+            .body("[[\"getMailboxes\", {\"properties\": [\"role\", \"id\"]}, 
\"#0\"]]")
+            .post("/jmap")
+        .andReturn()
+            .body()
+            .jsonPath()
+            .getList(ARGUMENTS + ".list");
+    }
+
+    public static boolean isAnyMessageFoundInRecipientsMailboxes(AccessToken 
recipientToken) {
+        try {
+            with()
+                .header("Authorization", recipientToken.serialize())
+                .body("[[\"getMessageList\", {}, \"#0\"]]")
+            .when()
+                .post("/jmap")
+            .then()
+                .statusCode(200)
+                .body(NAME, equalTo("messageList"))
+                .body(ARGUMENTS + ".messageIds", hasSize(1));
+            return true;
+
+        } catch (AssertionError e) {
+            return false;
+        }
+    }
+
+    public static String getInboxId(AccessToken accessToken) {
+        return getMailboxId(accessToken, Role.INBOX);
+    }
+
+    public static List<String> listMessageIdsForAccount(AccessToken 
accessToken) {
+        return with()
+                .header("Authorization", accessToken.serialize())
+                .body("[[\"getMessageList\", {}, \"#0\"]]")
+                .post("/jmap")
+            .then()
+                .extract()
+                .body()
+                .path(ARGUMENTS + ".messageIds");
+    }
+
+    public static List<String> listMessageIdsInMailbox(AccessToken 
accessToken, String mailboxId) {
+        return with()
+                .header("Authorization", accessToken.serialize())
+                .body("[[\"getMessageList\", {\"filter\":{\"inMailboxes\":[\"" 
+ mailboxId + "\"]}}, \"#0\"]]")
+                .post("/jmap")
+            .then()
+                .extract()
+                .body()
+                .path(ARGUMENTS + ".messageIds");
+    }
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/7be706d8/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/ForwardIntegrationTest.java
----------------------------------------------------------------------
diff --git 
a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/ForwardIntegrationTest.java
 
b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/ForwardIntegrationTest.java
index 92d02b6..8511b45 100644
--- 
a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/ForwardIntegrationTest.java
+++ 
b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/ForwardIntegrationTest.java
@@ -22,19 +22,18 @@ package org.apache.james.jmap.methods.integration;
 import static com.jayway.restassured.RestAssured.given;
 import static com.jayway.restassured.RestAssured.with;
 import static 
org.apache.james.jmap.HttpJmapAuthentication.authenticateJamesUser;
+import static org.apache.james.jmap.JmapCommonRequests.getOutboxId;
+import static 
org.apache.james.jmap.JmapCommonRequests.isAnyMessageFoundInRecipientsMailboxes;
 import static org.apache.james.jmap.JmapURIBuilder.baseUri;
 import static org.apache.james.jmap.TestingConstants.calmlyAwait;
 import static org.apache.james.jmap.TestingConstants.jmapRequestSpecBuilder;
 import static org.hamcrest.Matchers.equalTo;
 import static org.hamcrest.Matchers.hasSize;
 
-import java.util.List;
-import java.util.Map;
 import java.util.concurrent.TimeUnit;
 
 import org.apache.james.GuiceJamesServer;
 import org.apache.james.jmap.api.access.AccessToken;
-import org.apache.james.mailbox.Role;
 import org.apache.james.probe.DataProbe;
 import org.apache.james.utils.DataProbeImpl;
 import org.apache.james.utils.JmapGuiceProbe;
@@ -241,43 +240,4 @@ public abstract class ForwardIntegrationTest {
             .body(ARGUMENTS + ".messageIds", hasSize(0));
     }
 
-    private String getOutboxId(AccessToken accessToken) {
-        return getMailboxId(accessToken, Role.OUTBOX);
-    }
-
-    private String getMailboxId(AccessToken accessToken, Role role) {
-        return getAllMailboxesIds(accessToken).stream()
-            .filter(x -> x.get("role").equalsIgnoreCase(role.serialize()))
-            .map(x -> x.get("id"))
-            .findFirst().get();
-    }
-
-    private List<Map<String, String>> getAllMailboxesIds(AccessToken 
accessToken) {
-        return with()
-                    .header("Authorization", accessToken.serialize())
-                    .body("[[\"getMailboxes\", {\"properties\": [\"role\", 
\"id\"]}, \"#0\"]]")
-                .post("/jmap")
-                    .andReturn()
-                    .body()
-                    .jsonPath()
-                    .getList(ARGUMENTS + ".list");
-    }
-
-    private boolean isAnyMessageFoundInRecipientsMailboxes(AccessToken 
recipientToken) {
-        try {
-            with()
-                .header("Authorization", recipientToken.serialize())
-                .body("[[\"getMessageList\", {}, \"#0\"]]")
-            .when()
-                .post("/jmap")
-            .then()
-                .statusCode(200)
-                .body(NAME, equalTo("messageList"))
-                .body(ARGUMENTS + ".messageIds", hasSize(1));
-            return true;
-
-        } catch (AssertionError e) {
-            return false;
-        }
-    }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/7be706d8/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SendMDNMethodTest.java
----------------------------------------------------------------------
diff --git 
a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SendMDNMethodTest.java
 
b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SendMDNMethodTest.java
index cc3d9c9..faeb705 100644
--- 
a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SendMDNMethodTest.java
+++ 
b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SendMDNMethodTest.java
@@ -22,6 +22,10 @@ package org.apache.james.jmap.methods.integration;
 import static com.jayway.restassured.RestAssured.given;
 import static com.jayway.restassured.RestAssured.with;
 import static 
org.apache.james.jmap.HttpJmapAuthentication.authenticateJamesUser;
+import static org.apache.james.jmap.JmapCommonRequests.getInboxId;
+import static org.apache.james.jmap.JmapCommonRequests.getOutboxId;
+import static 
org.apache.james.jmap.JmapCommonRequests.listMessageIdsForAccount;
+import static org.apache.james.jmap.JmapCommonRequests.listMessageIdsInMailbox;
 import static org.apache.james.jmap.JmapURIBuilder.baseUri;
 import static org.apache.james.jmap.TestingConstants.calmlyAwait;
 import static org.apache.james.jmap.TestingConstants.jmapRequestSpecBuilder;
@@ -34,14 +38,12 @@ import static org.hamcrest.Matchers.notNullValue;
 import static org.hamcrest.Matchers.startsWith;
 
 import java.util.List;
-import java.util.Map;
 import java.util.Optional;
 
 import org.apache.james.GuiceJamesServer;
 import org.apache.james.jmap.MessageAppender;
 import org.apache.james.jmap.api.access.AccessToken;
 import org.apache.james.mailbox.DefaultMailboxes;
-import org.apache.james.mailbox.Role;
 import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.mailbox.model.MailboxConstants;
 import org.apache.james.mailbox.model.MessageId;
@@ -490,52 +492,4 @@ public abstract class SendMDNMethodTest {
             .body(ARGUMENTS + ".description", containsString("Unrecognized MDN 
Disposition action mode invalid. Should be one of [manual-action, 
automatic-action]"));
     }
 
-    private String getInboxId(AccessToken accessToken) {
-        return getMailboxId(accessToken, Role.INBOX);
-    }
-
-    private String getOutboxId(AccessToken accessToken) {
-        return getMailboxId(accessToken, Role.OUTBOX);
-    }
-
-    private String getMailboxId(AccessToken accessToken, Role role) {
-        return getAllMailboxesIds(accessToken).stream()
-            .filter(x -> x.get("role").equalsIgnoreCase(role.serialize()))
-            .map(x -> x.get("id"))
-            .findFirst().get();
-    }
-
-    private List<Map<String, String>> getAllMailboxesIds(AccessToken 
accessToken) {
-        return with()
-            .header("Authorization", accessToken.serialize())
-            .body("[[\"getMailboxes\", {\"properties\": [\"role\", \"id\"]}, 
\"#0\"]]")
-            .post("/jmap")
-        .andReturn()
-            .body()
-            .jsonPath()
-            .getList(ARGUMENTS + ".list");
-    }
-
-    private List<String> listMessageIdsForAccount(AccessToken accessToken) {
-        return with()
-            .header("Authorization", accessToken.serialize())
-            .body("[[\"getMessageList\", {}, \"#0\"]]")
-            .post("/jmap")
-        .then()
-            .extract()
-            .body()
-            .path(ARGUMENTS + ".messageIds");
-    }
-
-    private List<String> listMessageIdsInMailbox(AccessToken accessToken, 
String mailboxId) {
-        return with()
-            .header("Authorization", accessToken.serialize())
-            .body("[[\"getMessageList\", {\"filter\":{\"inMailboxes\":[\"" + 
mailboxId + "\"]}}, \"#0\"]]")
-            .post("/jmap")
-        .then()
-            .extract()
-            .body()
-            .path(ARGUMENTS + ".messageIds");
-    }
-
 }


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

Reply via email to