JAMES-1697 Rely on MPT features for running tests

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

Branch: refs/heads/master
Commit: 7c973b2ada7494ba3046c503dd936bcce321dbb2
Parents: 758886d
Author: Benoit Tellier <[email protected]>
Authored: Mon Mar 14 13:00:40 2016 +0700
Committer: Benoit Tellier <[email protected]>
Committed: Tue Mar 22 14:21:12 2016 +0700

----------------------------------------------------------------------
 .../org/apache/james/mpt/api/ImapFeatures.java  |  5 +-
 .../cassandra/CassandraMailboxTest.java         | 51 +-------------------
 .../cassandra/host/CassandraHostSystem.java     |  5 +-
 .../mpt/imapmailbox/AbstractMailboxTest.java    |  6 +++
 .../james/mpt/imapmailbox/suite/Move.java       |  7 ++-
 .../james/mpt/imapmailbox/suite/QuotaTest.java  |  3 ++
 .../mpt/imapmailbox/suite/UserFlagsSupport.java |  7 ++-
 .../inmemory/InMemoryMailboxTest.java           | 49 +------------------
 .../inmemory/host/InMemoryHostSystem.java       |  5 +-
 .../mpt/imapmailbox/jpa/host/JPAHostSystem.java |  2 +-
 10 files changed, 36 insertions(+), 104 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/7c973b2a/mpt/core/src/main/java/org/apache/james/mpt/api/ImapFeatures.java
----------------------------------------------------------------------
diff --git a/mpt/core/src/main/java/org/apache/james/mpt/api/ImapFeatures.java 
b/mpt/core/src/main/java/org/apache/james/mpt/api/ImapFeatures.java
index b935f25..e35f40c 100644
--- a/mpt/core/src/main/java/org/apache/james/mpt/api/ImapFeatures.java
+++ b/mpt/core/src/main/java/org/apache/james/mpt/api/ImapFeatures.java
@@ -28,7 +28,10 @@ import com.google.common.collect.ImmutableSet;
 public class ImapFeatures {
     
     public enum Feature {
-        NAMESPACE_SUPPORT
+        NAMESPACE_SUPPORT,
+        MOVE_SUPPORT,
+        USER_FLAGS_SUPPORT,
+        QUOTA_SUPPORT
     }
 
     public static ImapFeatures of(Feature... features) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/7c973b2a/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/CassandraMailboxTest.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/CassandraMailboxTest.java
 
b/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/CassandraMailboxTest.java
index 643c9c6..7ea7e29 100644
--- 
a/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/CassandraMailboxTest.java
+++ 
b/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/CassandraMailboxTest.java
@@ -19,57 +19,10 @@
 
 package org.apache.james.mpt.imapmailbox.cassandra;
 
-import org.apache.james.mpt.imapmailbox.suite.AuthenticatedState;
-import org.apache.james.mpt.imapmailbox.suite.ConcurrentSessions;
-import org.apache.james.mpt.imapmailbox.suite.Events;
-import org.apache.james.mpt.imapmailbox.suite.Expunge;
-import org.apache.james.mpt.imapmailbox.suite.Fetch;
-import org.apache.james.mpt.imapmailbox.suite.FetchBodySection;
-import org.apache.james.mpt.imapmailbox.suite.FetchBodyStructure;
-import org.apache.james.mpt.imapmailbox.suite.FetchHeaders;
-import org.apache.james.mpt.imapmailbox.suite.Listing;
-import org.apache.james.mpt.imapmailbox.suite.Move;
-import org.apache.james.mpt.imapmailbox.suite.NonAuthenticatedState;
-import org.apache.james.mpt.imapmailbox.suite.PartialFetch;
-import org.apache.james.mpt.imapmailbox.suite.QuotaTest;
-import org.apache.james.mpt.imapmailbox.suite.Rename;
-import org.apache.james.mpt.imapmailbox.suite.Search;
-import org.apache.james.mpt.imapmailbox.suite.Security;
-import org.apache.james.mpt.imapmailbox.suite.Select;
-import org.apache.james.mpt.imapmailbox.suite.SelectedInbox;
-import org.apache.james.mpt.imapmailbox.suite.SelectedState;
-import org.apache.james.mpt.imapmailbox.suite.UidSearch;
-import org.apache.james.mpt.imapmailbox.suite.UserFlagsSupport;
-import org.apache.onami.test.OnamiSuite;
+import org.apache.james.mpt.imapmailbox.AbstractMailboxTest;
 import org.apache.onami.test.annotation.GuiceModules;
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
 
-@RunWith(OnamiSuite.class)
[email protected]({
-    AuthenticatedState.class,
-    ConcurrentSessions.class,
-    Events.class,
-    Expunge.class,
-    Fetch.class,
-    FetchBodySection.class,
-    FetchBodyStructure.class,
-    FetchHeaders.class,
-    Listing.class,
-    NonAuthenticatedState.class,
-    PartialFetch.class,
-    Rename.class,
-    Search.class,
-    Security.class,
-    Select.class,
-    SelectedInbox.class,
-    SelectedState.class,
-    UidSearch.class,
-    UserFlagsSupport.class,
-    QuotaTest.class,
-    Move.class
-})
 @GuiceModules({ CassandraMailboxTestModule.class })
-public class CassandraMailboxTest {
+public class CassandraMailboxTest extends AbstractMailboxTest {
 
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/7c973b2a/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java
 
b/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java
index eed5ad3..0a23c85 100644
--- 
a/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java
+++ 
b/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java
@@ -54,7 +54,10 @@ import 
org.apache.james.mpt.imapmailbox.MailboxCreationDelegate;
 
 public class CassandraHostSystem extends JamesImapHostSystem {
 
-    private static final ImapFeatures IMAP_FEATURES = 
ImapFeatures.of(Feature.NAMESPACE_SUPPORT);
+    private static final ImapFeatures IMAP_FEATURES = 
ImapFeatures.of(Feature.NAMESPACE_SUPPORT,
+        Feature.MOVE_SUPPORT,
+        Feature.USER_FLAGS_SUPPORT,
+        Feature.QUOTA_SUPPORT);
     
     private final CassandraMailboxManager mailboxManager;
     private final MockAuthenticator userManager;

http://git-wip-us.apache.org/repos/asf/james-project/blob/7c973b2a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/AbstractMailboxTest.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/AbstractMailboxTest.java
 
b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/AbstractMailboxTest.java
index f166d7c..d2f6f9d 100644
--- 
a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/AbstractMailboxTest.java
+++ 
b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/AbstractMailboxTest.java
@@ -27,8 +27,10 @@ import 
org.apache.james.mpt.imapmailbox.suite.FetchBodySection;
 import org.apache.james.mpt.imapmailbox.suite.FetchBodyStructure;
 import org.apache.james.mpt.imapmailbox.suite.FetchHeaders;
 import org.apache.james.mpt.imapmailbox.suite.Listing;
+import org.apache.james.mpt.imapmailbox.suite.Move;
 import org.apache.james.mpt.imapmailbox.suite.NonAuthenticatedState;
 import org.apache.james.mpt.imapmailbox.suite.PartialFetch;
+import org.apache.james.mpt.imapmailbox.suite.QuotaTest;
 import org.apache.james.mpt.imapmailbox.suite.Rename;
 import org.apache.james.mpt.imapmailbox.suite.Search;
 import org.apache.james.mpt.imapmailbox.suite.Security;
@@ -36,6 +38,7 @@ import org.apache.james.mpt.imapmailbox.suite.Select;
 import org.apache.james.mpt.imapmailbox.suite.SelectedInbox;
 import org.apache.james.mpt.imapmailbox.suite.SelectedState;
 import org.apache.james.mpt.imapmailbox.suite.UidSearch;
+import org.apache.james.mpt.imapmailbox.suite.UserFlagsSupport;
 import org.apache.onami.test.OnamiSuite;
 import org.junit.runner.RunWith;
 import org.junit.runners.Suite.SuiteClasses;
@@ -57,6 +60,9 @@ import org.junit.runners.Suite.SuiteClasses;
     Search.class,
     Security.class,
     Select.class,
+    QuotaTest.class,
+    UserFlagsSupport.class,
+    Move.class,
     SelectedInbox.class,
     SelectedState.class,
     UidSearch.class

http://git-wip-us.apache.org/repos/asf/james-project/blob/7c973b2a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/Move.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/Move.java
 
b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/Move.java
index 489b148..e72998c 100644
--- 
a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/Move.java
+++ 
b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/Move.java
@@ -23,14 +23,16 @@ import java.util.Locale;
 
 import javax.inject.Inject;
 
-import org.apache.james.mpt.api.HostSystem;
+import org.apache.james.mpt.api.ImapFeatures;
+import org.apache.james.mpt.api.ImapHostSystem;
 import org.apache.james.mpt.imapmailbox.suite.base.BaseSelectedState;
+import org.junit.Assume;
 import org.junit.Test;
 
 public class Move  extends BaseSelectedState {
 
     @Inject
-    private static HostSystem system;
+    private static ImapHostSystem system;
 
     public Move() throws Exception {
         super(system);
@@ -38,6 +40,7 @@ public class Move  extends BaseSelectedState {
 
     @Test
     public void moveShouldWork() throws Exception {
+        Assume.assumeTrue(system.supports(ImapFeatures.Feature.MOVE_SUPPORT));
         scriptTest("Move", Locale.US);
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/7c973b2a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/QuotaTest.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/QuotaTest.java
 
b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/QuotaTest.java
index 63c28ce..43e8222 100644
--- 
a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/QuotaTest.java
+++ 
b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/QuotaTest.java
@@ -19,8 +19,10 @@
 
 package org.apache.james.mpt.imapmailbox.suite;
 
+import org.apache.james.mpt.api.ImapFeatures;
 import org.apache.james.mpt.api.ImapHostSystem;
 import org.apache.james.mpt.imapmailbox.suite.base.BaseSelectedState;
+import org.junit.Assume;
 import org.junit.Test;
 
 import javax.inject.Inject;
@@ -37,6 +39,7 @@ public class QuotaTest extends BaseSelectedState {
 
     @Test
     public void testQuotaScript() throws Exception {
+        Assume.assumeTrue(system.supports(ImapFeatures.Feature.QUOTA_SUPPORT));
         scriptTest("Quota", Locale.CANADA);
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/7c973b2a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/UserFlagsSupport.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/UserFlagsSupport.java
 
b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/UserFlagsSupport.java
index aa7de12..917f9af 100644
--- 
a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/UserFlagsSupport.java
+++ 
b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/UserFlagsSupport.java
@@ -22,14 +22,16 @@ package org.apache.james.mpt.imapmailbox.suite;
 import com.google.inject.Inject;
 import java.util.Locale;
 
-import org.apache.james.mpt.api.HostSystem;
+import org.apache.james.mpt.api.ImapFeatures;
+import org.apache.james.mpt.api.ImapHostSystem;
 import org.apache.james.mpt.imapmailbox.suite.base.BaseAuthenticatedState;
+import org.junit.Assume;
 import org.junit.Test;
 
 public class UserFlagsSupport extends BaseAuthenticatedState {
 
     @Inject
-    private static HostSystem system;
+    private static ImapHostSystem system;
 
     public UserFlagsSupport() throws Exception {
         super(system);
@@ -37,6 +39,7 @@ public class UserFlagsSupport extends BaseAuthenticatedState {
 
     @Test
     public void testUserFlagsSupport() throws Exception {
+        
Assume.assumeTrue(system.supports(ImapFeatures.Feature.USER_FLAGS_SUPPORT));
         scriptTest("UserFlagsSupport", Locale.US);
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/7c973b2a/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/InMemoryMailboxTest.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/InMemoryMailboxTest.java
 
b/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/InMemoryMailboxTest.java
index 26b475e..95493d2 100644
--- 
a/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/InMemoryMailboxTest.java
+++ 
b/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/InMemoryMailboxTest.java
@@ -18,55 +18,10 @@
  ****************************************************************/
 package org.apache.james.mpt.imapmailbox.inmemory;
 
-import org.apache.james.mpt.imapmailbox.suite.AuthenticatedState;
-import org.apache.james.mpt.imapmailbox.suite.ConcurrentSessions;
-import org.apache.james.mpt.imapmailbox.suite.Events;
-import org.apache.james.mpt.imapmailbox.suite.Expunge;
-import org.apache.james.mpt.imapmailbox.suite.Fetch;
-import org.apache.james.mpt.imapmailbox.suite.FetchBodySection;
-import org.apache.james.mpt.imapmailbox.suite.FetchBodyStructure;
-import org.apache.james.mpt.imapmailbox.suite.FetchHeaders;
-import org.apache.james.mpt.imapmailbox.suite.Listing;
-import org.apache.james.mpt.imapmailbox.suite.Move;
-import org.apache.james.mpt.imapmailbox.suite.NonAuthenticatedState;
-import org.apache.james.mpt.imapmailbox.suite.PartialFetch;
-import org.apache.james.mpt.imapmailbox.suite.QuotaTest;
-import org.apache.james.mpt.imapmailbox.suite.Rename;
-import org.apache.james.mpt.imapmailbox.suite.Search;
-import org.apache.james.mpt.imapmailbox.suite.Security;
-import org.apache.james.mpt.imapmailbox.suite.Select;
-import org.apache.james.mpt.imapmailbox.suite.SelectedInbox;
-import org.apache.james.mpt.imapmailbox.suite.SelectedState;
-import org.apache.james.mpt.imapmailbox.suite.UidSearch;
-import org.apache.onami.test.OnamiSuite;
+import org.apache.james.mpt.imapmailbox.AbstractMailboxTest;
 import org.apache.onami.test.annotation.GuiceModules;
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
 
-@RunWith(OnamiSuite.class)
[email protected]({
-    AuthenticatedState.class,
-    ConcurrentSessions.class,
-    Events.class,
-    Expunge.class,
-    Fetch.class,
-    FetchBodySection.class,
-    FetchBodyStructure.class,
-    FetchHeaders.class,
-    Listing.class,
-    NonAuthenticatedState.class,
-    PartialFetch.class,
-    Rename.class,
-    Search.class,
-    Security.class,
-    Select.class,
-    SelectedInbox.class,
-    SelectedState.class,
-    UidSearch.class,
-    QuotaTest.class,
-    Move.class
-})
 @GuiceModules({ InMemoryMailboxTestModule.class })
-public class InMemoryMailboxTest {
+public class InMemoryMailboxTest extends AbstractMailboxTest {
 
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/7c973b2a/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/host/InMemoryHostSystem.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/host/InMemoryHostSystem.java
 
b/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/host/InMemoryHostSystem.java
index d054fe1..9c3e427 100644
--- 
a/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/host/InMemoryHostSystem.java
+++ 
b/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/host/InMemoryHostSystem.java
@@ -48,7 +48,10 @@ import 
org.apache.james.mpt.imapmailbox.MailboxCreationDelegate;
 
 public class InMemoryHostSystem extends JamesImapHostSystem {
 
-    private static final ImapFeatures SUPPORTED_FEATURES = 
ImapFeatures.of(Feature.NAMESPACE_SUPPORT);
+    private static final ImapFeatures SUPPORTED_FEATURES = 
ImapFeatures.of(Feature.NAMESPACE_SUPPORT,
+        Feature.MOVE_SUPPORT,
+        Feature.USER_FLAGS_SUPPORT,
+        Feature.QUOTA_SUPPORT);
 
     private InMemoryMailboxManager mailboxManager;
     private MockAuthenticator userManager;

http://git-wip-us.apache.org/repos/asf/james-project/blob/7c973b2a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystem.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystem.java
 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystem.java
index 95474b4..3848df2 100644
--- 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystem.java
+++ 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystem.java
@@ -61,7 +61,7 @@ import org.slf4j.LoggerFactory;
 public class JPAHostSystem extends JamesImapHostSystem {
 
     public static final String META_DATA_DIRECTORY = "target/user-meta-data";
-    private static final ImapFeatures SUPPORTED_FEATURES = 
ImapFeatures.of(Feature.NAMESPACE_SUPPORT);
+    private static final ImapFeatures SUPPORTED_FEATURES = 
ImapFeatures.of(Feature.NAMESPACE_SUPPORT, Feature.USER_FLAGS_SUPPORT);
 
     public static JamesImapHostSystem build() throws Exception {
         return new JPAHostSystem();


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to