This is an automated email from the ASF dual-hosted git repository.

aduprat pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 271a9ca8c455fe14d3a8485ef0f21e4260b102a8
Author: Gautier DI FOLCO <gdifo...@linagora.com>
AuthorDate: Thu Mar 28 10:44:24 2019 +0100

    JAMES-2671 Add AWS S3 Cucumber tests in rabbitmq-jmap-integration-testing
---
 .../cucumber/awss3/CucumberAwsS3Singleton.java     |  29 +++++
 .../cucumber/awss3/CucumberCassandraSingleton.java |  27 +++++
 .../cucumber/awss3/CucumberRabbitMQSingleton.java  |  26 +++++
 .../cucumber/awss3/RabbitMQAwsS3Stepdefs.java      | 123 +++++++++++++++++++++
 .../awss3/RabbitMQDownloadCucumberTest.java        |  36 ++++++
 .../awss3/RabbitMQGetMessagesMethodTest.java       |  36 ++++++
 .../RabbitMQIMAPKeywordsInconsistenciesTest.java   |  36 ++++++
 .../RabbitMQIMAPSetMessagesCompatibilityTest.java  |  36 ++++++
 .../cucumber/awss3/RabbitMQMailboxSharingTest.java |  43 +++++++
 .../cucumber/awss3/RabbitMQMessageSharingTest.java |  44 ++++++++
 .../RabbitMQSetMailboxesMethodCucumberTest.java    |  37 +++++++
 .../RabbitMQSetMessagesMethodCucumberTest.java     |  37 +++++++
 .../cucumber/awss3/RabbitMQUploadCucumberTest.java |  37 +++++++
 13 files changed, 547 insertions(+)

diff --git 
a/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/CucumberAwsS3Singleton.java
 
b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/CucumberAwsS3Singleton.java
new file mode 100644
index 0000000..0ea2135
--- /dev/null
+++ 
b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/CucumberAwsS3Singleton.java
@@ -0,0 +1,29 @@
+/****************************************************************
+ * 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.PayloadCodecFactory;
+import org.apache.james.modules.objectstorage.aws.s3.DockerAwsS3TestRule;
+
+public class CucumberAwsS3Singleton {
+
+    public static DockerAwsS3TestRule awsS3Server = new DockerAwsS3TestRule();
+    public static DockerAwsS3TestRule encryptedAwsS3Server = new 
DockerAwsS3TestRule(PayloadCodecFactory.AES256);
+}
+
diff --git 
a/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/CucumberCassandraSingleton.java
 
b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/CucumberCassandraSingleton.java
new file mode 100644
index 0000000..a3fcd98
--- /dev/null
+++ 
b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/CucumberCassandraSingleton.java
@@ -0,0 +1,27 @@
+/****************************************************************
+ * 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-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/CucumberRabbitMQSingleton.java
 
b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/CucumberRabbitMQSingleton.java
new file mode 100644
index 0000000..aa22904
--- /dev/null
+++ 
b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/CucumberRabbitMQSingleton.java
@@ -0,0 +1,26 @@
+/****************************************************************
+ * 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-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQAwsS3Stepdefs.java
 
b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQAwsS3Stepdefs.java
new file mode 100644
index 0000000..baf2f58
--- /dev/null
+++ 
b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQAwsS3Stepdefs.java
@@ -0,0 +1,123 @@
+/****************************************************************
+ * 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 javax.inject.Inject;
+
+import org.apache.activemq.store.PersistenceAdapter;
+import org.apache.activemq.store.memory.MemoryPersistenceAdapter;
+import org.apache.james.CassandraRabbitMQJamesServerMain;
+import org.apache.james.CleanupTasksPerformer;
+import org.apache.james.DockerCassandraRule;
+import org.apache.james.GuiceJamesServer;
+import org.apache.james.backends.es.EmbeddedElasticSearch;
+import org.apache.james.jmap.methods.integration.cucumber.ImapStepdefs;
+import org.apache.james.jmap.methods.integration.cucumber.MainStepdefs;
+import org.apache.james.mailbox.cassandra.ids.CassandraMessageId;
+import org.apache.james.mailbox.extractor.TextExtractor;
+import org.apache.james.mailbox.store.extractor.DefaultTextExtractor;
+import org.apache.james.modules.DockerRabbitMQRule;
+import org.apache.james.modules.TestESMetricReporterModule;
+import org.apache.james.modules.TestElasticSearchModule;
+import org.apache.james.modules.TestJMAPServerModule;
+import org.apache.james.modules.TestRabbitMQModule;
+import org.apache.james.modules.objectstorage.aws.s3.DockerAwsS3TestRule;
+import org.apache.james.server.CassandraTruncateTableTask;
+import org.apache.james.server.core.configuration.Configuration;
+
+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;
+
+@ScenarioScoped
+public class RabbitMQAwsS3Stepdefs {
+
+    private static final int JMAP_GET_MESSAGE_LIST_MAXIMUM_LIMIT = 10;
+    private final MainStepdefs mainStepdefs;
+    private final ImapStepdefs imapStepdefs;
+    private TemporaryFolder temporaryFolder = new TemporaryFolder();
+    private EmbeddedElasticSearch embeddedElasticSearch = new 
EmbeddedElasticSearch(temporaryFolder);
+    private DockerCassandraRule cassandraServer = 
CucumberCassandraSingleton.cassandraServer;
+    private DockerRabbitMQRule rabbitMQServer = 
CucumberRabbitMQSingleton.rabbitMQServer;
+    private DockerAwsS3TestRule swiftServer = 
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();
+        swiftServer.start();
+
+        temporaryFolder.create();
+        embeddedElasticSearch.before();
+        mainStepdefs.messageIdFactory = new CassandraMessageId.Factory();
+        Configuration configuration = Configuration.builder()
+                .workingDirectory(temporaryFolder.newFolder())
+                .configurationFromClasspath()
+                .build();
+
+        mainStepdefs.jmapServer = 
GuiceJamesServer.forConfiguration(configuration)
+                .combineWith(CassandraRabbitMQJamesServerMain.MODULES)
+                .overrideWith(new 
TestJMAPServerModule(JMAP_GET_MESSAGE_LIST_MAXIMUM_LIMIT))
+                .overrideWith(new TestESMetricReporterModule())
+                .overrideWith(new 
TestRabbitMQModule(rabbitMQServer.dockerRabbitMQ()))
+                .overrideWith(swiftServer.getModule())
+                .overrideWith(new 
TestElasticSearchModule(embeddedElasticSearch))
+                .overrideWith(cassandraServer.getModule())
+                .overrideWith(binder -> 
binder.bind(TextExtractor.class).to(DefaultTextExtractor.class))
+                .overrideWith((binder) -> 
binder.bind(PersistenceAdapter.class).to(MemoryPersistenceAdapter.class))
+                .overrideWith(binder -> Multibinder.newSetBinder(binder, 
CleanupTasksPerformer.CleanupTask.class).addBinding().to(CassandraTruncateTableTask.class))
+                .overrideWith((binder -> 
binder.bind(CleanupTasksPerformer.class).asEagerSingleton()));
+        mainStepdefs.awaitMethod = () -> 
embeddedElasticSearch.awaitForElasticSearch();
+        mainStepdefs.init();
+    }
+
+    @After
+    public void tearDown() {
+        ignoreFailures(imapStepdefs::closeConnections,
+                mainStepdefs::tearDown,
+                () -> embeddedElasticSearch.after(),
+                () -> 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-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQDownloadCucumberTest.java
 
b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQDownloadCucumberTest.java
new file mode 100644
index 0000000..3130490
--- /dev/null
+++ 
b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQDownloadCucumberTest.java
@@ -0,0 +1,36 @@
+/****************************************************************
+ * 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.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/DownloadEndpoint.feature", 
"classpath:cucumber/DownloadGet.feature", 
"classpath:cucumber/DownloadPost.feature"},
+                glue = {"org.apache.james.jmap.methods.integration", 
"org.apache.james.jmap.rabbitmq.cucumber.awss3"},
+                tags = {"not @Ignore", "@BasicFeature"},
+                strict = true)
+@Category(EnableCucumber.class)
+public class RabbitMQDownloadCucumberTest {
+}
diff --git 
a/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQGetMessagesMethodTest.java
 
b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQGetMessagesMethodTest.java
new file mode 100644
index 0000000..7c84a17
--- /dev/null
+++ 
b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQGetMessagesMethodTest.java
@@ -0,0 +1,36 @@
+/****************************************************************
+ * 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.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/GetMessages.feature",
+                glue = {"org.apache.james.jmap.methods.integration", 
"org.apache.james.jmap.rabbitmq.cucumber.awss3"},
+                tags = {"not @Ignore", "@BasicFeature"},
+                strict = true)
+@Category(EnableCucumber.class)
+public class RabbitMQGetMessagesMethodTest {
+}
diff --git 
a/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQIMAPKeywordsInconsistenciesTest.java
 
b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQIMAPKeywordsInconsistenciesTest.java
new file mode 100644
index 0000000..489a695
--- /dev/null
+++ 
b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQIMAPKeywordsInconsistenciesTest.java
@@ -0,0 +1,36 @@
+/****************************************************************
+ * 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.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/ImapKeywordsConsistency.feature",
+    glue = {"org.apache.james.jmap.methods.integration", 
"org.apache.james.jmap.rabbitmq.cucumber.awss3"},
+    tags = {"not @Ignore", "@BasicFeature"},
+    strict = true)
+@Category(EnableCucumber.class)
+public class RabbitMQIMAPKeywordsInconsistenciesTest {
+}
diff --git 
a/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQIMAPSetMessagesCompatibilityTest.java
 
b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQIMAPSetMessagesCompatibilityTest.java
new file mode 100644
index 0000000..7a2ec33
--- /dev/null
+++ 
b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQIMAPSetMessagesCompatibilityTest.java
@@ -0,0 +1,36 @@
+/****************************************************************
+ * 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.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/ImapSetMessagesMailboxesUpdatesCompatibility.feature",
+    glue = {"org.apache.james.jmap.methods.integration", 
"org.apache.james.jmap.rabbitmq.cucumber.awss3"},
+    tags = {"not @Ignore", "@BasicFeature"},
+    strict = true)
+@Category(EnableCucumber.class)
+public class RabbitMQIMAPSetMessagesCompatibilityTest {
+}
diff --git 
a/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQMailboxSharingTest.java
 
b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQMailboxSharingTest.java
new file mode 100644
index 0000000..d1ea192
--- /dev/null
+++ 
b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQMailboxSharingTest.java
@@ -0,0 +1,43 @@
+/****************************************************************
+ * 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.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.methods.integration", 
"org.apache.james.jmap.rabbitmq.cucumber.awss3" },
+    tags = {"not @Ignore", "@BasicFeature"},
+    strict = true)
+@Category(EnableCucumber.class)
+public class RabbitMQMailboxSharingTest {
+}
diff --git 
a/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQMessageSharingTest.java
 
b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQMessageSharingTest.java
new file mode 100644
index 0000000..0bace9f
--- /dev/null
+++ 
b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQMessageSharingTest.java
@@ -0,0 +1,44 @@
+/****************************************************************
+ * 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.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.methods.integration", 
"org.apache.james.jmap.rabbitmq.cucumber.awss3" },
+    tags = {"not @Ignore", "@BasicFeature"},
+    strict = true)
+@Category(EnableCucumber.class)
+public class RabbitMQMessageSharingTest {
+}
diff --git 
a/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQSetMailboxesMethodCucumberTest.java
 
b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQSetMailboxesMethodCucumberTest.java
new file mode 100644
index 0000000..f9483c4
--- /dev/null
+++ 
b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQSetMailboxesMethodCucumberTest.java
@@ -0,0 +1,37 @@
+/****************************************************************
+ * 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.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/MailboxModification.feature", 
"classpath:cucumber/SetMailboxes.feature" },
+                glue = { "org.apache.james.jmap.methods.integration", 
"org.apache.james.jmap.rabbitmq.cucumber.awss3" },
+                tags = {"not @Ignore", "@BasicFeature"},
+                strict = true)
+@Category(EnableCucumber.class)
+public class RabbitMQSetMailboxesMethodCucumberTest {
+}
diff --git 
a/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQSetMessagesMethodCucumberTest.java
 
b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQSetMessagesMethodCucumberTest.java
new file mode 100644
index 0000000..64bc6d7
--- /dev/null
+++ 
b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQSetMessagesMethodCucumberTest.java
@@ -0,0 +1,37 @@
+/****************************************************************
+ * 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.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/SetMessages.feature",
+                glue = {"org.apache.james.jmap.methods.integration", 
"org.apache.james.jmap.rabbitmq.cucumber.awss3"},
+                tags = {"not @Ignore", "@BasicFeature"},
+                strict = true)
+@Category(EnableCucumber.class)
+public class RabbitMQSetMessagesMethodCucumberTest {
+}
diff --git 
a/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQUploadCucumberTest.java
 
b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQUploadCucumberTest.java
new file mode 100644
index 0000000..495213c
--- /dev/null
+++ 
b/server/protocols/jmap-integration-testing/rabbitmq-jmap-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQUploadCucumberTest.java
@@ -0,0 +1,37 @@
+/****************************************************************
+ * 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.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/UploadEndpoint.feature"},
+                glue = {"org.apache.james.jmap.methods.integration", 
"org.apache.james.jmap.rabbitmq.cucumber.awss3"},
+                tags = {"not @Ignore", "@BasicFeature"},
+                strict = true)
+@Category(EnableCucumber.class)
+public class RabbitMQUploadCucumberTest {
+}


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

Reply via email to