JAMES-2249 JMAP cucumber test: factorise getting mailbox ids

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

Branch: refs/heads/master
Commit: 34d523efd2aa5ec56791692005098db25db2029d
Parents: 986458f
Author: Luc DUZAN <ldu...@linagora.com>
Authored: Mon Dec 11 14:12:54 2017 +0100
Committer: Antoine Duprat <adup...@linagora.com>
Committed: Tue Dec 12 15:12:36 2017 +0100

----------------------------------------------------------------------
 .../cucumber/GetMessageListMethodStepdefs.java  | 48 +++------------
 .../cucumber/GetMessagesMethodStepdefs.java     | 40 ++++++-------
 .../integration/cucumber/MainStepdefs.java      | 32 ++++++++++
 .../cucumber/SetMailboxesMethodStepdefs.java    | 61 ++++++++++----------
 .../cucumber/SetMessagesMethodStepdefs.java     | 47 ++++-----------
 5 files changed, 98 insertions(+), 130 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/34d523ef/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/GetMessageListMethodStepdefs.java
----------------------------------------------------------------------
diff --git 
a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/GetMessageListMethodStepdefs.java
 
b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/GetMessageListMethodStepdefs.java
index cd72325..3795b8d 100644
--- 
a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/GetMessageListMethodStepdefs.java
+++ 
b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/GetMessageListMethodStepdefs.java
@@ -25,13 +25,7 @@ import java.util.List;
 
 import javax.inject.Inject;
 
-import org.apache.james.mailbox.model.MailboxConstants;
-import org.apache.james.mailbox.model.MailboxId;
 import org.apache.james.mailbox.model.MessageId;
-import org.apache.james.modules.MailboxProbeImpl;
-
-import com.github.steveash.guavate.Guavate;
-import com.google.common.base.Joiner;
 
 import cucumber.api.java.en.Then;
 import cucumber.api.java.en.When;
@@ -56,50 +50,24 @@ public class GetMessageListMethodStepdefs {
 
     @When("^\"([^\"]*)\" asks for message list in mailboxes \"([^\"]*)\" with 
flag \"([^\"]*)\"$")
     public void getMessageListWithFlag(String username, List<String> 
mailboxes, String flag) throws Exception {
-        String mailboxIds = Joiner.on("\",\"")
-            .join(mailboxes.stream()
-                .map(mailbox -> mainStepdefs.jmapServer
-                    .getProbe(MailboxProbeImpl.class)
-                    .getMailbox(MailboxConstants.USER_NAMESPACE, username, 
mailbox)
-                    .getMailboxId()
-                    .serialize())
-                .collect(Guavate.toImmutableList()));
-
         httpClient.post(String.format(
                 "[[\"getMessageList\", {\"filter\":{" +
                 "    \"inMailboxes\":[\"%s\"]," +
                 "    \"hasKeyword\":\"%s\"" +
                 "}}, \"#0\"]]",
-            mailboxIds,
+            mainStepdefs.getMailboxIds(username, mailboxes),
             flag));
     }
 
     @When("^\"([^\"]*)\" asks for message list in (?:mailboxes|mailbox) 
\"([^\"]*)\"$")
     public void getMessageList(String username, List<String> mailboxes) throws 
Exception {
-        String mailboxIds = Joiner.on("\",\"")
-            .join(mailboxes.stream()
-                .map(mailbox -> mainStepdefs.jmapServer
-                    .getProbe(MailboxProbeImpl.class)
-                    .getMailbox(MailboxConstants.USER_NAMESPACE, username, 
mailbox)
-                    .getMailboxId()
-                    .serialize())
-                .collect(Guavate.toImmutableList()));
-
-        getMessageListFromMailboxIds(mailboxIds);
+        getMessageListFromMailboxIds(mainStepdefs.getMailboxIds(username, 
mailboxes));
     }
 
     @When("^\"([^\"]*)\" asks for message list in delegated 
(?:mailboxes|mailbox) \"([^\"]*)\" from \"([^\"]*)\"$")
     public void getMessageListFromDelegated(String sharee, List<String> 
mailboxes, String sharer) throws Exception {
-        String mailboxIds = Joiner.on("\",\"")
-            .join(mailboxes.stream()
-                .map(mailbox -> mainStepdefs.jmapServer
-                    .getProbe(MailboxProbeImpl.class)
-                    .getMailbox(MailboxConstants.USER_NAMESPACE, sharer, 
mailbox)
-                    .getMailboxId()
-                    .serialize())
-                .collect(Guavate.toImmutableList()));
-
-        userStepdefs.execWithUser(sharee, () -> 
getMessageListFromMailboxIds(mailboxIds));
+        userStepdefs.execWithUser(sharee, () ->
+            getMessageListFromMailboxIds(mainStepdefs.getMailboxIds(sharer, 
mailboxes)));
     }
 
     private void getMessageListFromMailboxIds(String mailboxIds) throws 
Exception {
@@ -112,17 +80,15 @@ public class GetMessageListMethodStepdefs {
 
     @When("^\"([^\"]*)\" asks for message list in mailbox \"([^\"]*)\" with 
flag \"([^\"]*)\"$")
     public void getMessageList(String username, String mailbox, String flag) 
throws Exception {
-        MailboxId mailboxId = mainStepdefs.jmapServer
-            .getProbe(MailboxProbeImpl.class)
-            .getMailbox(MailboxConstants.USER_NAMESPACE, username, mailbox)
-            .getMailboxId();
 
         httpClient.post(String.format(
                 "[[\"getMessageList\", {\"filter\":{" +
                 "    \"inMailboxes\":[\"%s\"]," +
                 "    \"hasKeyword\":\"%s\"" +
                 "}}, \"#0\"]]",
-            mailboxId.serialize(),
+            mainStepdefs
+                .getMailboxId(username, mailbox)
+                .serialize(),
             flag));
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/34d523ef/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/GetMessagesMethodStepdefs.java
----------------------------------------------------------------------
diff --git 
a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/GetMessagesMethodStepdefs.java
 
b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/GetMessagesMethodStepdefs.java
index b966720..05db2de 100644
--- 
a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/GetMessagesMethodStepdefs.java
+++ 
b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/GetMessagesMethodStepdefs.java
@@ -92,8 +92,11 @@ public class GetMessagesMethodStepdefs {
     @Given("^the user has a message \"([^\"]*)\" in \"([^\"]*)\" and 
\"([^\"]*)\" mailboxes with subject \"([^\"]*)\", content \"([^\"]*)\"$")
     public void appendMessageInTwoMailboxes(String messageName, String 
mailbox1, String mailbox2, String subject, String content) throws Exception {
         MessageId id = appendMessage(mailbox1, ContentType.noContentType(), 
subject, content, NO_HEADERS);
-        MailboxId mailboxId1 = 
mainStepdefs.mailboxProbe.getMailbox(MailboxConstants.USER_NAMESPACE, 
userStepdefs.getConnectedUser(), mailbox1).getMailboxId();
-        MailboxId mailboxId2 = 
mainStepdefs.mailboxProbe.getMailbox(MailboxConstants.USER_NAMESPACE, 
userStepdefs.getConnectedUser(), mailbox2).getMailboxId();
+
+        String user = userStepdefs.getConnectedUser();
+
+        MailboxId mailboxId1 = mainStepdefs.getMailboxId(user, mailbox1);
+        MailboxId mailboxId2 = mainStepdefs.getMailboxId(user, mailbox2);
 
         
mainStepdefs.jmapServer.getProbe(JmapGuiceProbe.class).setInMailboxes(id, 
userStepdefs.getConnectedUser(), mailboxId1, mailboxId2);
         messageIdStepdefs.addMessageId(messageName, id);
@@ -536,7 +539,8 @@ public class GetMessagesMethodStepdefs {
     @Then("^the notFound list should contain the requested message id$")
     public void assertNotFoundListContainsRequestedMessages() {
         ImmutableList<String> elements = 
requestedMessageIds.stream().map(MessageId::serialize).collect(Guavate.toImmutableList());
-        assertThat(httpClient.jsonPath.<List<String>>read(ARGUMENTS + 
".notFound")).containsExactlyElementsOf(elements);
+        assertThat(httpClient.jsonPath.<List<String>>read(ARGUMENTS + 
".notFound"))
+            .containsExactlyElementsOf(elements);
     }
 
 
@@ -553,35 +557,27 @@ public class GetMessagesMethodStepdefs {
 
     @Then("^the message is in \"([^\"]*)\" mailboxes")
     public void assertMailboxNamesOfTheFirstMessage(String mailboxNames) {
-        List<String> values = Splitter.on(",")
-            .splitToList(mailboxNames).stream()
-            .map(Throwing.function(name -> mainStepdefs.jmapServer
-                .getProbe(MailboxProbeImpl.class)
-                .getMailbox(MailboxConstants.USER_NAMESPACE, 
userStepdefs.getConnectedUser(), name)
-                .getMailboxId()
-                .serialize()))
-            .distinct()
-            .collect(Guavate.toImmutableList());
+        List<String> mailboxIds = 
mainStepdefs.getMailboxIdsList(userStepdefs.getConnectedUser(),
+            Splitter.on(",").splitToList(mailboxNames));
+
         assertThat(httpClient.jsonPath.<JSONArray>read(FIRST_MESSAGE + 
".mailboxIds"))
-            .hasSize(values.size())
-            .containsOnlyElementsOf(values);
+            .containsExactlyInAnyOrder(mailboxIds.toArray());
     }
 
     @Then("^\"([^\"]*)\" should see message \"([^\"]*)\" in mailboxes:$")
     public void assertMailboxesOfMessage(String user, String messageId, 
DataTable userMailboxes) throws Exception {
         userStepdefs.execWithUser(user, () -> 
postWithAListOfIds(ImmutableList.of(messageId)));
 
-        List<String> values = userMailboxes.asMap(String.class, 
String.class).entrySet().stream()
-            .map(Throwing.function(userMailbox -> mainStepdefs.jmapServer
-                .getProbe(MailboxProbeImpl.class)
-                .getMailbox(MailboxConstants.USER_NAMESPACE, 
userMailbox.getKey(), userMailbox.getValue())
-                .getMailboxId()
-                .serialize()))
+        List<String> mailboxIds = userMailboxes.asMap(String.class, 
String.class).entrySet().stream()
+            .map(Throwing.function(userMailbox ->
+                mainStepdefs
+                    .getMailboxId(userMailbox.getKey(), userMailbox.getValue())
+                    .serialize()))
             .distinct()
             .collect(Guavate.toImmutableList());
+
         assertThat(httpClient.jsonPath.<JSONArray>read(FIRST_MESSAGE + 
".mailboxIds"))
-            .hasSize(values.size())
-            .containsOnlyElementsOf(values);
+            .containsExactlyInAnyOrder(mailboxIds.toArray());
     }
 
     @Then("^the threadId of the message is \"([^\"]*)\"$")

http://git-wip-us.apache.org/repos/asf/james-project/blob/34d523ef/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/MainStepdefs.java
----------------------------------------------------------------------
diff --git 
a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/MainStepdefs.java
 
b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/MainStepdefs.java
index 10913f0..c175ba2 100644
--- 
a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/MainStepdefs.java
+++ 
b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/MainStepdefs.java
@@ -19,8 +19,13 @@
 
 package org.apache.james.jmap.methods.integration.cucumber;
 
+import com.github.steveash.guavate.Guavate;
+import com.google.common.base.Joiner;
+import com.google.common.collect.ImmutableList;
 import org.apache.http.client.utils.URIBuilder;
 import org.apache.james.GuiceJamesServer;
+import org.apache.james.mailbox.model.MailboxConstants;
+import org.apache.james.mailbox.model.MailboxId;
 import org.apache.james.mailbox.model.MessageId;
 import org.apache.james.mailbox.store.probe.ACLProbe;
 import org.apache.james.mailbox.store.probe.MailboxProbe;
@@ -35,6 +40,10 @@ import com.google.common.base.Charsets;
 
 import cucumber.runtime.java.guice.ScenarioScoped;
 
+import java.util.Collection;
+import java.util.List;
+import java.util.stream.Stream;
+
 @ScenarioScoped
 public class MainStepdefs {
 
@@ -67,4 +76,27 @@ public class MainStepdefs {
         jmapServer.stop();
     }
 
+    public MailboxId getMailboxId(String username, String mailbox) {
+        return getMailboxId(MailboxConstants.USER_NAMESPACE, username, 
mailbox);
+    }
+
+    public MailboxId getMailboxId(String namespace, String username, String 
mailbox) {
+        return mailboxProbe
+            .getMailbox(namespace, username, mailbox)
+            .getMailboxId();
+    }
+    public String getMailboxIds(String username, List<String> mailboxes) {
+        return Joiner.on("\",\"")
+            .join(getMailboxIdsList(username, mailboxes.stream()));
+    }
+
+    public ImmutableList<String> getMailboxIdsList(String username, 
Stream<String> mailboxes) {
+        return mailboxes.map(mailbox -> getMailboxId(username, mailbox)
+                .serialize())
+            .collect(Guavate.toImmutableList());
+    }
+
+    public ImmutableList<String> getMailboxIdsList(String username, 
Collection<String> mailboxes) {
+        return getMailboxIdsList(username, mailboxes.stream());
+    }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/34d523ef/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/SetMailboxesMethodStepdefs.java
----------------------------------------------------------------------
diff --git 
a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/SetMailboxesMethodStepdefs.java
 
b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/SetMailboxesMethodStepdefs.java
index 96c1ad1..42b37c5 100644
--- 
a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/SetMailboxesMethodStepdefs.java
+++ 
b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/SetMailboxesMethodStepdefs.java
@@ -35,6 +35,7 @@ import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.mailbox.exception.UnsupportedRightException;
 import org.apache.james.mailbox.model.MailboxACL;
 import org.apache.james.mailbox.model.MailboxConstants;
+import org.apache.james.mailbox.model.MailboxId;
 import org.apache.james.mailbox.model.MailboxPath;
 import org.apache.james.mailbox.store.mail.model.Mailbox;
 
@@ -92,8 +93,9 @@ public class SetMailboxesMethodStepdefs {
     @Given("^\"([^\"]*)\" shares its mailbox \"([^\"]*)\" with rights 
\"([^\"]*)\" with \"([^\"]*)\"$")
     public void shareMailboxWithRight(String owner, String mailboxName, String 
rights, String shareTo) throws Throwable {
         userStepdefs.connectUser(owner);
-        Mailbox mailbox = mainStepdefs.mailboxProbe.getMailbox("#private", 
owner, mailboxName);
-        String mailboxId = mailbox.getMailboxId().serialize();
+
+        String mailboxId = mainStepdefs.getMailboxId(owner, 
mailboxName).serialize();
+
         String requestBody =
                 "[" +
                     "  [ \"setMailboxes\"," +
@@ -132,40 +134,42 @@ public class SetMailboxesMethodStepdefs {
 
     @When("^\"([^\"]*)\" renames the mailbox, owned by \"([^\"]*)\", 
\"([^\"]*)\" to \"([^\"]*)\"$")
     public void renamingMailbox(String user, String mailboxOwner, String 
currentMailboxName, String newMailboxName) throws Throwable {
-        Mailbox mailbox = mainStepdefs.mailboxProbe.getMailbox("#private", 
mailboxOwner, currentMailboxName);
+        MailboxId mailboxId = mainStepdefs.getMailboxId("#private", 
mailboxOwner, currentMailboxName);
         userStepdefs.connectUser(user);
-        renamingMailbox(mailbox, newMailboxName);
+        renamingMailbox(mailboxId, newMailboxName);
     }
 
     @When("^\"([^\"]*)\" moves the mailbox \"([^\"]*)\" owned by \"([^\"]*)\", 
into mailbox \"([^\"]*)\" owned by \"([^\"]*)\"$")
     public void movingMailbox(String user, String mailboxName, String 
mailboxOwner, String newParentName, String newParentOwner) throws Throwable {
-        Mailbox mailbox = mainStepdefs.mailboxProbe.getMailbox("#private", 
mailboxOwner, mailboxName);
-        Mailbox newParent = mainStepdefs.mailboxProbe.getMailbox("#private", 
newParentOwner, newParentName);
+        String mailbox = mainStepdefs.getMailboxId(mailboxOwner, 
mailboxName).serialize();
+        String newParent = mainStepdefs.getMailboxId(newParentOwner, 
newParentName).serialize();
+
         String requestBody =
             "[" +
                 "  [ \"setMailboxes\"," +
                 "    {" +
                 "      \"update\": {" +
-                "        \"" + mailbox.getMailboxId().serialize() + "\" : {" +
-                "          \"parentId\" : \"" + 
newParent.getMailboxId().serialize() + "\"" +
+                "        \"" + mailbox + "\" : {" +
+                "          \"parentId\" : \"" + newParent + "\"" +
                 "        }" +
                 "      }" +
                 "    }," +
                 "    \"#0\"" +
                 "  ]" +
                 "]";
+
         userStepdefs.execWithUser(user, () -> httpClient.post(requestBody));
     }
 
     @When("^\"([^\"]*)\" moves the mailbox \"([^\"]*)\" owned by \"([^\"]*)\" 
as top level mailbox$")
     public void movingMailboxAsTopLevel(String user, String mailboxName, 
String mailboxOwner) throws Throwable {
-        Mailbox mailbox = mainStepdefs.mailboxProbe.getMailbox("#private", 
mailboxOwner, mailboxName);
+        String mailbox = mainStepdefs.getMailboxId(mailboxOwner, 
mailboxName).serialize();
         String requestBody =
             "[" +
                 "  [ \"setMailboxes\"," +
                 "    {" +
                 "      \"update\": {" +
-                "        \"" + mailbox.getMailboxId().serialize() + "\" : {" +
+                "        \"" + mailbox + "\" : {" +
                 "          \"parentId\" : null" +
                 "        }" +
                 "      }" +
@@ -178,7 +182,7 @@ public class SetMailboxesMethodStepdefs {
 
     @When("^\"([^\"]*)\" creates mailbox \"([^\"]*)\" with creationId 
\"([^\"]*)\" in mailbox \"([^\"]*)\" owned by \"([^\"]*)\"$")
     public void createChildMailbox(String user, String mailboxName, String 
creationId, String parentMailboxName, String parentOwner) throws Throwable {
-        Mailbox parentMailbox = 
mainStepdefs.mailboxProbe.getMailbox(MailboxConstants.USER_NAMESPACE, 
parentOwner, parentMailboxName);
+        String parentMailbox = mainStepdefs.getMailboxId(parentOwner, 
parentMailboxName).serialize();
         userStepdefs.execWithUser(user, () -> {
             String requestBody =
                 "[" +
@@ -187,7 +191,7 @@ public class SetMailboxesMethodStepdefs {
                     "      \"create\": {" +
                     "        \"" + creationId + "\" : {" +
                     "          \"name\" : \"" + mailboxName + "\"," +
-                    "          \"parentId\" : \"" + 
parentMailbox.getMailboxId().serialize() + "\"" +
+                    "          \"parentId\" : \"" + parentMailbox + "\"" +
                     "        }" +
                     "      }" +
                     "    }," +
@@ -200,18 +204,17 @@ public class SetMailboxesMethodStepdefs {
 
     @When("^\"([^\"]*)\" renames (?:her|his) mailbox \"([^\"]*)\" to 
\"([^\"]*)\"$")
     public void renamingMailbox(String user, String actualMailboxName, String 
newMailboxName) throws Throwable {
-        Mailbox mailbox = mainStepdefs.mailboxProbe.getMailbox("#private", 
user, actualMailboxName);
-        renamingMailbox(mailbox, newMailboxName);
+        MailboxId mailboxId = mainStepdefs.getMailboxId(user, 
actualMailboxName);
+        renamingMailbox(mailboxId, newMailboxName);
     }
 
-    private void renamingMailbox(Mailbox mailbox, String newMailboxName) 
throws Exception {
-        String mailboxId = mailbox.getMailboxId().serialize();
+    private void renamingMailbox(MailboxId mailboxId, String newMailboxName) 
throws Exception {
         String requestBody =
                 "[" +
                     "  [ \"setMailboxes\"," +
                     "    {" +
                     "      \"update\": {" +
-                    "        \"" + mailboxId + "\" : {" +
+                    "        \"" + mailboxId.serialize() + "\" : {" +
                     "          \"name\" : \"" + newMailboxName + "\"" +
                     "        }" +
                     "      }" +
@@ -229,8 +232,7 @@ public class SetMailboxesMethodStepdefs {
 
     @When("^\"([^\"]*)\" deletes the mailbox \"([^\"]*)\" owned by 
\"([^\"]*)\"$")
     public void deletesMailbox(String user, String mailboxName, String owner) 
throws Throwable {
-        Mailbox mailbox = mainStepdefs.mailboxProbe.getMailbox("#private", 
owner, mailboxName);
-        String mailboxId = mailbox.getMailboxId().serialize();
+        String mailboxId = mainStepdefs.getMailboxId( owner, 
mailboxName).serialize();
         userStepdefs.connectUser(user);
         String requestBody =
                 "[" +
@@ -247,10 +249,8 @@ public class SetMailboxesMethodStepdefs {
     @When("^moving mailbox \"([^\"]*)\" to \"([^\"]*)\"$")
     public void movingMailbox(String actualMailboxPath, String 
newParentMailboxPath) throws Throwable {
         String username = userStepdefs.getConnectedUser();
-        Mailbox mailbox = mainStepdefs.mailboxProbe.getMailbox("#private", 
username, actualMailboxPath);
-        String mailboxId = mailbox.getMailboxId().serialize();
-        Mailbox parent = mainStepdefs.mailboxProbe.getMailbox("#private", 
username, newParentMailboxPath);
-        String parentId = parent.getMailboxId().serialize();
+        String mailboxId = mainStepdefs.getMailboxId(username, 
actualMailboxPath).serialize();
+        String parentId = mainStepdefs.getMailboxId(username, 
newParentMailboxPath).serialize();
 
         String requestBody =
                 "[" +
@@ -272,8 +272,7 @@ public class SetMailboxesMethodStepdefs {
     public void mailboxContainsMessages(String mailboxName, int messageCount) 
throws Throwable {
         Duration slowPacedPollInterval = Duration.FIVE_HUNDRED_MILLISECONDS;
         String username = userStepdefs.getConnectedUser();
-        Mailbox mailbox = mainStepdefs.mailboxProbe.getMailbox("#private", 
username, mailboxName);
-        String mailboxId = mailbox.getMailboxId().serialize();
+        String mailboxId = mainStepdefs.getMailboxId(username, 
mailboxName).serialize();
 
         
Awaitility.await().atMost(Duration.FIVE_SECONDS).pollDelay(slowPacedPollInterval).pollInterval(slowPacedPollInterval).until(()
 -> {
             String requestBody = "[[\"getMessageList\", 
{\"filter\":{\"inMailboxes\":[\"" + mailboxId + "\"]}}, \"#0\"]]";
@@ -290,29 +289,29 @@ public class SetMailboxesMethodStepdefs {
 
     @Then("^\"([^\"]*)\" receives not updated on mailbox \"([^\"]*)\" with 
kind \"([^\"]*)\" and message \"([^\"]*)\"$")
     public void assertNotUpdatedWithGivenProperties(String userName, String 
mailboxName, String type, String message) throws Exception {
-        Mailbox mailbox = mainStepdefs.mailboxProbe.getMailbox("#private", 
userName, mailboxName);
+        String mailboxId = mainStepdefs.getMailboxId(userName, 
mailboxName).serialize();
         
assertThat(httpClient.response.getStatusLine().getStatusCode()).isEqualTo(200);
         
assertThat(httpClient.jsonPath.<String>read(NAME)).isEqualTo("mailboxesSet");
         
         Map<String, Map<String, String>> notUpdated = 
httpClient.jsonPath.<Map<String, Map<String, String>>>read(ARGUMENTS + 
".notUpdated");
         assertThat(notUpdated).hasSize(1);
-        Map<String, String> parameters = 
notUpdated.get(mailbox.getMailboxId().serialize());
+        Map<String, String> parameters = notUpdated.get(mailboxId);
         assertThat(parameters).contains(Maps.immutableEntry("type", type),
                 Maps.immutableEntry("description", message));
     }
 
     @Then("^mailbox \"([^\"]*)\" owned by \"([^\"]*)\" is not updated")
     public void assertNotUpdated(String mailboxName, String owner) throws 
Exception {
-        Mailbox mailbox = 
mainStepdefs.mailboxProbe.getMailbox(MailboxConstants.USER_NAMESPACE, owner, 
mailboxName);
+        String mailboxId = mainStepdefs.getMailboxId(owner, 
mailboxName).serialize();
         assertThat(httpClient.jsonPath.<Map<String, 
String>>read("[0][1].notUpdated"))
-            .containsOnlyKeys(mailbox.getMailboxId().serialize());
+            .containsOnlyKeys(mailboxId);
     }
 
     @Then("^mailbox \"([^\"]*)\" owned by \"([^\"]*)\" is not destroyed$")
     public void assertNotDestroyed(String mailboxName, String owner) throws 
Exception {
-        Mailbox mailbox = 
mainStepdefs.mailboxProbe.getMailbox(MailboxConstants.USER_NAMESPACE, owner, 
mailboxName);
+        String mailboxId = mainStepdefs.getMailboxId(owner, 
mailboxName).serialize();
         assertThat(httpClient.jsonPath.<Map<String, 
String>>read("[0][1].notDestroyed"))
-            .containsOnlyKeys(mailbox.getMailboxId().serialize());
+            .containsOnlyKeys(mailboxId);
     }
 
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/34d523ef/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/SetMessagesMethodStepdefs.java
----------------------------------------------------------------------
diff --git 
a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/SetMessagesMethodStepdefs.java
 
b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/SetMessagesMethodStepdefs.java
index e3e74a7..94fb073 100644
--- 
a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/SetMessagesMethodStepdefs.java
+++ 
b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/SetMessagesMethodStepdefs.java
@@ -67,10 +67,7 @@ public class SetMessagesMethodStepdefs {
     @When("^the user moves \"([^\"]*)\" to user mailbox \"([^\"]*)\"$")
     public void moveMessageToMailbox(String message, String mailbox) throws 
Throwable {
         MessageId messageId = messageIdStepdefs.getMessageId(message);
-        MailboxId mailboxId = mainStepdefs.jmapServer
-            .getProbe(MailboxProbeImpl.class)
-            .getMailbox(MailboxConstants.USER_NAMESPACE, 
userStepdefs.getConnectedUser(), mailbox)
-            .getMailboxId();
+        MailboxId mailboxId = 
mainStepdefs.getMailboxId(userStepdefs.getConnectedUser(), mailbox);
 
         httpClient.post("[" +
             "  [" +
@@ -89,10 +86,7 @@ public class SetMessagesMethodStepdefs {
     @When("^the user moves \"([^\"]*)\" to user mailbox \"([^\"]*)\" and set 
flags \"([^\"]*)\"$")
     public void moveMessageToMailboxAndChangeFlags(String message, String 
mailbox, List<String> keywords) throws Throwable {
         MessageId messageId = messageIdStepdefs.getMessageId(message);
-        MailboxId mailboxId = mainStepdefs.jmapServer
-            .getProbe(MailboxProbeImpl.class)
-            .getMailbox(MailboxConstants.USER_NAMESPACE, 
userStepdefs.getConnectedUser(), mailbox)
-            .getMailboxId();
+        MailboxId mailboxId = 
mainStepdefs.getMailboxId(userStepdefs.getConnectedUser(), mailbox);
         String keywordString = toKeywordsString(keywords);
 
         httpClient.post("[" +
@@ -118,14 +112,9 @@ public class SetMessagesMethodStepdefs {
     @When("^the user copies \"([^\"]*)\" from mailbox \"([^\"]*)\" to mailbox 
\"([^\"]*)\"$")
     public void copyMessageToMailbox(String message, String sourceMailbox, 
String destinationMailbox) throws Throwable {
         MessageId messageId = messageIdStepdefs.getMessageId(message);
-        MailboxId sourceMailboxId = mainStepdefs.jmapServer
-            .getProbe(MailboxProbeImpl.class)
-            .getMailbox(MailboxConstants.USER_NAMESPACE, 
userStepdefs.getConnectedUser(), sourceMailbox)
-            .getMailboxId();
-        MailboxId destinationMailboxId = mainStepdefs.jmapServer
-            .getProbe(MailboxProbeImpl.class)
-            .getMailbox(MailboxConstants.USER_NAMESPACE, 
userStepdefs.getConnectedUser(), destinationMailbox)
-            .getMailboxId();
+        String user = userStepdefs.getConnectedUser();
+        MailboxId sourceMailboxId = mainStepdefs.getMailboxId(user, 
sourceMailbox);
+        MailboxId destinationMailboxId = mainStepdefs.getMailboxId(user, 
destinationMailbox);
 
         httpClient.post("[" +
             "  [" +
@@ -148,14 +137,8 @@ public class SetMessagesMethodStepdefs {
 
     private void copyMessageToMailbox(String message, String sourceMailbox, 
String sourceUser, String destinationMailbox, String destinationUser) throws 
Throwable {
         MessageId messageId = messageIdStepdefs.getMessageId(message);
-        MailboxId sourceMailboxId = mainStepdefs.jmapServer
-            .getProbe(MailboxProbeImpl.class)
-            .getMailbox(MailboxConstants.USER_NAMESPACE, sourceUser, 
sourceMailbox)
-            .getMailboxId();
-        MailboxId destinationMailboxId = mainStepdefs.jmapServer
-            .getProbe(MailboxProbeImpl.class)
-            .getMailbox(MailboxConstants.USER_NAMESPACE, destinationUser, 
destinationMailbox)
-            .getMailboxId();
+        MailboxId sourceMailboxId = mainStepdefs.getMailboxId(sourceUser, 
sourceMailbox);
+        MailboxId destinationMailboxId = 
mainStepdefs.getMailboxId(destinationUser, destinationMailbox);
 
         httpClient.post("[" +
             "  [" +
@@ -178,10 +161,7 @@ public class SetMessagesMethodStepdefs {
 
     private void moveMessageToMailbox(String message, String 
destinationMailbox, String destinationUser) throws Throwable {
         MessageId messageId = messageIdStepdefs.getMessageId(message);
-        MailboxId destinationMailboxId = mainStepdefs.jmapServer
-            .getProbe(MailboxProbeImpl.class)
-            .getMailbox(MailboxConstants.USER_NAMESPACE, destinationUser, 
destinationMailbox)
-            .getMailboxId();
+        MailboxId destinationMailboxId = 
mainStepdefs.getMailboxId(destinationUser, destinationMailbox);
 
         httpClient.post("[" +
             "  [" +
@@ -240,9 +220,7 @@ public class SetMessagesMethodStepdefs {
     @Given("^\"([^\"]*)\" tries to create a draft message \"([^\"]*)\" in 
mailbox \"([^\"]*)\"$")
     public void createDraft(String username, String message, String 
mailboxName) throws Throwable {
         userStepdefs.execWithUser(username, () -> {
-            Mailbox mailbox = 
mainStepdefs.mailboxProbe.getMailbox(MailboxConstants.USER_NAMESPACE,
-                username,
-                mailboxName);
+            String mailboxId = mainStepdefs.getMailboxId(username, 
mailboxName).serialize();
             httpClient.post("[" +
                 "  [" +
                 "    \"setMessages\","+
@@ -252,7 +230,7 @@ public class SetMessagesMethodStepdefs {
                 "        \"from\": { \"name\": \"Me\", \"email\": \"" + 
username + "\"}," +
                 "        \"to\": [{ \"name\": \"Me\", \"email\": \"" + 
username + "\"}]," +
                 "        \"keywords\": {\"$Draft\": true}," +
-                "        \"mailboxIds\": [\"" + 
mailbox.getMailboxId().serialize() + "\"]" +
+                "        \"mailboxIds\": [\"" + mailboxId + "\"]" +
                 "      }}" +
                 "    }," +
                 "    \"#0\"" +
@@ -297,10 +275,7 @@ public class SetMessagesMethodStepdefs {
         Flags newFlags = Keywords.factory().fromList(flags).asFlags();
         String username = userStepdefs.getConnectedUser();
         MessageId messageId = messageIdStepdefs.getMessageId(message);
-        MailboxId mailboxId = mainStepdefs.jmapServer
-            .getProbe(MailboxProbeImpl.class)
-            .getMailbox(MailboxConstants.USER_NAMESPACE, mailboxOwner, mailbox)
-            .getMailboxId();
+        MailboxId mailboxId = mainStepdefs.getMailboxId(mailboxOwner, mailbox);
 
         mainStepdefs.messageIdProbe.updateNewFlags(username, newFlags, 
messageId, ImmutableList.of(mailboxId));
         mainStepdefs.awaitMethod.run();


---------------------------------------------------------------------
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