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