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 65acac3d2ce1e7bbbae7fa2017e52a5d458d63b4 Author: Benoit TELLIER <btell...@linagora.com> AuthorDate: Tue Jan 16 11:36:12 2024 +0100 JAMES-3961 Cucumber update for JMAP draft integration tests --- pom.xml | 6 +- server/data/data-cassandra/pom.xml | 5 + server/data/data-jpa/pom.xml | 5 + server/data/data-library/pom.xml | 5 + server/data/data-memory/pom.xml | 5 + .../cucumber/GetMessageListMethodStepdefs.java | 13 ++- .../cucumber/GetMessagesMethodStepdefs.java | 72 +++++++----- .../cucumber/SetMessagesMethodStepdefs.java | 15 +-- .../methods/integration/cucumber/UserStepdefs.java | 9 +- .../resources/cucumber/DownloadEndpoint.feature | 2 +- .../test/resources/cucumber/DownloadGet.feature | 2 +- .../test/resources/cucumber/GetMessages.feature | 110 +++++++++---------- .../cucumber/ImapKeywordsConsistency.feature | 8 +- .../cucumber/sharing/CopyAndSharing.feature | 2 +- .../cucumber/sharing/DownloadAndSharing.feature | 2 +- .../cucumber/sharing/GetMessageAndSharing.feature | 8 +- .../KeywordsConsistencyOnDelegationMailbox.feature | 26 ++--- .../sharing/MailboxCreationAndSharing.feature | 2 +- .../cucumber/sharing/MoveMailboxAndSharing.feature | 2 +- .../cucumber/sharing/MoveMessageAndSharing.feature | 2 +- .../sharing/RenamingMailboxAndSharing.feature | 2 +- .../cucumber/sharing/SetFlagAndSharing.feature | 2 +- .../sharing/SetMessagesOnSharedMailbox.feature | 2 +- ...ringParentMailboxWithAndWithoutChildren.feature | 12 +- ...java => MemoryDownloadEnpointCucumberTest.java} | 4 +- .../cucumber/MemoryDownloadGetCucumberTest.java} | 13 +-- .../cucumber/MemoryDownloadPostCucumberTest.java} | 13 +-- .../MemorySetMailboxesMethodCucumberTest.java | 2 +- .../cucumber/awss3/CucumberAwsS3Singleton.java | 27 ----- .../cucumber/awss3/CucumberCassandraSingleton.java | 27 ----- .../awss3/CucumberOpenSearchSingleton.java | 27 ----- .../cucumber/awss3/CucumberRabbitMQSingleton.java | 26 ----- .../cucumber/awss3/RabbitMQAwsS3Stepdefs.java | 121 --------------------- .../awss3/RabbitMQDownloadCucumberTest.java | 40 ------- .../awss3/RabbitMQGetMessagesMethodTest.java | 40 ------- .../RabbitMQSetMailboxesMethodCucumberTest.java | 40 ------- .../RabbitMQSetMessagesMethodCucumberTest.java | 40 ------- .../cucumber/awss3/RabbitMQSharingTest.java | 40 ------- .../cucumber/awss3/RabbitMQUploadCucumberTest.java | 40 ------- 39 files changed, 193 insertions(+), 626 deletions(-) diff --git a/pom.xml b/pom.xml index 2000ff18f8..cad9398faf 100644 --- a/pom.xml +++ b/pom.xml @@ -2350,12 +2350,16 @@ <artifactId>cucumber-junit-platform-engine</artifactId> <version>${cucumber.version}</version> </dependency> - <dependency> <groupId>io.cucumber</groupId> <artifactId>cucumber-picocontainer</artifactId> <version>${cucumber.version}</version> </dependency> + <dependency> + <groupId>io.cucumber</groupId> + <artifactId>messages</artifactId> + <version>22.0.0</version> + </dependency> <dependency> <groupId>io.dropwizard.metrics</groupId> <artifactId>metrics-core</artifactId> diff --git a/server/data/data-cassandra/pom.xml b/server/data/data-cassandra/pom.xml index c5199c86dd..801ccb2017 100644 --- a/server/data/data-cassandra/pom.xml +++ b/server/data/data-cassandra/pom.xml @@ -115,6 +115,11 @@ <artifactId>cucumber-picocontainer</artifactId> <scope>test</scope> </dependency> + <dependency> + <groupId>io.cucumber</groupId> + <artifactId>messages</artifactId> + <scope>test</scope> + </dependency> <dependency> <groupId>net.javacrumbs.json-unit</groupId> <artifactId>json-unit-assertj</artifactId> diff --git a/server/data/data-jpa/pom.xml b/server/data/data-jpa/pom.xml index 00656337b8..dbd51824d8 100644 --- a/server/data/data-jpa/pom.xml +++ b/server/data/data-jpa/pom.xml @@ -119,6 +119,11 @@ <artifactId>cucumber-picocontainer</artifactId> <scope>test</scope> </dependency> + <dependency> + <groupId>io.cucumber</groupId> + <artifactId>messages</artifactId> + <scope>test</scope> + </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-configuration2</artifactId> diff --git a/server/data/data-library/pom.xml b/server/data/data-library/pom.xml index 5f984c7ec9..5170eacf17 100644 --- a/server/data/data-library/pom.xml +++ b/server/data/data-library/pom.xml @@ -91,6 +91,11 @@ <artifactId>cucumber-junit</artifactId> <scope>test</scope> </dependency> + <dependency> + <groupId>io.cucumber</groupId> + <artifactId>messages</artifactId> + <scope>test</scope> + </dependency> <dependency> <groupId>javax.annotation</groupId> <artifactId>javax.annotation-api</artifactId> diff --git a/server/data/data-memory/pom.xml b/server/data/data-memory/pom.xml index b2e99fefab..a5aa36887b 100644 --- a/server/data/data-memory/pom.xml +++ b/server/data/data-memory/pom.xml @@ -93,6 +93,11 @@ <artifactId>cucumber-picocontainer</artifactId> <scope>test</scope> </dependency> + <dependency> + <groupId>io.cucumber</groupId> + <artifactId>messages</artifactId> + <scope>test</scope> + </dependency> <dependency> <groupId>org.awaitility</groupId> <artifactId>awaitility</artifactId> diff --git a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/GetMessageListMethodStepdefs.java b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/GetMessageListMethodStepdefs.java index 676f9fa0dc..1eacc6c569 100644 --- a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/GetMessageListMethodStepdefs.java +++ b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/GetMessageListMethodStepdefs.java @@ -25,6 +25,7 @@ import static org.apache.james.jmap.JMAPTestingConstants.calmlyAwait; import java.util.List; import java.util.concurrent.TimeUnit; +import com.google.common.base.Splitter; import javax.inject.Inject; import org.apache.james.mailbox.model.MessageId; @@ -50,25 +51,25 @@ public class GetMessageListMethodStepdefs { } @When("^\"([^\"]*)\" asks for message list in mailboxes \"([^\"]*)\" with flag \"([^\"]*)\"$") - public void getMessageListWithFlag(String username, List<String> mailboxes, String flag) throws Exception { + public void getMessageListWithFlag(String username, String mailboxes, String flag) throws Exception { httpClient.post(String.format( "[[\"getMessageList\", {\"filter\":{" + " \"inMailboxes\":[\"%s\"]," + " \"hasKeyword\":\"%s\"" + "}}, \"#0\"]]", - mainStepdefs.getMailboxIds(username, mailboxes), + mainStepdefs.getMailboxIds(username, Splitter.on(',').trimResults().splitToList(mailboxes)), flag)); } @When("^\"([^\"]*)\" asks for message list in (?:mailboxes|mailbox) \"([^\"]*)\"$") - public void getMessageList(String username, List<String> mailboxes) throws Exception { - getMessageListFromMailboxIds(mainStepdefs.getMailboxIds(username, mailboxes)); + public void getMessageList(String username, String mailboxes) throws Exception { + getMessageListFromMailboxIds(mainStepdefs.getMailboxIds(username, Splitter.on(',').trimResults().splitToList(mailboxes))); } @When("^\"([^\"]*)\" asks for message list in delegated (?:mailboxes|mailbox) \"([^\"]*)\" from \"([^\"]*)\"$") - public void getMessageListFromDelegated(String sharee, List<String> mailboxes, String sharer) throws Exception { + public void getMessageListFromDelegated(String sharee, String mailboxes, String sharer) throws Exception { userStepdefs.execWithUser(sharee, () -> - getMessageListFromMailboxIds(mainStepdefs.getMailboxIds(sharer, mailboxes))); + getMessageListFromMailboxIds(mainStepdefs.getMailboxIds(sharer, Splitter.on(',').trimResults().splitToList(mailboxes)))); } private void getMessageListFromMailboxIds(String mailboxIds) throws Exception { diff --git a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/GetMessagesMethodStepdefs.java b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/GetMessagesMethodStepdefs.java index 6044ac0c6b..3ec2d8e5fa 100644 --- a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/GetMessagesMethodStepdefs.java +++ b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/GetMessagesMethodStepdefs.java @@ -26,6 +26,7 @@ import static org.apache.james.mailbox.model.MailboxConstants.INBOX; import static org.assertj.core.api.Assertions.assertThat; import java.io.ByteArrayInputStream; +import java.io.IOException; import java.nio.charset.StandardCharsets; import java.time.ZonedDateTime; import java.util.Date; @@ -42,6 +43,7 @@ import javax.inject.Inject; import jakarta.mail.Flags; +import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.text.StringEscapeUtils; import org.apache.james.core.Username; @@ -368,18 +370,18 @@ public class GetMessagesMethodStepdefs { } @Given("^\"([^\"]*)\" has a message \"([^\"]*)\" in the \"([^\"]*)\" mailbox with flags \"([^\"]*)\"$") - public void appendMessageWithFlags(String username, String messageName, String mailbox, List<String> flagList) throws Throwable { + public void appendMessageWithFlags(String username, String messageName, String mailbox, String flagList) throws Throwable { userStepdefs.execWithUser(username, () -> appendMessageWithFlags(messageName, mailbox, flagList)); } @Given("^\"([^\"]*)\" has a message \"([^\"]*)\" in \"([^\"]*)\" mailbox$") public void appendSimpleMessage(String username, String messageName, String mailbox) throws Throwable { - userStepdefs.execWithUser(username, () -> appendMessageWithFlags(messageName, mailbox, ImmutableList.of())); + userStepdefs.execWithUser(username, () -> appendMessageWithFlags(messageName, mailbox, "")); } @Given("^the user has a message \"([^\"]*)\" in the \"([^\"]*)\" mailbox with flags \"([^\"]*)\"$") - public void appendMessageWithFlags(String messageName, String mailbox, List<String> flagList) throws Exception { - appendMessage(messageName, mailbox, StringListToFlags.fromFlagList(flagList)); + public void appendMessageWithFlags(String messageName, String mailbox, String flagList) throws Exception { + appendMessage(messageName, mailbox, StringListToFlags.fromFlagList(Splitter.on(',').trimResults().omitEmptyStrings().splitToList(flagList))); } @Given("^\"([^\"]*)\" receives a SMTP message specified in file \"([^\"]*)\" as message \"([^\"]*)\"$") @@ -468,18 +470,29 @@ public class GetMessagesMethodStepdefs { } @When("^the user ask for messages \"(.*?)\"$") - public void postWithAListOfIds(List<String> ids) throws Exception { - requestedMessageIds = ids.stream() + public void postWithAListOfIds(String id) throws Exception { + requestedMessageIds = ImmutableList.of(messageIdStepdefs.getMessageId(id)); + askMessages(requestedMessageIds); + } + + @When("^the user ask for message \"(.*?)\"$") + public void postWithAnId(String ids) throws Exception { + requestedMessageIds = Splitter.on(',').trimResults().splitToStream(ids) .map(messageIdStepdefs::getMessageId) .collect(ImmutableList.toImmutableList()); askMessages(requestedMessageIds); } - @When("^\"(.*?)\" ask for (?:messages|message) \"(.*?)\"$") - public void postWithAListOfIds(String user, List<String> ids) throws Throwable { + @When("^\"(.*?)\" ask for messages \"(.*?)\"$") + public void postWithAListOfIds(String user, String ids) { userStepdefs.execWithUser(user, () -> postWithAListOfIds(ids)); } + @When("^\"(.*?)\" ask for message \"(.*?)\"$") + public void postWithAnId(String user, String id) { + userStepdefs.execWithUser(user, () -> postWithAListOfIds(id)); + } + @When("^\"(.*?)\" ask for an unknown message$") public void requestUnknownMessage(String user) throws Throwable { userStepdefs.execWithUser(user, this::requestUnknownMessage); @@ -503,14 +516,14 @@ public class GetMessagesMethodStepdefs { return string -> "\"" + string + "\""; } - @When("^\"(.*?)\" is getting messages \"(.*?)\" with properties \"(.*?)\"$") - public void postWithParameters(String username, List<String> ids, List<String> properties) throws Throwable { - userStepdefs.execWithUser(username, () -> postWithParameters(ids, properties)); + @When("^\"(.*?)\" is getting message \"(.*?)\" with properties \"(.*?)\"$") + public void postWithParameters(String username, String id, String properties) throws Throwable { + userStepdefs.execWithUser(username, () -> postWithParameters(id, properties)); } @When("^the user is getting messages \"(.*?)\" with properties \"(.*?)\"$") - public void postWithParameters(List<String> ids, List<String> properties) throws Exception { - requestedMessageIds = ids.stream() + public void postWithParameters(String ids, String properties) throws Exception { + requestedMessageIds = Splitter.on(',').trimResults().splitToStream(ids) .map(messageIdStepdefs::getMessageId) .collect(ImmutableList.toImmutableList()); @@ -519,7 +532,7 @@ public class GetMessagesMethodStepdefs { .map(toJsonString()) .collect(Collectors.joining(",", "[", "]")); - String serializedProperties = properties.stream() + String serializedProperties = Splitter.on(',').trimResults().splitToStream(properties) .map(toJsonString()) .collect(Collectors.joining(",", "[", "]")); @@ -593,7 +606,7 @@ public class GetMessagesMethodStepdefs { @Then("^\"([^\"]*)\" should see message \"([^\"]*)\" in mailboxes:$") public void assertMailboxesOfMessage(String user, String messageId, DataTable userMailboxes) throws Exception { - userStepdefs.execWithUser(user, () -> postWithAListOfIds(ImmutableList.of(messageId))); + userStepdefs.execWithUser(user, () -> postWithAListOfIds(messageId)); List<String> mailboxIds = userMailboxes.asMap(String.class, String.class).entrySet().stream() .map(Throwing.function(userMailbox -> @@ -704,16 +717,16 @@ public class GetMessagesMethodStepdefs { assertAttachment(SECOND_ATTACHMENT, attachmentProperties); } - @Then("^the preview of the message contains: (.*)$") - public void assertPreviewOfMessageShouldBePrintedWithEncoding(List<String> preview) { + @Then("^the preview of the message contains: \"(.*)\"$") + public void assertPreviewOfMessageShouldBePrintedWithEncoding(String preview) { String actual = httpClient.jsonPath.<String>read(FIRST_MESSAGE + ".preview"); assertThat(actual).contains(preview); } @Then("^the keywords of the message is (.*)$") - public void assertKeywordsOfMessageShouldDisplay(List<String> keywords) { + public void assertKeywordsOfMessageShouldDisplay(String keywords) { assertThat(httpClient.jsonPath.<Map<String, Boolean>>read(FIRST_MESSAGE + ".keywords").keySet()) - .containsOnly(keywords.toArray(new String[0])); + .containsOnly(Splitter.on(',').trimResults().omitEmptyStrings().splitToList(keywords).toArray(new String[0])); } @Then("^the message has no keyword$") @@ -723,24 +736,33 @@ public class GetMessagesMethodStepdefs { } @Then("^\"([^\"]*)\" should see message \"([^\"]*)\" with keywords \"([^\"]*)\"$") - public void assertKeywordsOfMessage(String user, String messageId, List<String> keywords) throws Exception { - userStepdefs.execWithUser(user, () -> postWithAListOfIds(ImmutableList.of(messageId))); + public void assertKeywordsOfMessage(String user, String messageId, String keywords) throws Exception { + userStepdefs.execWithUser(user, () -> postWithAListOfIds(messageId)); assertThat(httpClient.jsonPath.<Map<String, Boolean>>read(FIRST_MESSAGE + ".keywords").keySet()) - .containsOnly(keywords.toArray(new String[0])); + .containsOnly(Splitter.on(',').trimResults().splitToList(keywords).toArray(new String[0])); } @Then("^\"([^\"]*)\" should see message \"([^\"]*)\" without keywords$") public void assertKeywordsEmpty(String user, String messageId) throws Exception { - userStepdefs.execWithUser(user, () -> postWithAListOfIds(ImmutableList.of(messageId))); + userStepdefs.execWithUser(user, () -> postWithAListOfIds(messageId)); assertThat(httpClient.jsonPath.<Map<String, Boolean>>read(FIRST_MESSAGE + ".keywords").keySet()) .isEmpty(); } private void assertAttachment(String attachment, DataTable attachmentProperties) { - attachmentProperties.asList(TableRow.class) - .forEach(entry -> assertThat(httpClient.jsonPath.<Object>read(attachment + "." + entry.getKey())).isEqualTo(entry.getValue())); + try { + System.out.println(IOUtils.toString(httpClient.response.getEntity().getContent())); + } catch (IOException e) { + throw new RuntimeException(e); + } + attachmentProperties.asMap(String.class, String.class) + .forEach((key, value) -> { + System.out.println(key + " : " + value); + System.out.println(httpClient.jsonPath.<Object>read(attachment + "." + key)); + assertThat(String.valueOf(httpClient.jsonPath.<Object>read(attachment + "." + key))).isEqualTo(value); + }); } public String getBlobId() { diff --git a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/SetMessagesMethodStepdefs.java b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/SetMessagesMethodStepdefs.java index 70532ec8c8..9101ed4434 100644 --- a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/SetMessagesMethodStepdefs.java +++ b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/SetMessagesMethodStepdefs.java @@ -26,6 +26,7 @@ import java.util.Map; import java.util.Optional; import java.util.stream.Collectors; +import com.google.common.base.Splitter; import javax.inject.Inject; import jakarta.mail.Flags; @@ -83,10 +84,10 @@ 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 { + public void moveMessageToMailboxAndChangeFlags(String message, String mailbox, String keywords) throws Throwable { MessageId messageId = messageIdStepdefs.getMessageId(message); MailboxId mailboxId = mainStepdefs.getMailboxId(userStepdefs.getConnectedUser(), mailbox); - String keywordString = toKeywordsString(keywords); + String keywordString = toKeywordsString(Splitter.on(',').trimResults().omitEmptyStrings().splitToList(keywords)); httpClient.post("[" + " [" + @@ -177,7 +178,7 @@ public class SetMessagesMethodStepdefs { } @When("^\"([^\"]*)\" sets flags \"([^\"]*)\" on message \"([^\"]*)\"$") - public void setFlags(String username, List<String> keywords, String message) { + public void setFlags(String username, String keywords, String message) { userStepdefs.execWithUser(username, () -> setFlags(keywords, message)); } @@ -267,9 +268,9 @@ public class SetMessagesMethodStepdefs { } @When("^the user sets flags \"([^\"]*)\" on message \"([^\"]*)\"$") - public void setFlags(List<String> keywords, String message) throws Throwable { + public void setFlags(String keywords, String message) throws Throwable { MessageId messageId = messageIdStepdefs.getMessageId(message); - String keywordString = toKeywordsString(keywords); + String keywordString = toKeywordsString(Splitter.on(',').omitEmptyStrings().trimResults().splitToList(keywords)); httpClient.post("[" + " [" + @@ -293,8 +294,8 @@ public class SetMessagesMethodStepdefs { } @When("^message \"([^\"]*)\" has flags (.*) in mailbox \"([^\"]*)\" of user \"([^\"]*)\"$") - public void setMessageFlagsInSpecifiedMailbox(String message, List<String> flags, String mailbox, String mailboxOwner) throws Exception { - Flags newFlags = Keywords.lenientFactory().fromCollection(flags).asFlags(); + public void setMessageFlagsInSpecifiedMailbox(String message, String flags, String mailbox, String mailboxOwner) throws Exception { + Flags newFlags = Keywords.lenientFactory().fromCollection(Splitter.on(',').trimResults().splitToList(flags)).asFlags(); Username username = Username.of(userStepdefs.getConnectedUser()); MessageId messageId = messageIdStepdefs.getMessageId(message); MailboxId mailboxId = mainStepdefs.getMailboxId(mailboxOwner, mailbox); diff --git a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/UserStepdefs.java b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/UserStepdefs.java index e05bb80b26..6a618f59a1 100644 --- a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/UserStepdefs.java +++ b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/UserStepdefs.java @@ -30,6 +30,7 @@ import java.util.Map; import java.util.Optional; import java.util.Set; +import com.google.common.base.Splitter; import javax.inject.Inject; import org.apache.james.core.Username; @@ -90,10 +91,10 @@ public class UserStepdefs { domains.add(domain); } - @Given("^some users (.*)$") - public void createUsers(List<String> users) { - users.stream() - .map(this::unquote) + @Given("^some users \"(.*)\"$") + public void createUsers(String users) { + Splitter.on(',').trimResults() + .splitToStream(users) .forEach(Throwing.consumer(this::createUser)); } diff --git a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/DownloadEndpoint.feature b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/DownloadEndpoint.feature index 627020159c..e676798e2f 100644 --- a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/DownloadEndpoint.feature +++ b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/DownloadEndpoint.feature @@ -23,7 +23,7 @@ Feature: Download endpoint Background: Given a domain named "domain.tld" - And some users "us...@domain.tld", "us...@domain.tld" + And some users "us...@domain.tld, us...@domain.tld" And "us...@domain.tld" has a mailbox "INBOX" And "us...@domain.tld" mailbox "INBOX" contains a message "m1" with an attachment "a1" diff --git a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/DownloadGet.feature b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/DownloadGet.feature index 5132a5fd4d..0e4107f073 100644 --- a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/DownloadGet.feature +++ b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/DownloadGet.feature @@ -70,7 +70,7 @@ Feature: Download GET Scenario: Getting a message then getting its blob Given "al...@domain.tld" has a message "m1" in "INBOX" mailbox with subject "my test subject", content "testmail" - And "al...@domain.tld" ask for messages "m1" + And "al...@domain.tld" ask for message "m1" When "al...@domain.tld" downloads the message by its blobId Then she can read that blob And the blob size is 36 diff --git a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/GetMessages.feature b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/GetMessages.feature index 273ae57c32..4442c04d5c 100644 --- a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/GetMessages.feature +++ b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/GetMessages.feature @@ -28,7 +28,7 @@ Feature: GetMessages method Scenario: Retrieving a message in several mailboxes should return a single message in these mailboxes Given "al...@domain.tld" has a mailbox "custom" And "al...@domain.tld" has a message "m1" in "INBOX" and "custom" mailboxes with subject "my test subject", content "testmail" - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the list should contain 1 message And the id of the message is "m1" @@ -61,7 +61,7 @@ Feature: GetMessages method @BasicFeature Scenario: Retrieving message should return messages when exists Given "al...@domain.tld" has a message "m1" in "INBOX" mailbox with subject "my test subject", content "testmail" - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the list should contain 1 message And the id of the message is "m1" @@ -78,7 +78,7 @@ Feature: GetMessages method Scenario Outline: Retrieving message should return messages when exists and is a html message Given "al...@domain.tld" has a message "m1" in <mailbox> mailbox with content-type <content-type> subject <subject>, content <content> - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the list should contain 1 message And the id of the message is "m1" @@ -100,7 +100,7 @@ Feature: GetMessages method Scenario Outline: Retrieving message should return preview with tags when text message Given "al...@domain.tld" has a message "m1" in <mailbox> mailbox with content-type <content-type> subject <subject>, content <content> - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the list should contain 1 message And the preview of the message is <preview> @@ -111,7 +111,7 @@ Feature: GetMessages method Scenario: Retrieving message should filter properties Given "al...@domain.tld" has a message "m1" in "INBOX" mailbox with subject "my test subject", content "testmail" - When "al...@domain.tld" is getting messages "m1" with properties "id, subject" + When "al...@domain.tld" is getting message "m1" with properties "id, subject" Then no error is returned And the list should contain 1 message And the id of the message is "m1" @@ -127,7 +127,7 @@ Feature: GetMessages method |From |u...@domain.tld | |header1 |Header1Content | |HEADer2 |Header2Content | - When "al...@domain.tld" is getting messages "m1" with properties "headers.from, headers.heADER2" + When "al...@domain.tld" is getting message "m1" with properties "headers.from, headers.heADER2" Then no error is returned And the list should contain 1 message And the id of the message is "m1" @@ -149,7 +149,7 @@ Feature: GetMessages method Scenario: Retrieving message should return mandatory properties when not asked Given "al...@domain.tld" has a message "m1" in "INBOX" mailbox with subject "my test subject", content "testmail" - When "al...@domain.tld" is getting messages "m1" with properties "subject" + When "al...@domain.tld" is getting message "m1" with properties "subject" Then no error is returned And the list should contain 1 message And the id of the message is "m1" @@ -158,27 +158,25 @@ Feature: GetMessages method @BasicFeature Scenario: Retrieving message should return attachments when some Given "al...@domain.tld" has a message "m1" in "INBOX" mailbox with two attachments - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the list should contain 1 message And the hasAttachment of the message is "true" And the list of attachments of the message contains 2 attachments And the first attachment is: - |key | value | - |type |"image/jpeg; name="4037_014.jpg"" | + |type |image/jpeg; name="4037_014.jpg" | |size |846 | |cid |null | |isInline |false | And the second attachment is: - |key | value | - |type |"image/jpeg; name="4037_015.jpg"" | + |type |image/jpeg; name="4037_015.jpg" | |size |597 | - |cid |"part1.37a15c92.a7c34...@linagora.com" | + |cid |part1.37a15c92.a7c34...@linagora.com | |isInline |true | Scenario: Retrieving message should return attachments and html body when some attachments and html message Given "al...@domain.tld" has a message "m1" in "INBOX" mailbox with two attachments - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the list should contain 1 message And the hasAttachment of the message is "true" @@ -189,7 +187,7 @@ Feature: GetMessages method Scenario: Retrieving message should return attachments and text body when some attachments and text message Given "al...@domain.tld" has a message "m1" in "INBOX" mailbox with two attachments in text - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the list should contain 1 message And the hasAttachment of the message is "true" @@ -200,7 +198,7 @@ Feature: GetMessages method Scenario: Retrieving message should return attachments and both html/text body when some attachments and both html/text message Given "al...@domain.tld" has a multipart message "m1" in "INBOX" mailbox - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the list should contain 1 message And the hasAttachment of the message is "true" @@ -211,7 +209,7 @@ Feature: GetMessages method Scenario: Retrieving message should return image and html body when multipart/alternative where first part is multipart/related with html and image Given "al...@domain.tld" has a multipart/related message "m1" in "INBOX" mailbox - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the list should contain 1 message And the hasAttachment of the message is "true" @@ -222,7 +220,7 @@ Feature: GetMessages method Scenario: Retrieving message should return textBody and htmlBody when incoming mail have an inlined HTML and text body without Content-ID Given "al...@domain.tld" has a message "m1" in "INBOX" mailbox, composed of a multipart with inlined text part and inlined html part - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the list should contain 1 message And the textBody of the message is "Hello text body\n" @@ -230,20 +228,20 @@ Feature: GetMessages method Scenario: Retrieving message with more than 1000 char by line should return message when exists Given "al...@domain.tld" has a message "m1" in "INBOX" mailbox beginning by a long line - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the list should contain 1 message And the id of the message is "m1" Scenario: Given "al...@domain.tld" has a message "m1" in "INBOX" mailbox with two same attachments in text - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the list of attachments of the message contains 2 attachments Scenario: Retrieving message should read content from multipart when some inline attachment and both html/text multipart Given "al...@domain.tld" has a message "m1" in "INBOX" mailbox with plain/text inline attachment - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the list should contain 1 message And the hasAttachment of the message is "false" @@ -252,7 +250,7 @@ Feature: GetMessages method Scenario: Retrieving message should find html body when text in main multipart and html in inner multipart Given "al...@domain.tld" has a message "m1" in "INBOX" mailbox with text in main multipart and html in inner multipart - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the list should contain 1 message And the textBody of the message is "/blabla/\r\n*bloblo*\r\n" @@ -260,7 +258,7 @@ Feature: GetMessages method Scenario: Retrieving message should compute text body from html body Given "al...@domain.tld" has a message "m1" in "INBOX" mailbox with html body and no text body - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the list should contain 1 message And the textBody of the message is "The Test User created an issue" @@ -268,40 +266,38 @@ Feature: GetMessages method Scenario: Retrieving message with inline attachment but no CID should convert that inlined attachment to normal attachment Given "al...@domain.tld" has a message "m1" in "INBOX" mailbox with inline attachment but no CID - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the list should contain 1 message And the hasAttachment of the message is "true" And the list of attachments of the message contains 1 attachments And the first attachment is: - |key | value | - |type |"application/pdf; x-unix-mode=0644; name="deromaCollection-628.pdf"" | + |type |application/pdf; x-unix-mode=0644; name="deromaCollection-628.pdf" | |cid |null | |isInline |false | Scenario: Retrieving message with inline attachment and blank CID should convert that inlined attachment to normal attachment Given "al...@domain.tld" has a message "m1" in "INBOX" mailbox with inline attachment and blank CID - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the list should contain 1 message And the hasAttachment of the message is "true" And the list of attachments of the message contains 1 attachments And the first attachment is: - |key | value | - |type |"application/pdf; x-unix-mode=0644; name="deromaCollection-628.pdf"" | + |type |application/pdf; x-unix-mode=0644; name="deromaCollection-628.pdf" | |cid |null | |isInline |false | Scenario: Preview should be computed even when HTML body contains many tags without content Given "al...@domain.tld" has a message "m1" in "INBOX" mailbox with HTML body with many empty tags - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the list should contain 1 message And the preview of the message is not empty Scenario: Retrieving message which contains multiple same inlined attachments Given "al...@domain.tld" has a message "m1" in the "INBOX" mailbox with multiple same inlined attachments "ia1" - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the list should contain 1 message And the hasAttachment of the message is "false" @@ -309,7 +305,7 @@ Feature: GetMessages method Scenario: Preview and bodies should respect given charset Given "al...@domain.tld" has a message "m1" in "INBOX" mailbox with specific charset - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the list should contain 1 message And the preview of the message is "àààà éééé èèèè" @@ -318,7 +314,7 @@ Feature: GetMessages method Scenario: Preview should be normalized in case of long and complicated HTML content Given "al...@domain.tld" has a message "m1" in "INBOX" mailbox with long and complicated HTML content - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the list should contain 1 message And the preview of the message is not empty @@ -327,19 +323,19 @@ Feature: GetMessages method Scenario Outline: Preview should display printable characters with charset Given "al...@domain.tld" has a message "m1" in "INBOX" mailbox with content-type <content-type> subject "Subject", content <content>, headers |Content-Transfer-Encoding |<tranfer-encoding> | - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the list should contain 1 message - And the preview of the message contains: <preview> + And the preview of the message contains: "<preview>" Examples: |content-type |tranfer-encoding |content |preview | - |"text/html; charset=iso-8859-1" |quoted-printable |"Dans le cadre du stage effectu=E9 Mlle 2017, =E0 sign=E9e d=E8s que possible, =E0, tr=E8s, journ=E9e.." |effectué, à, signée dès, très, journée | + |"text/html; charset=iso-8859-1" |quoted-printable |"Dans le cadre du stage effectu=E9 Mlle 2017, =E0 sign=E9e d=E8s que possible, =E0, tr=E8s, journ=E9e.." |effectué Mlle 2017, à signée dès que possible, à, très, journée | @BasicFeature Scenario Outline: Retrieving message should display keywords as jmap flag Given "al...@domain.tld" has a message "m1" in the "INBOX" mailbox with flags <flags> - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the list should contain 1 message And the keywords of the message is <keyword> @@ -350,7 +346,7 @@ Feature: GetMessages method Scenario Outline: GetMessages should filter invalid keywords Given "al...@domain.tld" has a message "m1" in the "INBOX" mailbox with flags <flags> - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the list should contain 1 message And the keywords of the message is <keyword> @@ -361,7 +357,7 @@ Feature: GetMessages method Scenario Outline: Retrieving message should display keywords without unsupported jmap flag Given "al...@domain.tld" has a message "m1" in the "INBOX" mailbox with flags <flags> - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the list should contain 1 message And the keywords of the message is <keyword> @@ -372,7 +368,7 @@ Feature: GetMessages method Scenario Outline: Retrieving message should display keywords with custom user jmap flag Given "al...@domain.tld" has a message "m1" in the "INBOX" mailbox with flags <flags> - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the list should contain 1 message And the keywords of the message is <keyword> @@ -383,70 +379,66 @@ Feature: GetMessages method Scenario: Retrieving message should include true isForwarded property when set Given "al...@domain.tld" has a message "m1" in the "INBOX" mailbox with flags "$Forwarded" - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the list should contain 1 message And the isForwarded property of the message is "true" Scenario: Retrieving message should include false isForwarded property when not set Given "al...@domain.tld" has a message "m1" in the "INBOX" mailbox with flags "$Answered" - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the list should contain 1 message And the isForwarded property of the message is "false" Scenario: Retrieving message should be possible when message with inlined attachment but without content disposition Given "al...@domain.tld" has a message "m1" in the "INBOX" mailbox with inlined attachments without content disposition - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the list should contain 1 message And the hasAttachment of the message is "true" And the list of attachments of the message contains 1 attachments And the first attachment is: - |key | value | - |type |"application/octet-stream; name="encrypted.asc"" | + |type |application/octet-stream; name="encrypted.asc" | |cid |null | - |name |"encrypted.asc" | + |name |encrypted.asc | |isInline |false | Scenario: Retrieving message should be possible when message with inlined image but without content disposition Given "al...@domain.tld" has a message "m1" in the "INBOX" mailbox with inlined image without content disposition - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the list should contain 1 message And the hasAttachment of the message is "true" And the list of attachments of the message contains 1 attachments And the first attachment is: - |key | value | - |type |"image/png; name=vlc.png" | - |cid |"14672787885774e5c4d4cee471352...@linagora.com" | - |name |"vlc.png" | + |type |image/png; name=vlc.png | + |cid |14672787885774e5c4d4cee471352...@linagora.com | + |name |vlc.png | |isInline |false | Scenario: Retrieving message should be possible when message with inlined attachment but without content ID Given "al...@domain.tld" has a message "m1" in the "INBOX" mailbox with inlined image without content ID - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the list should contain 1 message And the hasAttachment of the message is "true" And the list of attachments of the message contains 1 attachments And the first attachment is: - |key | value | - |type |"image/jpeg; name=IMG_6112.JPG; x-apple-part-url=B11616AF-86EB-47AF-863A-176A823498DB" | + |type |image/jpeg; name=IMG_6112.JPG; x-apple-part-url=B11616AF-86EB-47AF-863A-176A823498DB | |cid |null | - |name |"IMG_6112.JPG" | + |name |IMG_6112.JPG | |isInline |false | Scenario: Header only text calendar should be read as normal calendar attachment by JMAP Given "al...@domain.tld" receives a SMTP message specified in file "eml/ics_in_header.eml" as message "m1" - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the list should contain 1 message And the hasAttachment of the message is "true" And the list of attachments of the message contains 1 attachments And the first attachment is: - |key | value | - |type |"text/calendar; method=REPLY; charset=UTF-8; name=event.ics" | + |type |text/calendar; method=REPLY; charset=UTF-8; name=event.ics | |size |1096 | - |name |"event.ics" | + |name |event.ics | |isInline |false | diff --git a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/ImapKeywordsConsistency.feature b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/ImapKeywordsConsistency.feature index 2cf97cb246..2c4df38546 100644 --- a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/ImapKeywordsConsistency.feature +++ b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/ImapKeywordsConsistency.feature @@ -30,7 +30,7 @@ Feature: Impact of IMAP on JMAP keywords consistency And "usern...@domain.tld" copies "m1" from mailbox "source" to mailbox "mailbox" And the user has an open IMAP connection with mailbox "<mailbox>" selected And the user set flags via IMAP to "(\Flagged)" for all messages in mailbox "<mailbox>" - When the user ask for messages "m1" + When the user ask for message "m1" Then no error is returned And the list should contain 1 message And the id of the message is "m1" @@ -46,7 +46,7 @@ Feature: Impact of IMAP on JMAP keywords consistency And "usern...@domain.tld" copies "m1" from mailbox "source" to mailbox "mailbox" And the user has an open IMAP connection with mailbox "<mailbox>" selected And the user set flags via IMAP to "(\Draft)" for all messages in mailbox "<mailbox>" - When the user ask for messages "m1" + When the user ask for message "m1" Then no error is returned And the list should contain 1 message And the id of the message is "m1" @@ -102,7 +102,7 @@ Feature: Impact of IMAP on JMAP keywords consistency And the user has an open IMAP connection with mailbox "mailbox" selected And the user set flags via IMAP to "(\Flagged)" for all messages in mailbox "mailbox" When "usern...@domain.tld" sets flags "$Flagged" on message "m1" - Then the user ask for messages "m1" + Then the user ask for message "m1" And no error is returned And the list should contain 1 message And the id of the message is "m1" @@ -131,7 +131,7 @@ Feature: Impact of IMAP on JMAP keywords consistency And the user has an open IMAP connection with mailbox "mailbox" selected And the user set flags via IMAP to "(\Flagged)" for all messages in mailbox "mailbox" When "usern...@domain.tld" sets flags "$Answered" on message "m1" - Then the user ask for messages "m1" + Then the user ask for message "m1" And no error is returned And the list should contain 1 message And the id of the message is "m1" diff --git a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/CopyAndSharing.feature b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/CopyAndSharing.feature index 3e23a28d0c..dd8a0da80c 100644 --- a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/CopyAndSharing.feature +++ b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/CopyAndSharing.feature @@ -22,7 +22,7 @@ Feature: Copy message and sharing Background: Given a domain named "domain.tld" - And some users "al...@domain.tld", "b...@domain.tld" + And some users "al...@domain.tld, b...@domain.tld" And "al...@domain.tld" has a mailbox "shared" And "al...@domain.tld" has a mailbox "INBOX" And "al...@domain.tld" shares her mailbox "shared" with "b...@domain.tld" with "aeilrwt" rights diff --git a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/DownloadAndSharing.feature b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/DownloadAndSharing.feature index ec45a5bf39..5fd161cc0c 100644 --- a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/DownloadAndSharing.feature +++ b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/DownloadAndSharing.feature @@ -22,7 +22,7 @@ Feature: Download endpoint and shared mailbox Background: Given a domain named "domain.tld" - And some users "al...@domain.tld", "b...@domain.tld", "some...@domain.tld" + And some users "al...@domain.tld, b...@domain.tld, some...@domain.tld" And "al...@domain.tld" has a mailbox "shared" And "al...@domain.tld" mailbox "shared" contains a message "m1" with an attachment "a1" And "al...@domain.tld" shares his mailbox "shared" with "b...@domain.tld" with "lr" rights diff --git a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/GetMessageAndSharing.feature b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/GetMessageAndSharing.feature index ebee883a2c..8789af5468 100644 --- a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/GetMessageAndSharing.feature +++ b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/GetMessageAndSharing.feature @@ -22,7 +22,7 @@ Feature: GetMessages method on shared mailbox Background: Given a domain named "domain.tld" - And some users "al...@domain.tld", "b...@domain.tld", "some...@domain.tld" + And some users "al...@domain.tld, b...@domain.tld, some...@domain.tld" And "al...@domain.tld" has a mailbox "INBOX" And "al...@domain.tld" has a mailbox "shared" And "al...@domain.tld" shares her mailbox "shared" with "b...@domain.tld" with "lr" rights @@ -30,20 +30,20 @@ Feature: GetMessages method on shared mailbox @BasicFeature Scenario: Retrieving a message in a mailbox delegated to me - When "b...@domain.tld" ask for messages "m1" + When "b...@domain.tld" ask for message "m1" Then no error is returned And the list should contain 1 message And the id of the message is "m1" Scenario: Retrieving a message in a mailbox delegated to someone else - When "some...@domain.tld" ask for messages "m1" + When "some...@domain.tld" ask for message "m1" Then no error is returned And the list of messages is empty Scenario: Retrieving a message in a mailbox not delegated to me Given "al...@domain.tld" has a mailbox "notShared" And "al...@domain.tld" has a message "m2" in "notShared" mailbox with subject "my test subject", content "testmail" - When "b...@domain.tld" ask for messages "m2" + When "b...@domain.tld" ask for message "m2" Then no error is returned And the list should contain 0 message diff --git a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/KeywordsConsistencyOnDelegationMailbox.feature b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/KeywordsConsistencyOnDelegationMailbox.feature index 8631a12e15..b83154dea1 100644 --- a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/KeywordsConsistencyOnDelegationMailbox.feature +++ b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/KeywordsConsistencyOnDelegationMailbox.feature @@ -20,7 +20,7 @@ Feature: Keywords consistency on delegation mailbox Background: Given a domain named "domain.tld" - And some users "al...@domain.tld", "b...@domain.tld" + And some users "al...@domain.tld, b...@domain.tld" And "al...@domain.tld" has a mailbox "notShared" And "al...@domain.tld" has a mailbox "shared" And "al...@domain.tld" shares its mailbox "shared" with rights "lrw" with "b...@domain.tld" @@ -59,20 +59,20 @@ Feature: Keywords consistency on delegation mailbox Scenario: getMessage with shared user should return message with combine flag when delegation mailbox Given message "m1" has flags $Flagged in mailbox "shared" of user "al...@domain.tld" - When "b...@domain.tld" ask for messages "m1" + When "b...@domain.tld" ask for message "m1" Then no error is returned And the keywords of the message is $Flagged Scenario: getMessage of owner mailbox should return message with combine flag when delegation mailbox Given message "m1" has flags $Flagged in mailbox "shared" of user "al...@domain.tld" - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the keywords of the message is $Flagged Scenario: message should update message status based on delegation mailbox Given "al...@domain.tld" sets flags "$Flagged,$Seen" on message "m1" And "b...@domain.tld" sets flags "$Seen" on message "m1" - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the message has IMAP flag "\Flagged \Seen" in mailbox "notShared" for "al...@domain.tld" And the message has IMAP flag "\Seen" in mailbox "shared" for "al...@domain.tld" @@ -80,7 +80,7 @@ Feature: Keywords consistency on delegation mailbox Scenario: message should keep origin message status when cut the sharing Given "b...@domain.tld" sets flags "$Flagged" on message "m1" And "al...@domain.tld" shares its mailbox "shared" with rights "" with "b...@domain.tld" - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the message has IMAP flag "\Flagged" in mailbox "shared" for "al...@domain.tld" And the message has IMAP flag "" in mailbox "notShared" for "al...@domain.tld" @@ -89,52 +89,52 @@ Feature: Keywords consistency on delegation mailbox Given message "m1" has flags $Flagged in mailbox "notShared" of user "al...@domain.tld" And message "m1" has flags $Seen in mailbox "shared" of user "al...@domain.tld" And "al...@domain.tld" shares its mailbox "shared" with rights "" with "b...@domain.tld" - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the keywords of the message is $Flagged,$Seen Scenario: getMessage on mailbox should keep its flag as it is when owner Given "al...@domain.tld" sets flags "$Flagged" on message "m1" - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the message has IMAP flag "\Flagged" in mailbox "shared" for "al...@domain.tld" And the message has IMAP flag "\Flagged" in mailbox "notShared" for "al...@domain.tld" Scenario: messages should keep Draft flag as it is when onwer Given message "m1" has flags $Draft in mailbox "shared" of user "al...@domain.tld" - When "b...@domain.tld" ask for messages "m1" + When "b...@domain.tld" ask for message "m1" Then no error is returned And the keywords of the message is $Draft Scenario: message should intersect flag when Draft Given message "m1" has flags $Draft in mailbox "shared" of user "al...@domain.tld" - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the message has no keyword Scenario: message should intersect flag when Draft after cut sharing Given message "m1" has flags $Draft in mailbox "shared" of user "al...@domain.tld" And "al...@domain.tld" shares its mailbox "shared" with rights "" with "b...@domain.tld" - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the message has no keyword Scenario: message should combine flag if not Draft Given the user has an open IMAP connection with mailbox "shared" selected And the user set flags via IMAP to "\FLAGGED" for all messages in mailbox "shared" - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the keywords of the message is $Flagged Scenario: message should combine flag if not Draft on all mailboxes Given "al...@domain.tld" sets flags "$Flagged" on message "m1" - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the keywords of the message is $Flagged Scenario: message should intersect Draft flag with onwer mailbox Given the user has an open IMAP connection with mailbox "shared" selected And the user set flags via IMAP to "\DRAFT" for all messages in mailbox "shared" - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the message has no keyword diff --git a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/MailboxCreationAndSharing.feature b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/MailboxCreationAndSharing.feature index 0aa408158e..989fed4743 100644 --- a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/MailboxCreationAndSharing.feature +++ b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/MailboxCreationAndSharing.feature @@ -22,7 +22,7 @@ Feature: Mailbox creation and sharing Background: Given a domain named "domain.tld" - And some users "al...@domain.tld", "b...@domain.tld" + And some users "al...@domain.tld, b...@domain.tld" And "al...@domain.tld" has a mailbox "shared" And "al...@domain.tld" shares her mailbox "shared" with "b...@domain.tld" with "aeilrwt" rights diff --git a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/MoveMailboxAndSharing.feature b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/MoveMailboxAndSharing.feature index 196a1c2be6..02e0324db1 100644 --- a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/MoveMailboxAndSharing.feature +++ b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/MoveMailboxAndSharing.feature @@ -22,7 +22,7 @@ Feature: Moving mailbox and sharing Background: Given a domain named "domain.tld" - And some users "al...@domain.tld", "b...@domain.tld" + And some users "al...@domain.tld, b...@domain.tld" And "al...@domain.tld" has a mailbox "shared" And "al...@domain.tld" shares her mailbox "shared" with "b...@domain.tld" with "aeilrwt" rights And "al...@domain.tld" has a mailbox "shared.sharedChild" diff --git a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/MoveMessageAndSharing.feature b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/MoveMessageAndSharing.feature index 0fc2155177..3b7b4e2fb0 100644 --- a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/MoveMessageAndSharing.feature +++ b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/MoveMessageAndSharing.feature @@ -22,7 +22,7 @@ Feature: Move message and sharing Background: Given a domain named "domain.tld" - And some users "al...@domain.tld", "b...@domain.tld" + And some users "al...@domain.tld, b...@domain.tld" And "al...@domain.tld" has a mailbox "shared" And "al...@domain.tld" has a mailbox "INBOX" And "al...@domain.tld" shares her mailbox "shared" with "b...@domain.tld" with "aeilrwt" rights diff --git a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/RenamingMailboxAndSharing.feature b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/RenamingMailboxAndSharing.feature index 31f544c488..8893bce688 100644 --- a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/RenamingMailboxAndSharing.feature +++ b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/RenamingMailboxAndSharing.feature @@ -22,7 +22,7 @@ Feature: Renaming mailbox and sharing Background: Given a domain named "domain.tld" - And some users "al...@domain.tld", "b...@domain.tld" + And some users "al...@domain.tld, b...@domain.tld" And "al...@domain.tld" has a mailbox "shared" And "al...@domain.tld" shares her mailbox "shared" with "b...@domain.tld" with "aeilrwt" rights diff --git a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/SetFlagAndSharing.feature b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/SetFlagAndSharing.feature index a4cd7c944f..4d857c93b8 100644 --- a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/SetFlagAndSharing.feature +++ b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/SetFlagAndSharing.feature @@ -22,7 +22,7 @@ Feature: Set flag and sharing Background: Given a domain named "domain.tld" - And some users "al...@domain.tld", "b...@domain.tld" + And some users "al...@domain.tld, b...@domain.tld" And "al...@domain.tld" has a mailbox "shared" And "al...@domain.tld" shares her mailbox "shared" with "b...@domain.tld" with "aeilrwt" rights And "al...@domain.tld" has a message "m1" in "shared" mailbox diff --git a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/SetMessagesOnSharedMailbox.feature b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/SetMessagesOnSharedMailbox.feature index dc5d7c650e..cd18dc1ba5 100644 --- a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/SetMessagesOnSharedMailbox.feature +++ b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/SetMessagesOnSharedMailbox.feature @@ -22,7 +22,7 @@ Feature: SetMessages method on shared folders Background: Given a domain named "domain.tld" - And some users "al...@domain.tld", "b...@domain.tld" + And some users "al...@domain.tld, b...@domain.tld" And "b...@domain.tld" has a mailbox "shared" And "b...@domain.tld" has a mailbox "Outbox" And "al...@domain.tld" has a mailbox "INBOX" diff --git a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/SharingParentMailboxWithAndWithoutChildren.feature b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/SharingParentMailboxWithAndWithoutChildren.feature index 24aaabd2c1..b17be55717 100644 --- a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/SharingParentMailboxWithAndWithoutChildren.feature +++ b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/resources/cucumber/sharing/SharingParentMailboxWithAndWithoutChildren.feature @@ -59,32 +59,32 @@ Feature: Share parent mailbox without sharing submailbox And the mailbox "secret" has 1 messages Scenario: Alice can get message from her root shared mailbox - When "al...@domain.tld" ask for messages "m1" + When "al...@domain.tld" ask for message "m1" Then no error is returned And the list should contain 1 message Scenario: Alice can get message from her children shared mailbox - When "al...@domain.tld" ask for messages "m3" + When "al...@domain.tld" ask for message "m3" Then no error is returned And the list should contain 1 message Scenario: Alice can get message from her not shared mailbox - When "al...@domain.tld" ask for messages "m2" + When "al...@domain.tld" ask for message "m2" Then no error is returned And the list should contain 1 message Scenario: Bob can get message from root shared mailbox - When "b...@domain.tld" ask for messages "m1" + When "b...@domain.tld" ask for message "m1" Then no error is returned And the list should contain 1 message Scenario: Bob can get message from children shared mailbox - When "b...@domain.tld" ask for messages "m3" + When "b...@domain.tld" ask for message "m3" Then no error is returned And the list should contain 1 message Scenario: Bob can not get message from mailbox not shared with him - When "b...@domain.tld" ask for messages "m2" + When "b...@domain.tld" ask for message "m2" Then the list should contain 0 message Scenario: Alice can list message from her shared root mailbox diff --git a/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryDownloadCucumberTest.java b/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryDownloadEnpointCucumberTest.java similarity index 91% rename from server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryDownloadCucumberTest.java rename to server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryDownloadEnpointCucumberTest.java index 96fa0e48ac..59b62c5c50 100644 --- a/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryDownloadCucumberTest.java +++ b/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryDownloadEnpointCucumberTest.java @@ -28,9 +28,9 @@ import org.junit.platform.suite.api.SelectClasspathResource; import org.junit.platform.suite.api.Suite; @Suite -@SelectClasspathResource("cucumber/DownloadEndpoint.feature,cucumber/DownloadGet.feature,cucumber/DownloadPost.feature") +@SelectClasspathResource("cucumber/DownloadEndpoint.feature") @IncludeEngines("cucumber") @ConfigurationParameter(key = GLUE_PROPERTY_NAME, value = "org.apache.james.jmap.draft.methods.integration,org.apache.james.jmap.memory.cucumber") @ConfigurationParameter(key = FILTER_TAGS_PROPERTY_NAME, value = "not @Ignore") -public class MemoryDownloadCucumberTest { +public class MemoryDownloadEnpointCucumberTest { } diff --git a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQIMAPKeywordsInconsistenciesTest.java b/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryDownloadGetCucumberTest.java similarity index 82% rename from server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQIMAPKeywordsInconsistenciesTest.java rename to server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryDownloadGetCucumberTest.java index 0a4a14e849..79629bb7b7 100644 --- a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQIMAPKeywordsInconsistenciesTest.java +++ b/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryDownloadGetCucumberTest.java @@ -17,23 +17,20 @@ * under the License. * ****************************************************************/ -package org.apache.james.jmap.rabbitmq.cucumber.awss3; +package org.apache.james.jmap.memory.cucumber; import static io.cucumber.core.options.Constants.FILTER_TAGS_PROPERTY_NAME; import static io.cucumber.core.options.Constants.GLUE_PROPERTY_NAME; -import org.apache.james.jmap.categories.EnableCucumber; -import org.junit.experimental.categories.Category; import org.junit.platform.suite.api.ConfigurationParameter; import org.junit.platform.suite.api.IncludeEngines; import org.junit.platform.suite.api.SelectClasspathResource; import org.junit.platform.suite.api.Suite; -@Category(EnableCucumber.class) @Suite -@SelectClasspathResource("cucumber/ImapKeywordsConsistency.feature") +@SelectClasspathResource("cucumber/DownloadGet.feature") @IncludeEngines("cucumber") -@ConfigurationParameter(key = GLUE_PROPERTY_NAME, value = "org.apache.james.jmap.draft.methods.integration,org.apache.james.jmap.rabbitmq.cucumber.awss3") -@ConfigurationParameter(key = FILTER_TAGS_PROPERTY_NAME, value = "not @Ignore, @BasicFeature") -public class RabbitMQIMAPKeywordsInconsistenciesTest { +@ConfigurationParameter(key = GLUE_PROPERTY_NAME, value = "org.apache.james.jmap.draft.methods.integration,org.apache.james.jmap.memory.cucumber") +@ConfigurationParameter(key = FILTER_TAGS_PROPERTY_NAME, value = "not @Ignore") +public class MemoryDownloadGetCucumberTest { } diff --git a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQIMAPSetMessagesCompatibilityTest.java b/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryDownloadPostCucumberTest.java similarity index 81% rename from server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQIMAPSetMessagesCompatibilityTest.java rename to server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryDownloadPostCucumberTest.java index 9abba3d18a..39deea1509 100644 --- a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQIMAPSetMessagesCompatibilityTest.java +++ b/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryDownloadPostCucumberTest.java @@ -17,23 +17,20 @@ * under the License. * ****************************************************************/ -package org.apache.james.jmap.rabbitmq.cucumber.awss3; +package org.apache.james.jmap.memory.cucumber; import static io.cucumber.core.options.Constants.FILTER_TAGS_PROPERTY_NAME; import static io.cucumber.core.options.Constants.GLUE_PROPERTY_NAME; -import org.apache.james.jmap.categories.EnableCucumber; -import org.junit.experimental.categories.Category; import org.junit.platform.suite.api.ConfigurationParameter; import org.junit.platform.suite.api.IncludeEngines; import org.junit.platform.suite.api.SelectClasspathResource; import org.junit.platform.suite.api.Suite; -@Category(EnableCucumber.class) @Suite -@SelectClasspathResource("cucumber/ImapSetMessagesMailboxesUpdatesCompatibility.feature") +@SelectClasspathResource("cucumber/DownloadPost.feature") @IncludeEngines("cucumber") -@ConfigurationParameter(key = GLUE_PROPERTY_NAME, value = "org.apache.james.jmap.draft.methods.integration,org.apache.james.jmap.rabbitmq.cucumber.awss3") -@ConfigurationParameter(key = FILTER_TAGS_PROPERTY_NAME, value = "not @Ignore, @BasicFeature") -public class RabbitMQIMAPSetMessagesCompatibilityTest { +@ConfigurationParameter(key = GLUE_PROPERTY_NAME, value = "org.apache.james.jmap.draft.methods.integration,org.apache.james.jmap.memory.cucumber") +@ConfigurationParameter(key = FILTER_TAGS_PROPERTY_NAME, value = "not @Ignore") +public class MemoryDownloadPostCucumberTest { } diff --git a/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemorySetMailboxesMethodCucumberTest.java b/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemorySetMailboxesMethodCucumberTest.java index 8ed62271e7..68a7e1f97d 100644 --- a/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemorySetMailboxesMethodCucumberTest.java +++ b/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemorySetMailboxesMethodCucumberTest.java @@ -28,7 +28,7 @@ import org.junit.platform.suite.api.SelectClasspathResource; import org.junit.platform.suite.api.Suite; @Suite -@SelectClasspathResource("cucumber/MailboxModification.feature,cucumber/SetMailboxes.feature") +@SelectClasspathResource("cucumber/MailboxModification.feature") @IncludeEngines("cucumber") @ConfigurationParameter(key = GLUE_PROPERTY_NAME, value = "org.apache.james.jmap.draft.methods.integration,org.apache.james.jmap.memory.cucumber") @ConfigurationParameter(key = FILTER_TAGS_PROPERTY_NAME, value = "not @Ignore") diff --git a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/CucumberAwsS3Singleton.java b/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/CucumberAwsS3Singleton.java deleted file mode 100644 index e581eca666..0000000000 --- a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/CucumberAwsS3Singleton.java +++ /dev/null @@ -1,27 +0,0 @@ -/**************************************************************** - * 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.rabbitmq.cucumber.awss3; - -import org.apache.james.modules.objectstorage.aws.s3.DockerAwsS3TestRule; - -public class CucumberAwsS3Singleton { - - public static DockerAwsS3TestRule awsS3Server = new DockerAwsS3TestRule(); -} - diff --git a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/CucumberCassandraSingleton.java b/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/CucumberCassandraSingleton.java deleted file mode 100644 index a3fcd98983..0000000000 --- a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/CucumberCassandraSingleton.java +++ /dev/null @@ -1,27 +0,0 @@ -/**************************************************************** - * 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.rabbitmq.cucumber.awss3; - -import org.apache.james.DockerCassandraRule; - -class CucumberCassandraSingleton { - - static DockerCassandraRule cassandraServer = new DockerCassandraRule(); - -} diff --git a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/CucumberOpenSearchSingleton.java b/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/CucumberOpenSearchSingleton.java deleted file mode 100644 index a0419cb172..0000000000 --- a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/CucumberOpenSearchSingleton.java +++ /dev/null @@ -1,27 +0,0 @@ -/**************************************************************** - * 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.rabbitmq.cucumber.awss3; - -import org.apache.james.DockerOpenSearchRule; - -class CucumberOpenSearchSingleton { - - static final DockerOpenSearchRule elasticSearch = new DockerOpenSearchRule(); - -} diff --git a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/CucumberRabbitMQSingleton.java b/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/CucumberRabbitMQSingleton.java deleted file mode 100644 index aa22904184..0000000000 --- a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/CucumberRabbitMQSingleton.java +++ /dev/null @@ -1,26 +0,0 @@ -/**************************************************************** - * 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.rabbitmq.cucumber.awss3; - -import org.apache.james.modules.DockerRabbitMQRule; - -class CucumberRabbitMQSingleton { - - static DockerRabbitMQRule rabbitMQServer = new DockerRabbitMQRule(); -} diff --git a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQAwsS3Stepdefs.java b/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQAwsS3Stepdefs.java deleted file mode 100644 index 6412d813b0..0000000000 --- a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQAwsS3Stepdefs.java +++ /dev/null @@ -1,121 +0,0 @@ -/**************************************************************** - * 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.rabbitmq.cucumber.awss3; - -import java.util.Arrays; - -import io.cucumber.guice.ScenarioScoped; -import javax.inject.Inject; - -import org.apache.james.CassandraRabbitMQJamesConfiguration; -import org.apache.james.CassandraRabbitMQJamesServerMain; -import org.apache.james.CleanupTasksPerformer; -import org.apache.james.DockerCassandraRule; -import org.apache.james.DockerOpenSearchRule; -import org.apache.james.SearchConfiguration; -import org.apache.james.jmap.draft.methods.integration.cucumber.ImapStepdefs; -import org.apache.james.jmap.draft.methods.integration.cucumber.MainStepdefs; -import org.apache.james.mailbox.cassandra.ids.CassandraMessageId; -import org.apache.james.modules.DockerRabbitMQRule; -import org.apache.james.modules.TestJMAPServerModule; -import org.apache.james.modules.TestRabbitMQModule; -import org.apache.james.modules.blobstore.BlobStoreConfiguration; -import org.apache.james.modules.objectstorage.aws.s3.DockerAwsS3TestRule; -import org.apache.james.server.CassandraTruncateTableTask; -import org.junit.rules.TemporaryFolder; - -import com.github.fge.lambdas.runnable.ThrowingRunnable; -import com.google.inject.multibindings.Multibinder; - -import io.cucumber.java.After; -import io.cucumber.java.Before; - -@ScenarioScoped -public class RabbitMQAwsS3Stepdefs { - - private final MainStepdefs mainStepdefs; - private final ImapStepdefs imapStepdefs; - private final TemporaryFolder temporaryFolder = new TemporaryFolder(); - private final DockerCassandraRule cassandraServer = CucumberCassandraSingleton.cassandraServer; - private final DockerOpenSearchRule elasticSearch = CucumberOpenSearchSingleton.elasticSearch; - private final DockerRabbitMQRule rabbitMQServer = CucumberRabbitMQSingleton.rabbitMQServer; - private final DockerAwsS3TestRule awsS3Server = CucumberAwsS3Singleton.awsS3Server; - - @Inject - private RabbitMQAwsS3Stepdefs(MainStepdefs mainStepdefs, ImapStepdefs imapStepdefs) { - this.mainStepdefs = mainStepdefs; - this.imapStepdefs = imapStepdefs; - } - - @Before - public void init() throws Exception { - cassandraServer.start(); - rabbitMQServer.start(); - awsS3Server.start(); - elasticSearch.start(); - - temporaryFolder.create(); - mainStepdefs.messageIdFactory = new CassandraMessageId.Factory(); - CassandraRabbitMQJamesConfiguration configuration = CassandraRabbitMQJamesConfiguration.builder() - .enableJMAP() - .workingDirectory(temporaryFolder.newFolder()) - .configurationFromClasspath() - .blobStore(BlobStoreConfiguration.builder() - .s3() - .disableCache() - .deduplication() - .noCryptoConfig()) - .searchConfiguration(SearchConfiguration.openSearch()) - .build(); - - mainStepdefs.jmapServer = CassandraRabbitMQJamesServerMain.createServer(configuration) - .overrideWith(new TestJMAPServerModule()) - .overrideWith(new TestRabbitMQModule(rabbitMQServer.dockerRabbitMQ())) - .overrideWith(awsS3Server.getModule()) - .overrideWith(elasticSearch.getModule()) - .overrideWith(cassandraServer.getModule()) - .overrideWith(binder -> Multibinder.newSetBinder(binder, CleanupTasksPerformer.CleanupTask.class).addBinding().to(CassandraTruncateTableTask.class)) - .overrideWith((binder -> binder.bind(CleanupTasksPerformer.class).asEagerSingleton())); - mainStepdefs.awaitMethod = () -> elasticSearch.getDockerEs().flushIndices(); - mainStepdefs.init(); - } - - @After - public void tearDown() { - ignoreFailures(imapStepdefs::closeConnections, - mainStepdefs::tearDown, - () -> elasticSearch.getDockerEs().cleanUpData(), - () -> temporaryFolder.delete()); - } - - private void ignoreFailures(ThrowingRunnable... cleaners) { - Arrays.stream(cleaners) - .forEach(this::runSwallowingException); - } - - private void runSwallowingException(Runnable run) { - try { - run.run(); - } catch (Exception e) { - // ignore - } - } -} - diff --git a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQDownloadCucumberTest.java b/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQDownloadCucumberTest.java deleted file mode 100644 index b0246828ea..0000000000 --- a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQDownloadCucumberTest.java +++ /dev/null @@ -1,40 +0,0 @@ -/**************************************************************** - * 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.rabbitmq.cucumber.awss3; - -import static io.cucumber.core.options.Constants.FILTER_TAGS_PROPERTY_NAME; -import static io.cucumber.core.options.Constants.GLUE_PROPERTY_NAME; - -import org.apache.james.jmap.categories.EnableCucumber; -import org.apache.james.junit.categories.Unstable; -import org.junit.experimental.categories.Category; -import org.junit.platform.suite.api.ConfigurationParameter; -import org.junit.platform.suite.api.IncludeEngines; -import org.junit.platform.suite.api.SelectClasspathResource; -import org.junit.platform.suite.api.Suite; - -@Category({EnableCucumber.class, Unstable.class}) -@Suite -@IncludeEngines("cucumber") -@SelectClasspathResource("cucumber/DownloadEndpoint.feature,cucumber/DownloadGet.feature,cucumber/DownloadPost.feature") -@ConfigurationParameter(key = GLUE_PROPERTY_NAME, value = "org.apache.james.jmap.draft.methods.integration,org.apache.james.jmap.rabbitmq.cucumber.awss3") -@ConfigurationParameter(key = FILTER_TAGS_PROPERTY_NAME, value = "not @Ignore, @BasicFeature") -public class RabbitMQDownloadCucumberTest { -} diff --git a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQGetMessagesMethodTest.java b/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQGetMessagesMethodTest.java deleted file mode 100644 index ed26f92d7f..0000000000 --- a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQGetMessagesMethodTest.java +++ /dev/null @@ -1,40 +0,0 @@ -/**************************************************************** - * 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.rabbitmq.cucumber.awss3; - -import static io.cucumber.core.options.Constants.FILTER_TAGS_PROPERTY_NAME; -import static io.cucumber.core.options.Constants.GLUE_PROPERTY_NAME; - -import org.apache.james.jmap.categories.EnableCucumber; -import org.apache.james.junit.categories.Unstable; -import org.junit.experimental.categories.Category; -import org.junit.platform.suite.api.ConfigurationParameter; -import org.junit.platform.suite.api.IncludeEngines; -import org.junit.platform.suite.api.SelectClasspathResource; -import org.junit.platform.suite.api.Suite; - -@Category({EnableCucumber.class, Unstable.class}) -@Suite -@IncludeEngines("cucumber/GetMessages.feature") -@SelectClasspathResource("cucumber") -@ConfigurationParameter(key = GLUE_PROPERTY_NAME, value = "org.apache.james.jmap.draft.methods.integration,org.apache.james.jmap.rabbitmq.cucumber.awss3") -@ConfigurationParameter(key = FILTER_TAGS_PROPERTY_NAME, value = "not @Ignore, @BasicFeature") -public class RabbitMQGetMessagesMethodTest { -} diff --git a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQSetMailboxesMethodCucumberTest.java b/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQSetMailboxesMethodCucumberTest.java deleted file mode 100644 index 46dbc96617..0000000000 --- a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQSetMailboxesMethodCucumberTest.java +++ /dev/null @@ -1,40 +0,0 @@ -/**************************************************************** - * 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.rabbitmq.cucumber.awss3; - -import static io.cucumber.core.options.Constants.FILTER_TAGS_PROPERTY_NAME; -import static io.cucumber.core.options.Constants.GLUE_PROPERTY_NAME; - -import org.apache.james.jmap.categories.EnableCucumber; -import org.apache.james.junit.categories.Unstable; -import org.junit.experimental.categories.Category; -import org.junit.platform.suite.api.ConfigurationParameter; -import org.junit.platform.suite.api.IncludeEngines; -import org.junit.platform.suite.api.SelectClasspathResource; -import org.junit.platform.suite.api.Suite; - -@Category({EnableCucumber.class, Unstable.class}) -@Suite -@SelectClasspathResource("cucumber/MailboxModification.feature,cucumber/SetMailboxes.feature") -@IncludeEngines("cucumber") -@ConfigurationParameter(key = GLUE_PROPERTY_NAME, value = "org.apache.james.jmap.draft.methods.integration,org.apache.james.jmap.rabbitmq.cucumber.awss3") -@ConfigurationParameter(key = FILTER_TAGS_PROPERTY_NAME, value = "not @Ignore, @BasicFeature") -public class RabbitMQSetMailboxesMethodCucumberTest { -} diff --git a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQSetMessagesMethodCucumberTest.java b/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQSetMessagesMethodCucumberTest.java deleted file mode 100644 index 90be25610f..0000000000 --- a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQSetMessagesMethodCucumberTest.java +++ /dev/null @@ -1,40 +0,0 @@ -/**************************************************************** - * 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.rabbitmq.cucumber.awss3; - -import static io.cucumber.core.options.Constants.FILTER_TAGS_PROPERTY_NAME; -import static io.cucumber.core.options.Constants.GLUE_PROPERTY_NAME; - -import org.apache.james.jmap.categories.EnableCucumber; -import org.apache.james.junit.categories.Unstable; -import org.junit.experimental.categories.Category; -import org.junit.platform.suite.api.ConfigurationParameter; -import org.junit.platform.suite.api.IncludeEngines; -import org.junit.platform.suite.api.SelectClasspathResource; -import org.junit.platform.suite.api.Suite; - -@Category({EnableCucumber.class, Unstable.class}) -@Suite -@IncludeEngines("cucumber") -@SelectClasspathResource("cucumber/SetMessages.feature") -@ConfigurationParameter(key = GLUE_PROPERTY_NAME, value = "org.apache.james.jmap.draft.methods.integration,org.apache.james.jmap.rabbitmq.cucumber.awss3") -@ConfigurationParameter(key = FILTER_TAGS_PROPERTY_NAME, value = "not @Ignore, @BasicFeature") -public class RabbitMQSetMessagesMethodCucumberTest { -} diff --git a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQSharingTest.java b/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQSharingTest.java deleted file mode 100644 index 787e08452f..0000000000 --- a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQSharingTest.java +++ /dev/null @@ -1,40 +0,0 @@ -/**************************************************************** - * 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.rabbitmq.cucumber.awss3; - -import static io.cucumber.core.options.Constants.FILTER_TAGS_PROPERTY_NAME; -import static io.cucumber.core.options.Constants.GLUE_PROPERTY_NAME; - -import org.apache.james.jmap.categories.EnableCucumber; -import org.apache.james.junit.categories.Unstable; -import org.junit.experimental.categories.Category; -import org.junit.platform.suite.api.ConfigurationParameter; -import org.junit.platform.suite.api.IncludeEngines; -import org.junit.platform.suite.api.SelectClasspathResource; -import org.junit.platform.suite.api.Suite; - -@Category({EnableCucumber.class, Unstable.class}) -@Suite -@IncludeEngines("cucumber") -@SelectClasspathResource("cucumber/sharing") -@ConfigurationParameter(key = GLUE_PROPERTY_NAME, value = "org.apache.james.jmap.draft.methods.integration,org.apache.james.jmap.rabbitmq.cucumber.awss3") -@ConfigurationParameter(key = FILTER_TAGS_PROPERTY_NAME, value = "not @Ignore, @BasicFeature") -public class RabbitMQSharingTest { -} \ No newline at end of file diff --git a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQUploadCucumberTest.java b/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQUploadCucumberTest.java deleted file mode 100644 index da6a50f6da..0000000000 --- a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQUploadCucumberTest.java +++ /dev/null @@ -1,40 +0,0 @@ -/**************************************************************** - * 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.rabbitmq.cucumber.awss3; - -import static io.cucumber.core.options.Constants.FILTER_TAGS_PROPERTY_NAME; -import static io.cucumber.core.options.Constants.GLUE_PROPERTY_NAME; - -import org.apache.james.jmap.categories.EnableCucumber; -import org.apache.james.junit.categories.Unstable; -import org.junit.experimental.categories.Category; -import org.junit.platform.suite.api.ConfigurationParameter; -import org.junit.platform.suite.api.IncludeEngines; -import org.junit.platform.suite.api.SelectClasspathResource; -import org.junit.platform.suite.api.Suite; - -@Category({EnableCucumber.class, Unstable.class}) -@Suite -@SelectClasspathResource("cucumber/UploadEndpoint.feature") -@IncludeEngines("cucumber") -@ConfigurationParameter(key = GLUE_PROPERTY_NAME, value = "org.apache.james.jmap.draft.methods.integration,org.apache.james.jmap.rabbitmq.cucumber.awss3") -@ConfigurationParameter(key = FILTER_TAGS_PROPERTY_NAME, value = "not @Ignore, @BasicFeature") -public class RabbitMQUploadCucumberTest { -} --------------------------------------------------------------------- To unsubscribe, e-mail: notifications-unsubscr...@james.apache.org For additional commands, e-mail: notifications-h...@james.apache.org