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 fdc9fbb9ec05874b85860ee0a2ca5dc2150f09b6 Author: Benoit TELLIER <btell...@linagora.com> AuthorDate: Mon Dec 4 14:51:42 2023 +0100 JAMES-3691 Update Cucumber to 7.15.0 Version 2.4.0 does not support Java 21. The updates do the trick. --- pom.xml | 13 +++- server/data/data-cassandra/pom.xml | 7 +- .../james/rrt/cassandra/CassandraStepdefs.java | 4 +- .../james/rrt/cassandra/RewriteTablesTest.java | 17 ++--- server/data/data-file/pom.xml | 7 +- .../apache/james/rrt/file/RewriteTablesTest.java | 20 +++--- .../org/apache/james/rrt/file/XMLStepdefs.java | 2 +- server/data/data-jpa/pom.xml | 7 +- .../java/org/apache/james/rrt/jpa/JPAStepdefs.java | 5 +- .../apache/james/rrt/jpa/RewriteTablesTest.java | 17 ++--- .../james/rrt/lib/RewriteTablesStepdefs.java | 83 ++++++++++++++-------- server/data/data-memory/pom.xml | 7 +- .../apache/james/rrt/memory/InMemoryStepdefs.java | 2 +- .../apache/james/rrt/memory/RewriteTablesTest.java | 17 ++--- .../integration/cucumber/DownloadStepdefs.java | 8 +-- .../cucumber/GetMailboxesMethodStepdefs.java | 8 +-- .../cucumber/GetMessageListMethodStepdefs.java | 6 +- .../cucumber/GetMessagesMethodStepdefs.java | 10 +-- .../methods/integration/cucumber/ImapStepdefs.java | 8 +-- .../methods/integration/cucumber/MainStepdefs.java | 2 +- .../integration/cucumber/MessageIdStepdefs.java | 2 +- .../cucumber/SetMailboxesMethodStepdefs.java | 8 +-- .../cucumber/SetMessagesMethodStepdefs.java | 8 +-- .../integration/cucumber/UploadStepdefs.java | 9 ++- .../methods/integration/cucumber/UserStepdefs.java | 4 +- .../memory-jmap-draft-integration-testing/pom.xml | 7 +- .../cucumber/MemoryDownloadCucumberTest.java | 19 ++--- .../cucumber/MemoryGetMessagesMethodTest.java | 18 +++-- .../MemoryIMAPKeywordsInconsistenciesTest.java | 18 +++-- .../MemoryIMAPSetMessagesCompatibilityTest.java | 18 +++-- .../MemorySetMailboxesMethodCucumberTest.java | 18 +++-- .../MemorySetMessagesMethodCucumberTest.java | 18 +++-- .../jmap/memory/cucumber/MemorySharingTest.java | 34 +++------ .../james/jmap/memory/cucumber/MemoryStepdefs.java | 8 +-- .../memory/cucumber/MemoryUploadCucumberTest.java | 19 ++--- .../pom.xml | 7 +- .../cucumber/awss3/RabbitMQAwsS3Stepdefs.java | 6 +- .../awss3/RabbitMQDownloadCucumberTest.java | 21 +++--- .../awss3/RabbitMQGetMessagesMethodTest.java | 21 +++--- .../RabbitMQIMAPKeywordsInconsistenciesTest.java | 21 +++--- .../RabbitMQIMAPSetMessagesCompatibilityTest.java | 21 +++--- .../cucumber/awss3/RabbitMQMailboxSharingTest.java | 44 ------------ .../cucumber/awss3/RabbitMQMessageSharingTest.java | 45 ------------ .../RabbitMQSetMailboxesMethodCucumberTest.java | 21 +++--- .../RabbitMQSetMessagesMethodCucumberTest.java | 21 +++--- ...dCucumberTest.java => RabbitMQSharingTest.java} | 25 ++++--- .../cucumber/awss3/RabbitMQUploadCucumberTest.java | 21 +++--- 47 files changed, 372 insertions(+), 360 deletions(-) diff --git a/pom.xml b/pom.xml index 534f8b1c4d..2000ff18f8 100644 --- a/pom.xml +++ b/pom.xml @@ -620,7 +620,7 @@ <concurrent.version>1.3.4</concurrent.version> <xbean-spring.version>4.21</xbean-spring.version> <netty.version>4.1.101.Final</netty.version> - <cucumber.version>2.4.0</cucumber.version> + <cucumber.version>7.15.0</cucumber.version> <pax-logging-api.version>1.6.4</pax-logging-api.version> <jackson.version>2.15.2</jackson.version> @@ -2345,6 +2345,12 @@ <artifactId>cucumber-junit</artifactId> <version>${cucumber.version}</version> </dependency> + <dependency> + <groupId>io.cucumber</groupId> + <artifactId>cucumber-junit-platform-engine</artifactId> + <version>${cucumber.version}</version> + </dependency> + <dependency> <groupId>io.cucumber</groupId> <artifactId>cucumber-picocontainer</artifactId> @@ -2801,6 +2807,11 @@ <artifactId>junit-platform-launcher</artifactId> <version>${junit.platform.version}</version> </dependency> + <dependency> + <groupId>org.junit.platform</groupId> + <artifactId>junit-platform-suite</artifactId> + <version>1.9.3</version> + </dependency> <dependency> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> diff --git a/server/data/data-cassandra/pom.xml b/server/data/data-cassandra/pom.xml index fea44f95b0..c5199c86dd 100644 --- a/server/data/data-cassandra/pom.xml +++ b/server/data/data-cassandra/pom.xml @@ -107,7 +107,7 @@ </dependency> <dependency> <groupId>io.cucumber</groupId> - <artifactId>cucumber-junit</artifactId> + <artifactId>cucumber-junit-platform-engine</artifactId> <scope>test</scope> </dependency> <dependency> @@ -129,6 +129,11 @@ <artifactId>awaitility</artifactId> <scope>test</scope> </dependency> + <dependency> + <groupId>org.junit.platform</groupId> + <artifactId>junit-platform-suite</artifactId> + <scope>test</scope> + </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> diff --git a/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraStepdefs.java b/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraStepdefs.java index 87d2247f1d..70eb11077b 100644 --- a/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraStepdefs.java +++ b/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraStepdefs.java @@ -32,8 +32,8 @@ import org.junit.Rule; import com.github.fge.lambdas.Throwing; -import cucumber.api.java.After; -import cucumber.api.java.Before; +import io.cucumber.java.After; +import io.cucumber.java.Before; public class CassandraStepdefs { diff --git a/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/RewriteTablesTest.java b/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/RewriteTablesTest.java index 766ba86917..5223d5e5bf 100644 --- a/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/RewriteTablesTest.java +++ b/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/RewriteTablesTest.java @@ -18,15 +18,16 @@ ****************************************************************/ package org.apache.james.rrt.cassandra; -import org.junit.runner.RunWith; +import static io.cucumber.core.options.Constants.GLUE_PROPERTY_NAME; -import cucumber.api.CucumberOptions; -import cucumber.api.junit.Cucumber; +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; -@RunWith(Cucumber.class) -@CucumberOptions( - features = { "classpath:cucumber/" }, - glue = { "org.apache.james.rrt.lib", "org.apache.james.rrt.cassandra" } - ) +@Suite +@IncludeEngines("cucumber") +@SelectClasspathResource("cucumber") +@ConfigurationParameter(key = GLUE_PROPERTY_NAME, value = "org.apache.james.rrt.lib,org.apache.james.rrt.cassandra") public class RewriteTablesTest { } diff --git a/server/data/data-file/pom.xml b/server/data/data-file/pom.xml index 9032ec10e5..fae4fe7d59 100644 --- a/server/data/data-file/pom.xml +++ b/server/data/data-file/pom.xml @@ -114,7 +114,7 @@ </dependency> <dependency> <groupId>io.cucumber</groupId> - <artifactId>cucumber-junit</artifactId> + <artifactId>cucumber-junit-platform-engine</artifactId> <scope>test</scope> </dependency> <dependency> @@ -134,6 +134,11 @@ <groupId>org.eclipse.angus</groupId> <artifactId>jakarta.mail</artifactId> </dependency> + <dependency> + <groupId>org.junit.platform</groupId> + <artifactId>junit-platform-suite</artifactId> + <scope>test</scope> + </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> diff --git a/server/data/data-file/src/test/java/org/apache/james/rrt/file/RewriteTablesTest.java b/server/data/data-file/src/test/java/org/apache/james/rrt/file/RewriteTablesTest.java index 453627d665..c91ca7687f 100644 --- a/server/data/data-file/src/test/java/org/apache/james/rrt/file/RewriteTablesTest.java +++ b/server/data/data-file/src/test/java/org/apache/james/rrt/file/RewriteTablesTest.java @@ -18,16 +18,18 @@ ****************************************************************/ package org.apache.james.rrt.file; -import org.junit.runner.RunWith; +import static io.cucumber.core.options.Constants.GLUE_PROPERTY_NAME; -import cucumber.api.CucumberOptions; -import cucumber.api.junit.Cucumber; +import org.junit.platform.suite.api.ConfigurationParameter; +import org.junit.platform.suite.api.IncludeEngines; +import org.junit.platform.suite.api.IncludeTags; +import org.junit.platform.suite.api.SelectClasspathResource; +import org.junit.platform.suite.api.Suite; -@RunWith(Cucumber.class) -@CucumberOptions( - features = { "classpath:cucumber/" }, - glue = { "org.apache.james.rrt.lib", "org.apache.james.rrt.file" }, - tags = { "@readonly" } - ) +@Suite +@IncludeEngines("cucumber") +@SelectClasspathResource("cucumber") +@ConfigurationParameter(key = GLUE_PROPERTY_NAME, value = "org.apache.james.rrt.lib,org.apache.james.rrt.file") +@IncludeTags("readonly") public class RewriteTablesTest { } diff --git a/server/data/data-file/src/test/java/org/apache/james/rrt/file/XMLStepdefs.java b/server/data/data-file/src/test/java/org/apache/james/rrt/file/XMLStepdefs.java index 789f9b34ea..b8fdb96650 100644 --- a/server/data/data-file/src/test/java/org/apache/james/rrt/file/XMLStepdefs.java +++ b/server/data/data-file/src/test/java/org/apache/james/rrt/file/XMLStepdefs.java @@ -21,7 +21,7 @@ package org.apache.james.rrt.file; import org.apache.james.rrt.lib.AbstractRecipientRewriteTable; import org.apache.james.rrt.lib.RewriteTablesStepdefs; -import cucumber.api.java.Before; +import io.cucumber.java.Before; public class XMLStepdefs { diff --git a/server/data/data-jpa/pom.xml b/server/data/data-jpa/pom.xml index 943fd8cc53..00656337b8 100644 --- a/server/data/data-jpa/pom.xml +++ b/server/data/data-jpa/pom.xml @@ -111,7 +111,7 @@ </dependency> <dependency> <groupId>io.cucumber</groupId> - <artifactId>cucumber-junit</artifactId> + <artifactId>cucumber-junit-platform-engine</artifactId> <scope>test</scope> </dependency> <dependency> @@ -128,6 +128,11 @@ <artifactId>derby</artifactId> <scope>test</scope> </dependency> + <dependency> + <groupId>org.junit.platform</groupId> + <artifactId>junit-platform-suite</artifactId> + <scope>test</scope> + </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> diff --git a/server/data/data-jpa/src/test/java/org/apache/james/rrt/jpa/JPAStepdefs.java b/server/data/data-jpa/src/test/java/org/apache/james/rrt/jpa/JPAStepdefs.java index 3908dfe98e..c2c6749ae8 100644 --- a/server/data/data-jpa/src/test/java/org/apache/james/rrt/jpa/JPAStepdefs.java +++ b/server/data/data-jpa/src/test/java/org/apache/james/rrt/jpa/JPAStepdefs.java @@ -26,9 +26,8 @@ import org.apache.james.rrt.lib.RewriteTablesStepdefs; import org.apache.james.user.jpa.JPAUsersRepository; import com.github.fge.lambdas.Throwing; - -import cucumber.api.java.After; -import cucumber.api.java.Before; +import io.cucumber.java.After; +import io.cucumber.java.Before; public class JPAStepdefs { diff --git a/server/data/data-jpa/src/test/java/org/apache/james/rrt/jpa/RewriteTablesTest.java b/server/data/data-jpa/src/test/java/org/apache/james/rrt/jpa/RewriteTablesTest.java index 7cb0a007f0..35fcc586b4 100644 --- a/server/data/data-jpa/src/test/java/org/apache/james/rrt/jpa/RewriteTablesTest.java +++ b/server/data/data-jpa/src/test/java/org/apache/james/rrt/jpa/RewriteTablesTest.java @@ -18,15 +18,16 @@ ****************************************************************/ package org.apache.james.rrt.jpa; -import org.junit.runner.RunWith; +import static io.cucumber.core.options.Constants.GLUE_PROPERTY_NAME; -import cucumber.api.CucumberOptions; -import cucumber.api.junit.Cucumber; +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; -@RunWith(Cucumber.class) -@CucumberOptions( - features = { "classpath:cucumber/" }, - glue = { "org.apache.james.rrt.lib", "org.apache.james.rrt.jpa" } - ) +@Suite +@IncludeEngines("cucumber") +@SelectClasspathResource("cucumber") +@ConfigurationParameter(key = GLUE_PROPERTY_NAME, value = "org.apache.james.rrt.lib,org.apache.james.rrt.jpa") public class RewriteTablesTest { } diff --git a/server/data/data-library/src/test/java/org/apache/james/rrt/lib/RewriteTablesStepdefs.java b/server/data/data-library/src/test/java/org/apache/james/rrt/lib/RewriteTablesStepdefs.java index f4de1a6023..52d04b5c13 100644 --- a/server/data/data-library/src/test/java/org/apache/james/rrt/lib/RewriteTablesStepdefs.java +++ b/server/data/data-library/src/test/java/org/apache/james/rrt/lib/RewriteTablesStepdefs.java @@ -29,9 +29,11 @@ import org.apache.james.rrt.api.RecipientRewriteTable.ErrorMappingException; import org.apache.james.rrt.api.RecipientRewriteTableConfiguration; import org.apache.james.rrt.api.RecipientRewriteTableException; -import cucumber.api.java.en.Given; -import cucumber.api.java.en.Then; -import cucumber.api.java.en.When; +import com.google.common.base.Splitter; +import com.google.common.collect.ImmutableList; +import io.cucumber.java.en.Given; +import io.cucumber.java.en.Then; +import io.cucumber.java.en.When; public class RewriteTablesStepdefs { @@ -45,13 +47,13 @@ public class RewriteTablesStepdefs { this.rewriteTable.setConfiguration(RecipientRewriteTableConfiguration.DEFAULT_ENABLED); } - @Given("store \"([^\"]*)\" regexp mapping for user \"([^\"]*)\" at domain \"([^\"]*)\"") + @Given("store {string} regexp mapping for user {string} at domain {string}") public void storeRegexpMappingForUserAtDomain(String regexp, String user, String domain) throws Throwable { MappingSource source = MappingSource.fromUser(user, domain); rewriteTable.addRegexMapping(source, regexp); } - @Given("store an invalid \"([^\"]*)\" regexp mapping for user \"([^\"]*)\" at domain \"([^\"]*)\"") + @Given("store an invalid {string} regexp mapping for user {string} at domain {string}") public void storeInvalidRegexpMappingForUserAtDomain(String regexp, String user, String domain) { try { MappingSource source = MappingSource.fromUser(user, domain); @@ -61,7 +63,7 @@ public class RewriteTablesStepdefs { } } - @Given("store \"([^\"]*)\" address mapping for user \"([^\"]*)\" at domain \"([^\"]*)\"") + @Given("store {string} address mapping for user {string} at domain {string}") public void storeAddressMappingForUserAtDomain(String address, String user, String domain) throws Throwable { MappingSource source = MappingSource.fromUser(user, domain); storeAddressMappingForUserAtDomain(address, source); @@ -71,40 +73,40 @@ public class RewriteTablesStepdefs { rewriteTable.addAddressMapping(source, address); } - @Given("store \"([^\"]*)\" error mapping for user \"([^\"]*)\" at domain \"([^\"]*)\"") + @Given("store {string} error mapping for user {string} at domain {string}") public void storeErrorMappingForUserAtDomain(String error, String user, String domain) throws Throwable { MappingSource source = MappingSource.fromUser(user, domain); rewriteTable.addErrorMapping(source, error); } - @Given("store \"([^\"]*)\" address mapping as wildcard for domain \"([^\"]*)\"") + @Given("store {string} address mapping as wildcard for domain {string}") public void storeAddressMappingAsWildcardAtDomain(String address, String domain) throws Throwable { storeAddressMappingForUserAtDomain(address, MappingSource.fromDomain(Domain.of(domain))); } - @Given("store \"([^\"]*)\" domain mapping for domain \"([^\"]*)\"") + @Given("store {string} domain mapping for domain {string}") public void storeDomainMappingForDomain(String aliasDomain, String domain) throws Throwable { rewriteTable.addDomainMapping(MappingSource.fromDomain(Domain.of(aliasDomain)), Domain.of(domain)); } - @Given("store \"([^\"]*)\" domain alias for domain \"([^\"]*)\"") + @Given("store {string} domain alias for domain {string}") public void storeDomainAliasMappingForDomain(String aliasDomain, String domain) throws Throwable { rewriteTable.addDomainAliasMapping(MappingSource.fromDomain(Domain.of(aliasDomain)), Domain.of(domain)); } - @Given("store \"([^\"]*)\" forward mapping for user \"([^\"]*)\" at domain \"([^\"]*)\"") + @Given("store {string} forward mapping for user {string} at domain {string}") public void storeForwardMappingForUserAtDomain(String address, String user, String domain) throws Throwable { MappingSource source = MappingSource.fromUser(user, domain); rewriteTable.addForwardMapping(source, address); } - @Given("store user \"([^\"]*)\" alias mapping for alias \"([^\"]*)\" at domain \"([^\"]*)\"") + @Given("store user {string} alias mapping for alias {string} at domain {string}") public void storeAliasMappingForUserAtDomain(String user, String address, String domain) throws Throwable { MappingSource source = MappingSource.fromUser(address, domain); rewriteTable.addAliasMapping(source, user); } - @Given("store \"([^\"]*)\" group mapping for user \"([^\"]*)\" at domain \"([^\"]*)\"") + @Given("store {string} group mapping for user {string} at domain {string}") public void storeGroupMappingForUserAtDomain(String address, String user, String domain) throws Throwable { MappingSource source = MappingSource.fromUser(user, domain); rewriteTable.addGroupMapping(source, address); @@ -121,13 +123,13 @@ public class RewriteTablesStepdefs { // default case } - @When("user \"([^\"]*)\" at domain \"([^\"]*)\" removes a regexp mapping \"([^\"]*)\"") + @When("user {string} at domain {string} removes a regexp mapping {string}") public void userAtDomainRemovesRegexpMapping(String user, String domain, String regexp) throws Throwable { MappingSource source = MappingSource.fromUser(user, domain); rewriteTable.removeRegexMapping(source, regexp); } - @When("user \"([^\"]*)\" at domain \"([^\"]*)\" removes a address mapping \"([^\"]*)\"") + @When("user {string} at domain {string} removes a address mapping {string}") public void userAtDomainRemovesAddressMapping(String user, String domain, String address) throws Throwable { MappingSource source = MappingSource.fromUser(user, domain); userAtDomainRemovesAddressMapping(address, source); @@ -137,41 +139,41 @@ public class RewriteTablesStepdefs { rewriteTable.removeAddressMapping(source, address); } - @When("user \"([^\"]*)\" at domain \"([^\"]*)\" removes a error mapping \"([^\"]*)\"") + @When("user {string} at domain {string} removes a error mapping {string}") public void userAtDomainRemovesErrorMapping(String user, String domain, String error) throws Throwable { MappingSource source = MappingSource.fromUser(user, domain); rewriteTable.removeErrorMapping(source, error); } - @When("user \"([^\"]*)\" at domain \"([^\"]*)\" removes a forward mapping \"([^\"]*)\"") + @When("user {string} at domain {string} removes a forward mapping {string}") public void userAtDomainRemovesForwardMapping(String user, String domain, String address) throws Throwable { MappingSource source = MappingSource.fromUser(user, domain); rewriteTable.removeForwardMapping(source, address); } - @When("alias \"([^\"]*)\" at domain \"([^\"]*)\" removes an alias mapping \"([^\"]*)\"") + @When("alias {string} at domain {string} removes an alias mapping {string}") public void userAtDomainRemovesAliasMapping(String user, String domain, String address) throws Throwable { MappingSource source = MappingSource.fromUser(user, domain); rewriteTable.removeAliasMapping(source, address); } - @When("user \"([^\"]*)\" at domain \"([^\"]*)\" removes a group mapping \"([^\"]*)\"") + @When("user {string} at domain {string} removes a group mapping {string}") public void userAtDomainRemovesGroupMapping(String user, String domain, String address) throws Throwable { MappingSource source = MappingSource.fromUser(user, domain); rewriteTable.removeGroupMapping(source, address); } - @When("wildcard address mapping \"([^\"]*)\" at domain \"([^\"]*)\" is removed") + @When("wildcard address mapping {string} at domain {string} is removed") public void removeWildcardAddressMappingAtDomain(String address, String domain) throws Throwable { userAtDomainRemovesAddressMapping(address, MappingSource.fromDomain(Domain.of(domain))); } - @When("domain mapping \"([^\"]*)\" for \"([^\"]*)\" domain is removed") + @When("domain mapping {string} for {string} domain is removed") public void removeDomainMappingForDomain(String aliasdomain, String domain) throws Throwable { rewriteTable.removeDomainMapping(MappingSource.fromDomain(Domain.of(aliasdomain)), Domain.of(domain)); } - @When("domain alias \"([^\"]*)\" for \"([^\"]*)\" domain is removed") + @When("domain alias {string} for {string} domain is removed") public void removeDomainAliasForDomain(String aliasdomain, String domain) throws Throwable { rewriteTable.removeDomainAliasMapping(MappingSource.fromDomain(Domain.of(aliasdomain)), Domain.of(domain)); } @@ -181,27 +183,46 @@ public class RewriteTablesStepdefs { assertThat(rewriteTable.getAllMappings()).isNullOrEmpty(); } - @Then("mappings for user \"([^\"]*)\" at domain \"([^\"]*)\" should be empty") + @Then("mappings for user {string} at domain {string} should be empty") public void assertMappingsIsEmpty(String user, String domain) throws Throwable { assertThat(rewriteTable.getResolvedMappings(user, Domain.of(domain))).isNullOrEmpty(); } - @Then("mappings for user \"([^\"]*)\" at domain \"([^\"]*)\" should contain only \"([^\"]*)\"") - public void assertMappingsForUser(String user, String domain, List<String> mappings) throws Throwable { - assertThat(rewriteTable.getResolvedMappings(user, Domain.of(domain)).asStrings()).containsOnly(mappings.toArray(new String[0])); + @Then("mappings for user {string} at domain {string} should contain only {string}") + public void assertMappingsForUser(String user, String domain, String mappings) throws Throwable { + assertThat(rewriteTable.getResolvedMappings(user, Domain.of(domain)).asStrings()).containsOnly(asList(mappings).toArray(new String[0])); } - @Then("mappings for alias \"([^\"]*)\" at domain \"([^\"]*)\" should contain only \"([^\"]*)\"") - public void assertMappingsForAlias(String alias, String domain, List<String> mappings) throws Throwable { - assertThat(rewriteTable.getResolvedMappings(alias, Domain.of(domain)).asStrings()).containsOnly(mappings.toArray(new String[0])); + @Then("mappings for alias {string} at domain {string} should contain only {string}") + public void assertMappingsForAlias(String alias, String domain, String mappings) throws Throwable { + assertThat(rewriteTable.getResolvedMappings(alias, Domain.of(domain)).asStrings()).containsOnly(asList(mappings).toArray(new String[0])); } - @Then("a \"([^\"]*)\" exception should have been thrown") + private List<String> asList(String value) { + return Splitter.on(',') + .trimResults() + .splitToStream(value) + .map(s -> { + if (s.startsWith("\"")) { + return s.substring(1); + } + return s; + }) + .map(s -> { + if (s.endsWith("\"")) { + return s.substring(0, s.length() - 1); + } + return s; + }) + .collect(ImmutableList.toImmutableList()); + } + + @Then("a {string} exception should have been thrown") public void assertException(String exceptionClass) throws Throwable { assertThat(exception.getClass().getSimpleName()).isEqualTo(exceptionClass); } - @Then("retrieving mappings for user \"([^\"]*)\" at domain \"([^\"]*)\" should raise an ErrorMappingException with message \"([^\"]*)\"") + @Then("retrieving mappings for user {string} at domain {string} should raise an ErrorMappingException with message {string}") public void retrievingMappingsForUserAtDomainShouldRaiseAnException(String user, String domain, String message) throws Exception { assertThatThrownBy(() -> rewriteTable.getResolvedMappings(user, Domain.of(domain))) .isInstanceOf(ErrorMappingException.class) diff --git a/server/data/data-memory/pom.xml b/server/data/data-memory/pom.xml index 5c8ed0fc00..b2e99fefab 100644 --- a/server/data/data-memory/pom.xml +++ b/server/data/data-memory/pom.xml @@ -85,7 +85,7 @@ </dependency> <dependency> <groupId>io.cucumber</groupId> - <artifactId>cucumber-junit</artifactId> + <artifactId>cucumber-junit-platform-engine</artifactId> <scope>test</scope> </dependency> <dependency> @@ -98,6 +98,11 @@ <artifactId>awaitility</artifactId> <scope>test</scope> </dependency> + <dependency> + <groupId>org.junit.platform</groupId> + <artifactId>junit-platform-suite</artifactId> + <scope>test</scope> + </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> diff --git a/server/data/data-memory/src/test/java/org/apache/james/rrt/memory/InMemoryStepdefs.java b/server/data/data-memory/src/test/java/org/apache/james/rrt/memory/InMemoryStepdefs.java index 8e9e2f612d..6a6fcd57c7 100644 --- a/server/data/data-memory/src/test/java/org/apache/james/rrt/memory/InMemoryStepdefs.java +++ b/server/data/data-memory/src/test/java/org/apache/james/rrt/memory/InMemoryStepdefs.java @@ -28,7 +28,7 @@ import org.apache.james.user.memory.MemoryUsersRepository; import com.github.fge.lambdas.Throwing; -import cucumber.api.java.Before; +import io.cucumber.java.Before; public class InMemoryStepdefs { diff --git a/server/data/data-memory/src/test/java/org/apache/james/rrt/memory/RewriteTablesTest.java b/server/data/data-memory/src/test/java/org/apache/james/rrt/memory/RewriteTablesTest.java index ee218f92be..aba5dc7f3d 100644 --- a/server/data/data-memory/src/test/java/org/apache/james/rrt/memory/RewriteTablesTest.java +++ b/server/data/data-memory/src/test/java/org/apache/james/rrt/memory/RewriteTablesTest.java @@ -18,15 +18,16 @@ ****************************************************************/ package org.apache.james.rrt.memory; -import org.junit.runner.RunWith; +import static io.cucumber.core.options.Constants.GLUE_PROPERTY_NAME; -import cucumber.api.CucumberOptions; -import cucumber.api.junit.Cucumber; +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; -@RunWith(Cucumber.class) -@CucumberOptions( - features = { "classpath:cucumber/" }, - glue = { "org.apache.james.rrt.lib", "org.apache.james.rrt.memory" } - ) +@Suite +@IncludeEngines("cucumber") +@SelectClasspathResource("cucumber") +@ConfigurationParameter(key = GLUE_PROPERTY_NAME, value = "org.apache.james.rrt.lib,org.apache.james.rrt.memory") public class RewriteTablesTest { } 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/DownloadStepdefs.java b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/DownloadStepdefs.java index 9315d0cd82..d46ac36203 100644 --- a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/DownloadStepdefs.java +++ b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/DownloadStepdefs.java @@ -63,10 +63,10 @@ import com.google.common.base.Strings; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.Multimap; -import cucumber.api.java.en.Given; -import cucumber.api.java.en.Then; -import cucumber.api.java.en.When; -import cucumber.runtime.java.guice.ScenarioScoped; +import io.cucumber.guice.ScenarioScoped; +import io.cucumber.java.en.Given; +import io.cucumber.java.en.Then; +import io.cucumber.java.en.When; @ScenarioScoped public class DownloadStepdefs { 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/GetMailboxesMethodStepdefs.java b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/GetMailboxesMethodStepdefs.java index 9fc74ea413..83c77f4bdf 100644 --- a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/GetMailboxesMethodStepdefs.java +++ b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/GetMailboxesMethodStepdefs.java @@ -35,10 +35,10 @@ import org.apache.james.mailbox.model.MailboxConstants; import org.apache.james.mailbox.model.MailboxId; import org.apache.james.mailbox.model.MailboxPath; -import cucumber.api.java.en.Given; -import cucumber.api.java.en.Then; -import cucumber.api.java.en.When; -import cucumber.runtime.java.guice.ScenarioScoped; +import io.cucumber.guice.ScenarioScoped; +import io.cucumber.java.en.Given; +import io.cucumber.java.en.Then; +import io.cucumber.java.en.When; @ScenarioScoped public class GetMailboxesMethodStepdefs { 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 516bdb5568..676f9fa0dc 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 @@ -29,9 +29,9 @@ import javax.inject.Inject; import org.apache.james.mailbox.model.MessageId; -import cucumber.api.java.en.Then; -import cucumber.api.java.en.When; -import cucumber.runtime.java.guice.ScenarioScoped; +import io.cucumber.guice.ScenarioScoped; +import io.cucumber.java.en.Then; +import io.cucumber.java.en.When; @ScenarioScoped public class GetMessageListMethodStepdefs { 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 832f3e4092..6044ac0c6b 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 @@ -37,6 +37,7 @@ import java.util.Set; import java.util.function.Function; import java.util.stream.Collectors; +import io.cucumber.datatable.DataTable; import javax.inject.Inject; import jakarta.mail.Flags; @@ -58,11 +59,10 @@ import com.github.fge.lambdas.Throwing; import com.google.common.base.Splitter; import com.google.common.collect.ImmutableList; -import cucumber.api.DataTable; -import cucumber.api.java.en.Given; -import cucumber.api.java.en.Then; -import cucumber.api.java.en.When; -import cucumber.runtime.java.guice.ScenarioScoped; +import io.cucumber.guice.ScenarioScoped; +import io.cucumber.java.en.Given; +import io.cucumber.java.en.Then; +import io.cucumber.java.en.When; import net.minidev.json.JSONArray; @ScenarioScoped 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/ImapStepdefs.java b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/ImapStepdefs.java index ba4a6ecf52..7fdd9775b3 100644 --- a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/ImapStepdefs.java +++ b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/ImapStepdefs.java @@ -32,10 +32,10 @@ import org.apache.james.utils.TestIMAPClient; import com.github.fge.lambdas.Throwing; import com.google.common.collect.Maps; -import cucumber.api.java.en.Given; -import cucumber.api.java.en.Then; -import cucumber.api.java.en.When; -import cucumber.runtime.java.guice.ScenarioScoped; +import io.cucumber.guice.ScenarioScoped; +import io.cucumber.java.en.Given; +import io.cucumber.java.en.Then; +import io.cucumber.java.en.When; @ScenarioScoped public class ImapStepdefs { 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/MainStepdefs.java b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/MainStepdefs.java index f23f6971be..7373b9cb49 100644 --- a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/MainStepdefs.java +++ b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/MainStepdefs.java @@ -37,7 +37,7 @@ import org.apache.james.utils.DataProbeImpl; import com.google.common.base.Joiner; import com.google.common.collect.ImmutableList; -import cucumber.runtime.java.guice.ScenarioScoped; +import io.cucumber.guice.ScenarioScoped; @ScenarioScoped public class MainStepdefs { 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/MessageIdStepdefs.java b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/MessageIdStepdefs.java index 42c54f1c91..7ceb06a3da 100644 --- a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/MessageIdStepdefs.java +++ b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/MessageIdStepdefs.java @@ -26,7 +26,7 @@ import javax.inject.Inject; import org.apache.james.mailbox.model.MessageId; -import cucumber.runtime.java.guice.ScenarioScoped; +import io.cucumber.guice.ScenarioScoped; @ScenarioScoped public class MessageIdStepdefs { 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/SetMailboxesMethodStepdefs.java b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/SetMailboxesMethodStepdefs.java index b572d83440..5edc82c2e4 100644 --- a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/SetMailboxesMethodStepdefs.java +++ b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/SetMailboxesMethodStepdefs.java @@ -46,10 +46,10 @@ import com.google.common.collect.Maps; import com.jayway.jsonpath.DocumentContext; import com.jayway.jsonpath.JsonPath; -import cucumber.api.java.en.Given; -import cucumber.api.java.en.Then; -import cucumber.api.java.en.When; -import cucumber.runtime.java.guice.ScenarioScoped; +import io.cucumber.guice.ScenarioScoped; +import io.cucumber.java.en.Given; +import io.cucumber.java.en.Then; +import io.cucumber.java.en.When; @ScenarioScoped public class SetMailboxesMethodStepdefs { 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 a41d86103c..70532ec8c8 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 @@ -37,10 +37,10 @@ import org.apache.james.mailbox.model.MessageId; import com.google.common.collect.ImmutableList; -import cucumber.api.java.en.Given; -import cucumber.api.java.en.Then; -import cucumber.api.java.en.When; -import cucumber.runtime.java.guice.ScenarioScoped; +import io.cucumber.guice.ScenarioScoped; +import io.cucumber.java.en.Given; +import io.cucumber.java.en.Then; +import io.cucumber.java.en.When; @ScenarioScoped public class SetMessagesMethodStepdefs { 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/UploadStepdefs.java b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/UploadStepdefs.java index 5266fc7517..5639418d07 100644 --- a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/UploadStepdefs.java +++ b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/UploadStepdefs.java @@ -29,7 +29,6 @@ import java.nio.charset.StandardCharsets; import java.util.Locale; import java.util.concurrent.CountDownLatch; import java.util.concurrent.Future; - import javax.inject.Inject; import org.apache.http.HttpResponse; @@ -48,10 +47,10 @@ import com.google.common.base.CharMatcher; import com.jayway.jsonpath.DocumentContext; import com.jayway.jsonpath.JsonPath; -import cucumber.api.java.en.Given; -import cucumber.api.java.en.Then; -import cucumber.api.java.en.When; -import cucumber.runtime.java.guice.ScenarioScoped; +import io.cucumber.guice.ScenarioScoped; +import io.cucumber.java.en.Given; +import io.cucumber.java.en.Then; +import io.cucumber.java.en.When; @ScenarioScoped public class UploadStepdefs { 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 5615ee2bad..e05bb80b26 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 @@ -40,8 +40,8 @@ import com.github.fge.lambdas.runnable.ThrowingRunnable; import com.google.common.base.Preconditions; import com.google.common.hash.Hashing; -import cucumber.api.java.en.Given; -import cucumber.runtime.java.guice.ScenarioScoped; +import io.cucumber.guice.ScenarioScoped; +import io.cucumber.java.en.Given; @ScenarioScoped public class UserStepdefs { diff --git a/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/pom.xml b/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/pom.xml index db40bbf999..3ef8e851c8 100644 --- a/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/pom.xml +++ b/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/pom.xml @@ -124,7 +124,7 @@ </dependency> <dependency> <groupId>io.cucumber</groupId> - <artifactId>cucumber-junit</artifactId> + <artifactId>cucumber-junit-platform-engine</artifactId> <scope>test</scope> </dependency> <dependency> @@ -146,6 +146,11 @@ <groupId>org.hamcrest</groupId> <artifactId>java-hamcrest</artifactId> </dependency> + <dependency> + <groupId>org.junit.platform</groupId> + <artifactId>junit-platform-suite</artifactId> + <scope>test</scope> + </dependency> <dependency> <groupId>org.testcontainers</groupId> <artifactId>testcontainers</artifactId> 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/MemoryDownloadCucumberTest.java index cc4273f81c..96fa0e48ac 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/MemoryDownloadCucumberTest.java @@ -19,15 +19,18 @@ package org.apache.james.jmap.memory.cucumber; -import org.junit.runner.RunWith; +import static io.cucumber.core.options.Constants.FILTER_TAGS_PROPERTY_NAME; +import static io.cucumber.core.options.Constants.GLUE_PROPERTY_NAME; -import cucumber.api.CucumberOptions; -import cucumber.api.junit.Cucumber; +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; -@RunWith(Cucumber.class) -@CucumberOptions(features = {"classpath:cucumber/DownloadEndpoint.feature", "classpath:cucumber/DownloadGet.feature", "classpath:cucumber/DownloadPost.feature"}, - glue = {"org.apache.james.jmap.draft.methods.integration", "org.apache.james.jmap.memory.cucumber"}, - tags = {"not @Ignore"}, - strict = true) +@Suite +@SelectClasspathResource("cucumber/DownloadEndpoint.feature,cucumber/DownloadGet.feature,cucumber/DownloadPost.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 { } diff --git a/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryGetMessagesMethodTest.java b/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryGetMessagesMethodTest.java index f291f43577..e1028f2ea0 100644 --- a/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryGetMessagesMethodTest.java +++ b/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryGetMessagesMethodTest.java @@ -19,14 +19,18 @@ package org.apache.james.jmap.memory.cucumber; -import org.junit.runner.RunWith; +import static io.cucumber.core.options.Constants.FILTER_TAGS_PROPERTY_NAME; +import static io.cucumber.core.options.Constants.GLUE_PROPERTY_NAME; -import cucumber.api.CucumberOptions; -import cucumber.api.junit.Cucumber; +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; -@RunWith(Cucumber.class) -@CucumberOptions(features = "classpath:cucumber/GetMessages.feature", - glue = {"org.apache.james.jmap.draft.methods.integration", "org.apache.james.jmap.memory.cucumber"}, - strict = true) +@Suite +@SelectClasspathResource("cucumber/GetMessages.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 MemoryGetMessagesMethodTest { } diff --git a/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryIMAPKeywordsInconsistenciesTest.java b/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryIMAPKeywordsInconsistenciesTest.java index f15588d70a..d60c854f55 100644 --- a/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryIMAPKeywordsInconsistenciesTest.java +++ b/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryIMAPKeywordsInconsistenciesTest.java @@ -19,14 +19,18 @@ package org.apache.james.jmap.memory.cucumber; -import org.junit.runner.RunWith; +import static io.cucumber.core.options.Constants.FILTER_TAGS_PROPERTY_NAME; +import static io.cucumber.core.options.Constants.GLUE_PROPERTY_NAME; -import cucumber.api.CucumberOptions; -import cucumber.api.junit.Cucumber; +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; -@RunWith(Cucumber.class) -@CucumberOptions(features = "classpath:cucumber/ImapKeywordsConsistency.feature", - glue = {"org.apache.james.jmap.draft.methods.integration", "org.apache.james.jmap.memory.cucumber"}, - strict = true) +@Suite +@SelectClasspathResource("cucumber/ImapKeywordsConsistency.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 MemoryIMAPKeywordsInconsistenciesTest { } diff --git a/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryIMAPSetMessagesCompatibilityTest.java b/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryIMAPSetMessagesCompatibilityTest.java index cc4cade0ae..fdf20aae3b 100644 --- a/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryIMAPSetMessagesCompatibilityTest.java +++ b/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryIMAPSetMessagesCompatibilityTest.java @@ -19,14 +19,18 @@ package org.apache.james.jmap.memory.cucumber; -import org.junit.runner.RunWith; +import static io.cucumber.core.options.Constants.FILTER_TAGS_PROPERTY_NAME; +import static io.cucumber.core.options.Constants.GLUE_PROPERTY_NAME; -import cucumber.api.CucumberOptions; -import cucumber.api.junit.Cucumber; +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; -@RunWith(Cucumber.class) -@CucumberOptions(features = "classpath:cucumber/ImapSetMessagesMailboxesUpdatesCompatibility.feature", - glue = {"org.apache.james.jmap.draft.methods.integration", "org.apache.james.jmap.memory.cucumber"}, - strict = true) +@Suite +@SelectClasspathResource("cucumber/ImapSetMessagesMailboxesUpdatesCompatibility.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 MemoryIMAPSetMessagesCompatibilityTest { } 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 be7abdbf1a..8ed62271e7 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 @@ -19,14 +19,18 @@ package org.apache.james.jmap.memory.cucumber; -import org.junit.runner.RunWith; +import static io.cucumber.core.options.Constants.FILTER_TAGS_PROPERTY_NAME; +import static io.cucumber.core.options.Constants.GLUE_PROPERTY_NAME; -import cucumber.api.CucumberOptions; -import cucumber.api.junit.Cucumber; +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; -@RunWith(Cucumber.class) -@CucumberOptions(features = { "classpath:cucumber/MailboxModification.feature", "classpath:cucumber/SetMailboxes.feature" }, - glue = { "org.apache.james.jmap.draft.methods.integration", "org.apache.james.jmap.memory.cucumber" }, - strict = true) +@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.memory.cucumber") +@ConfigurationParameter(key = FILTER_TAGS_PROPERTY_NAME, value = "not @Ignore") public class MemorySetMailboxesMethodCucumberTest { } diff --git a/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemorySetMessagesMethodCucumberTest.java b/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemorySetMessagesMethodCucumberTest.java index 3d4c71c9d1..e9a80e4cc2 100644 --- a/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemorySetMessagesMethodCucumberTest.java +++ b/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemorySetMessagesMethodCucumberTest.java @@ -19,14 +19,18 @@ package org.apache.james.jmap.memory.cucumber; -import org.junit.runner.RunWith; +import static io.cucumber.core.options.Constants.FILTER_TAGS_PROPERTY_NAME; +import static io.cucumber.core.options.Constants.GLUE_PROPERTY_NAME; -import cucumber.api.CucumberOptions; -import cucumber.api.junit.Cucumber; +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; -@RunWith(Cucumber.class) -@CucumberOptions(features = "classpath:cucumber/SetMessages.feature", - glue = {"org.apache.james.jmap.draft.methods.integration", "org.apache.james.jmap.memory.cucumber"}, - strict = true) +@Suite +@SelectClasspathResource("cucumber/SetMessages.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 MemorySetMessagesMethodCucumberTest { } diff --git a/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemorySharingTest.java b/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemorySharingTest.java index f31f0548a4..1f4c40b4fe 100644 --- a/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemorySharingTest.java +++ b/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemorySharingTest.java @@ -19,30 +19,18 @@ package org.apache.james.jmap.memory.cucumber; -import org.junit.runner.RunWith; +import static io.cucumber.core.options.Constants.FILTER_TAGS_PROPERTY_NAME; +import static io.cucumber.core.options.Constants.GLUE_PROPERTY_NAME; -import cucumber.api.CucumberOptions; -import cucumber.api.junit.Cucumber; +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; -@RunWith(Cucumber.class) -@CucumberOptions(features = { - "classpath:cucumber/sharing/SharingParentMailboxWithAndWithoutChildren.feature", - "classpath:cucumber/sharing/SharingChildrenWithoutSharingParent.feature", - "classpath:cucumber/sharing/GetMessageAndSharing.feature", - "classpath:cucumber/sharing/SharingMailboxWithOtherDomain.feature", - "classpath:cucumber/sharing/MailboxCreationAndSharing.feature", - "classpath:cucumber/sharing/MailboxDeletionAndSharing.feature", - "classpath:cucumber/sharing/SetMessagesOnSharedMailbox.feature", - "classpath:cucumber/sharing/DownloadAndSharing.feature", - "classpath:cucumber/sharing/KeywordsConsistencyOnDelegationMailbox.feature", - "classpath:cucumber/sharing/GetMessageListAndSharing.feature", - "classpath:cucumber/sharing/MoveMessageAndSharing.feature", - "classpath:cucumber/sharing/MoveMailboxAndSharing.feature", - "classpath:cucumber/sharing/SetFlagAndSharing.feature", - "classpath:cucumber/sharing/RenamingMailboxAndSharing.feature", - "classpath:cucumber/sharing/CopyAndSharing.feature" }, - glue = { "org.apache.james.jmap.draft.methods.integration", "org.apache.james.jmap.memory.cucumber" }, - tags = {"not @Ignore"}, - strict = true) +@Suite +@SelectClasspathResource("cucumber/sharing") +@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 MemorySharingTest { } diff --git a/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryStepdefs.java b/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryStepdefs.java index 623728808f..1c9a39687c 100644 --- a/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryStepdefs.java +++ b/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryStepdefs.java @@ -21,6 +21,7 @@ package org.apache.james.jmap.memory.cucumber; import static org.apache.james.data.UsersRepositoryModuleChooser.Implementation.DEFAULT; +import io.cucumber.guice.ScenarioScoped; import javax.inject.Inject; import org.apache.james.MemoryJamesConfiguration; @@ -32,14 +33,11 @@ import org.apache.james.mailbox.model.MessageId; import org.apache.james.modules.TestJMAPServerModule; import org.junit.rules.TemporaryFolder; -import cucumber.api.java.After; -import cucumber.api.java.Before; -import cucumber.runtime.java.guice.ScenarioScoped; +import io.cucumber.java.After; +import io.cucumber.java.Before; @ScenarioScoped public class MemoryStepdefs { - - private static final long LIMIT_TO_3_MESSAGES = 3; private final MainStepdefs mainStepdefs; private final ImapStepdefs imapStepdefs; private final TemporaryFolder temporaryFolder; diff --git a/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryUploadCucumberTest.java b/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryUploadCucumberTest.java index fcdebdfff4..383a024721 100644 --- a/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryUploadCucumberTest.java +++ b/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/cucumber/MemoryUploadCucumberTest.java @@ -19,15 +19,18 @@ package org.apache.james.jmap.memory.cucumber; -import org.junit.runner.RunWith; +import static io.cucumber.core.options.Constants.FILTER_TAGS_PROPERTY_NAME; +import static io.cucumber.core.options.Constants.GLUE_PROPERTY_NAME; -import cucumber.api.CucumberOptions; -import cucumber.api.junit.Cucumber; +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; -@RunWith(Cucumber.class) -@CucumberOptions(features = {"classpath:cucumber/UploadEndpoint.feature"}, - glue = {"org.apache.james.jmap.draft.methods.integration", "org.apache.james.jmap.memory.cucumber"}, - tags = {"not @Ignore"}, - strict = true) +@Suite +@SelectClasspathResource("cucumber/UploadEndpoint.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 MemoryUploadCucumberTest { } diff --git a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/pom.xml b/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/pom.xml index a03e2edc84..6458fe246b 100644 --- a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/pom.xml +++ b/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/pom.xml @@ -119,7 +119,7 @@ </dependency> <dependency> <groupId>io.cucumber</groupId> - <artifactId>cucumber-junit</artifactId> + <artifactId>cucumber-junit-platform-engine</artifactId> <scope>test</scope> </dependency> <dependency> @@ -142,6 +142,11 @@ <artifactId>java-hamcrest</artifactId> <scope>test</scope> </dependency> + <dependency> + <groupId>org.junit.platform</groupId> + <artifactId>junit-platform-suite</artifactId> + <scope>test</scope> + </dependency> <dependency> <groupId>org.testcontainers</groupId> <artifactId>testcontainers</artifactId> 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 index 43f42b294f..6412d813b0 100644 --- 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 @@ -21,6 +21,7 @@ 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; @@ -43,9 +44,8 @@ import org.junit.rules.TemporaryFolder; import com.github.fge.lambdas.runnable.ThrowingRunnable; import com.google.inject.multibindings.Multibinder; -import cucumber.api.java.After; -import cucumber.api.java.Before; -import cucumber.runtime.java.guice.ScenarioScoped; +import io.cucumber.java.After; +import io.cucumber.java.Before; @ScenarioScoped public class RabbitMQAwsS3Stepdefs { 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 index cbab08faa0..b0246828ea 100644 --- 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 @@ -19,19 +19,22 @@ 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.runner.RunWith; - -import cucumber.api.CucumberOptions; -import cucumber.api.junit.Cucumber; +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; -@RunWith(Cucumber.class) -@CucumberOptions(features = {"classpath:cucumber/DownloadEndpoint.feature", "classpath:cucumber/DownloadGet.feature", "classpath:cucumber/DownloadPost.feature"}, - glue = {"org.apache.james.jmap.draft.methods.integration", "org.apache.james.jmap.rabbitmq.cucumber.awss3"}, - tags = {"not @Ignore", "@BasicFeature"}, - strict = true) @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 index 9ecab7d175..ed26f92d7f 100644 --- 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 @@ -19,19 +19,22 @@ 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.runner.RunWith; - -import cucumber.api.CucumberOptions; -import cucumber.api.junit.Cucumber; +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; -@RunWith(Cucumber.class) -@CucumberOptions(features = "classpath:cucumber/GetMessages.feature", - glue = {"org.apache.james.jmap.draft.methods.integration", "org.apache.james.jmap.rabbitmq.cucumber.awss3"}, - tags = {"not @Ignore", "@BasicFeature"}, - strict = true) @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/RabbitMQIMAPKeywordsInconsistenciesTest.java b/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQIMAPKeywordsInconsistenciesTest.java index 41c2ab754c..0a4a14e849 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/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQIMAPKeywordsInconsistenciesTest.java @@ -19,18 +19,21 @@ 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.junit.experimental.categories.Category; -import org.junit.runner.RunWith; - -import cucumber.api.CucumberOptions; -import cucumber.api.junit.Cucumber; +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; -@RunWith(Cucumber.class) -@CucumberOptions(features = "classpath:cucumber/ImapKeywordsConsistency.feature", - glue = {"org.apache.james.jmap.draft.methods.integration", "org.apache.james.jmap.rabbitmq.cucumber.awss3"}, - tags = {"not @Ignore", "@BasicFeature"}, - strict = true) @Category(EnableCucumber.class) +@Suite +@SelectClasspathResource("cucumber/ImapKeywordsConsistency.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 { } 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/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQIMAPSetMessagesCompatibilityTest.java index aa9049bb23..9abba3d18a 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/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQIMAPSetMessagesCompatibilityTest.java @@ -19,18 +19,21 @@ 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.junit.experimental.categories.Category; -import org.junit.runner.RunWith; - -import cucumber.api.CucumberOptions; -import cucumber.api.junit.Cucumber; +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; -@RunWith(Cucumber.class) -@CucumberOptions(features = "classpath:cucumber/ImapSetMessagesMailboxesUpdatesCompatibility.feature", - glue = {"org.apache.james.jmap.draft.methods.integration", "org.apache.james.jmap.rabbitmq.cucumber.awss3"}, - tags = {"not @Ignore", "@BasicFeature"}, - strict = true) @Category(EnableCucumber.class) +@Suite +@SelectClasspathResource("cucumber/ImapSetMessagesMailboxesUpdatesCompatibility.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 { } diff --git a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQMailboxSharingTest.java b/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQMailboxSharingTest.java deleted file mode 100644 index 46efe3f42b..0000000000 --- a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQMailboxSharingTest.java +++ /dev/null @@ -1,44 +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.jmap.categories.EnableCucumber; -import org.apache.james.junit.categories.Unstable; -import org.junit.experimental.categories.Category; -import org.junit.runner.RunWith; - -import cucumber.api.CucumberOptions; -import cucumber.api.junit.Cucumber; - -@RunWith(Cucumber.class) -@CucumberOptions(features = { - "classpath:cucumber/sharing/SharingParentMailboxWithAndWithoutChildren.feature", - "classpath:cucumber/sharing/SharingChildrenWithoutSharingParent.feature", - "classpath:cucumber/sharing/SharingMailboxWithOtherDomain.feature", - "classpath:cucumber/sharing/MailboxCreationAndSharing.feature", - "classpath:cucumber/sharing/MailboxDeletionAndSharing.feature", - "classpath:cucumber/sharing/MoveMailboxAndSharing.feature", - "classpath:cucumber/sharing/RenamingMailboxAndSharing.feature" }, - glue = { "org.apache.james.jmap.draft.methods.integration", "org.apache.james.jmap.rabbitmq.cucumber.awss3" }, - tags = {"not @Ignore", "@BasicFeature"}, - strict = true) -@Category({EnableCucumber.class, Unstable.class}) -public class RabbitMQMailboxSharingTest { -} diff --git a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQMessageSharingTest.java b/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQMessageSharingTest.java deleted file mode 100644 index e169391115..0000000000 --- a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQMessageSharingTest.java +++ /dev/null @@ -1,45 +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.jmap.categories.EnableCucumber; -import org.apache.james.junit.categories.Unstable; -import org.junit.experimental.categories.Category; -import org.junit.runner.RunWith; - -import cucumber.api.CucumberOptions; -import cucumber.api.junit.Cucumber; - -@RunWith(Cucumber.class) -@CucumberOptions(features = { - "classpath:cucumber/sharing/GetMessageAndSharing.feature", - "classpath:cucumber/sharing/SetMessagesOnSharedMailbox.feature", - "classpath:cucumber/sharing/DownloadAndSharing.feature", - "classpath:cucumber/sharing/KeywordsConsistencyOnDelegationMailbox.feature", - "classpath:cucumber/sharing/GetMessageListAndSharing.feature", - "classpath:cucumber/sharing/MoveMessageAndSharing.feature", - "classpath:cucumber/sharing/SetFlagAndSharing.feature", - "classpath:cucumber/sharing/CopyAndSharing.feature" }, - glue = { "org.apache.james.jmap.draft.methods.integration", "org.apache.james.jmap.rabbitmq.cucumber.awss3" }, - tags = {"not @Ignore", "@BasicFeature"}, - strict = true) -@Category({EnableCucumber.class, Unstable.class}) -public class RabbitMQMessageSharingTest { -} \ 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/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 index 32191e60a2..46dbc96617 100644 --- 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 @@ -19,19 +19,22 @@ 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.runner.RunWith; - -import cucumber.api.CucumberOptions; -import cucumber.api.junit.Cucumber; +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; -@RunWith(Cucumber.class) -@CucumberOptions(features = { "classpath:cucumber/MailboxModification.feature", "classpath:cucumber/SetMailboxes.feature" }, - glue = { "org.apache.james.jmap.draft.methods.integration", "org.apache.james.jmap.rabbitmq.cucumber.awss3" }, - tags = {"not @Ignore", "@BasicFeature"}, - strict = true) @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 index 774957a0a2..90be25610f 100644 --- 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 @@ -19,19 +19,22 @@ 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.runner.RunWith; - -import cucumber.api.CucumberOptions; -import cucumber.api.junit.Cucumber; +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; -@RunWith(Cucumber.class) -@CucumberOptions(features = "classpath:cucumber/SetMessages.feature", - glue = {"org.apache.james.jmap.draft.methods.integration", "org.apache.james.jmap.rabbitmq.cucumber.awss3"}, - tags = {"not @Ignore", "@BasicFeature"}, - strict = true) @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/RabbitMQDownloadCucumberTest.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 similarity index 66% copy from server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQDownloadCucumberTest.java copy to server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQSharingTest.java index cbab08faa0..787e08452f 100644 --- 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/RabbitMQSharingTest.java @@ -19,19 +19,22 @@ 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.runner.RunWith; - -import cucumber.api.CucumberOptions; -import cucumber.api.junit.Cucumber; +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; -@RunWith(Cucumber.class) -@CucumberOptions(features = {"classpath:cucumber/DownloadEndpoint.feature", "classpath:cucumber/DownloadGet.feature", "classpath:cucumber/DownloadPost.feature"}, - glue = {"org.apache.james.jmap.draft.methods.integration", "org.apache.james.jmap.rabbitmq.cucumber.awss3"}, - tags = {"not @Ignore", "@BasicFeature"}, - strict = true) @Category({EnableCucumber.class, Unstable.class}) -public class RabbitMQDownloadCucumberTest { -} +@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 index 73d780f825..da6a50f6da 100644 --- 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 @@ -19,19 +19,22 @@ 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.runner.RunWith; - -import cucumber.api.CucumberOptions; -import cucumber.api.junit.Cucumber; +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; -@RunWith(Cucumber.class) -@CucumberOptions(features = {"classpath:cucumber/UploadEndpoint.feature"}, - glue = {"org.apache.james.jmap.draft.methods.integration", "org.apache.james.jmap.rabbitmq.cucumber.awss3"}, - tags = {"not @Ignore", "@BasicFeature"}, - strict = true) @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