JAMES-2154 Rule wrapping for JPA IMAP MPT 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/f51889b3
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/f51889b3
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/f51889b3

Branch: refs/heads/master
Commit: f51889b33c77ac6872c98ff5628356010a46bb8f
Parents: ac72809
Author: Benoit Tellier <[email protected]>
Authored: Tue Oct 30 09:27:32 2018 +0700
Committer: Benoit Tellier <[email protected]>
Committed: Wed Oct 31 08:48:29 2018 +0700

----------------------------------------------------------------------
 .../jpa/JpaAuthenticatePlainTest.java           | 25 ++-------
 .../jpa/JpaAuthenticatedStateTest.java          | 25 ++-------
 .../jpa/JpaConcurrentSessionsTest.java          | 24 ++-------
 .../mpt/imapmailbox/jpa/JpaCondstoreTest.java   | 25 ++-------
 .../james/mpt/imapmailbox/jpa/JpaCopyTest.java  | 24 ++-------
 .../mpt/imapmailbox/jpa/JpaEventsTest.java      | 25 ++-------
 .../mpt/imapmailbox/jpa/JpaExpungeTest.java     | 25 ++-------
 .../jpa/JpaFetchBodySectionTest.java            | 25 ++-------
 .../jpa/JpaFetchBodyStructureTest.java          | 25 ++-------
 .../imapmailbox/jpa/JpaFetchHeadersTest.java    | 25 ++-------
 .../james/mpt/imapmailbox/jpa/JpaFetchTest.java | 25 ++-------
 .../mpt/imapmailbox/jpa/JpaListingTest.java     | 25 ++-------
 .../jpa/JpaMailboxAnnotationTest.java           | 25 ++-------
 .../jpa/JpaMailboxWithLongNameErrorTest.java    | 25 ++-------
 .../james/mpt/imapmailbox/jpa/JpaMoveTest.java  | 25 ++-------
 .../jpa/JpaNonAuthenticatedStateTest.java       | 25 ++-------
 .../imapmailbox/jpa/JpaPartialFetchTest.java    | 25 ++-------
 .../james/mpt/imapmailbox/jpa/JpaQuotaTest.java | 20 ++------
 .../mpt/imapmailbox/jpa/JpaRenameTest.java      | 25 ++-------
 .../mpt/imapmailbox/jpa/JpaSearchTest.java      | 25 ++-------
 .../mpt/imapmailbox/jpa/JpaSecurityTest.java    | 25 ++-------
 .../mpt/imapmailbox/jpa/JpaSelectTest.java      | 25 ++-------
 .../imapmailbox/jpa/JpaSelectedInboxTest.java   | 25 ++-------
 .../imapmailbox/jpa/JpaSelectedStateTest.java   | 24 ++-------
 .../jpa/JpaUidSearchOnIndexTest.java            | 25 ++-------
 .../mpt/imapmailbox/jpa/JpaUidSearchTest.java   | 25 ++-------
 .../jpa/JpaUserFlagsSupportTest.java            | 25 ++-------
 .../imapmailbox/jpa/host/JPAHostSystemRule.java | 53 ++++++++++++++++++++
 28 files changed, 188 insertions(+), 532 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/f51889b3/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaAuthenticatePlainTest.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaAuthenticatePlainTest.java
 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaAuthenticatePlainTest.java
index d09fc9e..69a507a 100644
--- 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaAuthenticatePlainTest.java
+++ 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaAuthenticatePlainTest.java
@@ -20,31 +20,16 @@
 package org.apache.james.mpt.imapmailbox.jpa;
 
 import org.apache.james.mpt.api.ImapHostSystem;
-import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystem;
+import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystemRule;
 import org.apache.james.mpt.imapmailbox.suite.AuthenticatePlain;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.Rule;
 
 public class JpaAuthenticatePlainTest extends AuthenticatePlain {
-
-    private ImapHostSystem system;
-
-    @Override
-    @Before
-    public void setUp() throws Exception {
-        system = JPAHostSystem.build();
-        system.beforeTest();
-        super.setUp();
-    }
+    @Rule
+    public JPAHostSystemRule hostSystemRule = new JPAHostSystemRule();
     
     @Override
     protected ImapHostSystem createImapHostSystem() {
-        return system;
+        return hostSystemRule.getHostSystem();
     }
-
-    @After
-    public void tearDown() throws Exception {
-        system.afterTest();
-    }
-    
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/f51889b3/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaAuthenticatedStateTest.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaAuthenticatedStateTest.java
 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaAuthenticatedStateTest.java
index eb02135..9716a4d 100644
--- 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaAuthenticatedStateTest.java
+++ 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaAuthenticatedStateTest.java
@@ -20,31 +20,16 @@
 package org.apache.james.mpt.imapmailbox.jpa;
 
 import org.apache.james.mpt.api.ImapHostSystem;
-import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystem;
+import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystemRule;
 import org.apache.james.mpt.imapmailbox.suite.AuthenticatedState;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.Rule;
 
 public class JpaAuthenticatedStateTest extends AuthenticatedState {
-
-    private ImapHostSystem system;
-
-    @Override
-    @Before
-    public void setUp() throws Exception {
-        system = JPAHostSystem.build();
-        system.beforeTest();
-        super.setUp();
-    }
+    @Rule
+    public JPAHostSystemRule hostSystemRule = new JPAHostSystemRule();
     
     @Override
     protected ImapHostSystem createImapHostSystem() {
-        return system;
+        return hostSystemRule.getHostSystem();
     }
-
-    @After
-    public void tearDown() throws Exception {
-        system.afterTest();
-    }
-    
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/f51889b3/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaConcurrentSessionsTest.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaConcurrentSessionsTest.java
 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaConcurrentSessionsTest.java
index cbdf6de..23f595e 100644
--- 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaConcurrentSessionsTest.java
+++ 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaConcurrentSessionsTest.java
@@ -20,31 +20,17 @@
 package org.apache.james.mpt.imapmailbox.jpa;
 
 import org.apache.james.mpt.api.ImapHostSystem;
-import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystem;
+import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystemRule;
 import org.apache.james.mpt.imapmailbox.suite.ConcurrentSessions;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.Rule;
 
 public class JpaConcurrentSessionsTest extends ConcurrentSessions {
+    @Rule
+    public JPAHostSystemRule hostSystemRule = new JPAHostSystemRule();
 
-    private ImapHostSystem system;
-
-    @Override
-    @Before
-    public void setUp() throws Exception {
-        system = JPAHostSystem.build();
-        system.beforeTest();
-        super.setUp();
-    }
-    
     @Override
     protected ImapHostSystem createImapHostSystem() {
-        return system;
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        system.afterTest();
+        return hostSystemRule.getHostSystem();
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/f51889b3/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaCondstoreTest.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaCondstoreTest.java
 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaCondstoreTest.java
index 0a0699f..2cc6663 100644
--- 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaCondstoreTest.java
+++ 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaCondstoreTest.java
@@ -20,31 +20,16 @@
 package org.apache.james.mpt.imapmailbox.jpa;
 
 import org.apache.james.mpt.host.JamesImapHostSystem;
-import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystem;
+import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystemRule;
 import org.apache.james.mpt.imapmailbox.suite.Condstore;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.Rule;
 
 public class JpaCondstoreTest extends Condstore {
+    @Rule
+    public JPAHostSystemRule hostSystemRule = new JPAHostSystemRule();
 
-    private JamesImapHostSystem system;
-
-    @Override
-    @Before
-    public void setUp() throws Exception {
-        system = JPAHostSystem.build();
-        system.beforeTest();
-        super.setUp();
-    }
-    
     @Override
     protected JamesImapHostSystem createJamesImapHostSystem() {
-        return system;
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        system.afterTest();
+        return hostSystemRule.getHostSystem();
     }
-    
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/f51889b3/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaCopyTest.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaCopyTest.java
 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaCopyTest.java
index cf888f2..3229e04 100644
--- 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaCopyTest.java
+++ 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaCopyTest.java
@@ -20,31 +20,17 @@
 package org.apache.james.mpt.imapmailbox.jpa;
 
 import org.apache.james.mpt.api.ImapHostSystem;
-import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystem;
+import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystemRule;
 import org.apache.james.mpt.imapmailbox.suite.Copy;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.Rule;
 
 public class JpaCopyTest extends Copy {
+    @Rule
+    public JPAHostSystemRule hostSystemRule = new JPAHostSystemRule();
 
-    private ImapHostSystem system;
-
-    @Override
-    @Before
-    public void setUp() throws Exception {
-        system = JPAHostSystem.build();
-        system.beforeTest();
-        super.setUp();
-    }
-    
     @Override
     protected ImapHostSystem createImapHostSystem() {
-        return system;
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        system.afterTest();
+        return hostSystemRule.getHostSystem();
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/f51889b3/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaEventsTest.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaEventsTest.java
 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaEventsTest.java
index 9fa871f..7632d83 100644
--- 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaEventsTest.java
+++ 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaEventsTest.java
@@ -20,31 +20,16 @@
 package org.apache.james.mpt.imapmailbox.jpa;
 
 import org.apache.james.mpt.api.ImapHostSystem;
-import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystem;
+import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystemRule;
 import org.apache.james.mpt.imapmailbox.suite.Events;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.Rule;
 
 public class JpaEventsTest extends Events {
+    @Rule
+    public JPAHostSystemRule hostSystemRule = new JPAHostSystemRule();
 
-    private ImapHostSystem system;
-
-    @Override
-    @Before
-    public void setUp() throws Exception {
-        system = JPAHostSystem.build();
-        system.beforeTest();
-        super.setUp();
-    }
-    
     @Override
     protected ImapHostSystem createImapHostSystem() {
-        return system;
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        system.afterTest();
+        return hostSystemRule.getHostSystem();
     }
-    
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/f51889b3/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaExpungeTest.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaExpungeTest.java
 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaExpungeTest.java
index 5098df3..a19bd91 100644
--- 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaExpungeTest.java
+++ 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaExpungeTest.java
@@ -20,31 +20,16 @@
 package org.apache.james.mpt.imapmailbox.jpa;
 
 import org.apache.james.mpt.api.ImapHostSystem;
-import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystem;
+import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystemRule;
 import org.apache.james.mpt.imapmailbox.suite.Expunge;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.Rule;
 
 public class JpaExpungeTest extends Expunge {
+    @Rule
+    public JPAHostSystemRule hostSystemRule = new JPAHostSystemRule();
 
-    private ImapHostSystem system;
-
-    @Override
-    @Before
-    public void setUp() throws Exception {
-        system = JPAHostSystem.build();
-        system.beforeTest();
-        super.setUp();
-    }
-    
     @Override
     protected ImapHostSystem createImapHostSystem() {
-        return system;
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        system.afterTest();
+        return hostSystemRule.getHostSystem();
     }
-    
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/f51889b3/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaFetchBodySectionTest.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaFetchBodySectionTest.java
 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaFetchBodySectionTest.java
index be2c956..307ca90 100644
--- 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaFetchBodySectionTest.java
+++ 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaFetchBodySectionTest.java
@@ -20,31 +20,16 @@
 package org.apache.james.mpt.imapmailbox.jpa;
 
 import org.apache.james.mpt.api.ImapHostSystem;
-import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystem;
+import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystemRule;
 import org.apache.james.mpt.imapmailbox.suite.FetchBodySection;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.Rule;
 
 public class JpaFetchBodySectionTest extends FetchBodySection {
+    @Rule
+    public JPAHostSystemRule hostSystemRule = new JPAHostSystemRule();
 
-    private ImapHostSystem system;
-
-    @Override
-    @Before
-    public void setUp() throws Exception {
-        system = JPAHostSystem.build();
-        system.beforeTest();
-        super.setUp();
-    }
-    
     @Override
     protected ImapHostSystem createImapHostSystem() {
-        return system;
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        system.afterTest();
+        return hostSystemRule.getHostSystem();
     }
-    
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/f51889b3/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaFetchBodyStructureTest.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaFetchBodyStructureTest.java
 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaFetchBodyStructureTest.java
index 965dada..01d5b82 100644
--- 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaFetchBodyStructureTest.java
+++ 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaFetchBodyStructureTest.java
@@ -20,31 +20,16 @@
 package org.apache.james.mpt.imapmailbox.jpa;
 
 import org.apache.james.mpt.api.ImapHostSystem;
-import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystem;
+import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystemRule;
 import org.apache.james.mpt.imapmailbox.suite.FetchBodyStructure;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.Rule;
 
 public class JpaFetchBodyStructureTest extends FetchBodyStructure {
+    @Rule
+    public JPAHostSystemRule hostSystemRule = new JPAHostSystemRule();
 
-    private ImapHostSystem system;
-
-    @Override
-    @Before
-    public void setUp() throws Exception {
-        system = JPAHostSystem.build();
-        system.beforeTest();
-        super.setUp();
-    }
-    
     @Override
     protected ImapHostSystem createImapHostSystem() {
-        return system;
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        system.afterTest();
+        return hostSystemRule.getHostSystem();
     }
-    
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/f51889b3/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaFetchHeadersTest.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaFetchHeadersTest.java
 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaFetchHeadersTest.java
index cfaf04b..babefad 100644
--- 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaFetchHeadersTest.java
+++ 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaFetchHeadersTest.java
@@ -20,31 +20,16 @@
 package org.apache.james.mpt.imapmailbox.jpa;
 
 import org.apache.james.mpt.api.ImapHostSystem;
-import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystem;
+import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystemRule;
 import org.apache.james.mpt.imapmailbox.suite.FetchHeaders;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.Rule;
 
 public class JpaFetchHeadersTest extends FetchHeaders {
+    @Rule
+    public JPAHostSystemRule hostSystemRule = new JPAHostSystemRule();
 
-    private ImapHostSystem system;
-
-    @Override
-    @Before
-    public void setUp() throws Exception {
-        system = JPAHostSystem.build();
-        system.beforeTest();
-        super.setUp();
-    }
-    
     @Override
     protected ImapHostSystem createImapHostSystem() {
-        return system;
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        system.afterTest();
+        return hostSystemRule.getHostSystem();
     }
-    
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/f51889b3/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaFetchTest.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaFetchTest.java
 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaFetchTest.java
index 9bebdaf..2ae4fda 100644
--- 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaFetchTest.java
+++ 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaFetchTest.java
@@ -20,31 +20,16 @@
 package org.apache.james.mpt.imapmailbox.jpa;
 
 import org.apache.james.mpt.api.ImapHostSystem;
-import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystem;
+import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystemRule;
 import org.apache.james.mpt.imapmailbox.suite.Fetch;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.Rule;
 
 public class JpaFetchTest extends Fetch {
+    @Rule
+    public JPAHostSystemRule hostSystemRule = new JPAHostSystemRule();
 
-    private ImapHostSystem system;
-
-    @Override
-    @Before
-    public void setUp() throws Exception {
-        system = JPAHostSystem.build();
-        system.beforeTest();
-        super.setUp();
-    }
-    
     @Override
     protected ImapHostSystem createImapHostSystem() {
-        return system;
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        system.afterTest();
+        return hostSystemRule.getHostSystem();
     }
-    
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/f51889b3/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaListingTest.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaListingTest.java
 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaListingTest.java
index 0749cf4..13ef593 100644
--- 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaListingTest.java
+++ 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaListingTest.java
@@ -20,31 +20,16 @@
 package org.apache.james.mpt.imapmailbox.jpa;
 
 import org.apache.james.mpt.api.ImapHostSystem;
-import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystem;
+import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystemRule;
 import org.apache.james.mpt.imapmailbox.suite.Listing;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.Rule;
 
 public class JpaListingTest extends Listing {
+    @Rule
+    public JPAHostSystemRule hostSystemRule = new JPAHostSystemRule();
 
-    private ImapHostSystem system;
-
-    @Override
-    @Before
-    public void setUp() throws Exception {
-        system = JPAHostSystem.build();
-        system.beforeTest();
-        super.setUp();
-    }
-    
     @Override
     protected ImapHostSystem createImapHostSystem() {
-        return system;
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        system.afterTest();
+        return hostSystemRule.getHostSystem();
     }
-    
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/f51889b3/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaMailboxAnnotationTest.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaMailboxAnnotationTest.java
 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaMailboxAnnotationTest.java
index da56221..b195b9c 100644
--- 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaMailboxAnnotationTest.java
+++ 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaMailboxAnnotationTest.java
@@ -20,31 +20,16 @@
 package org.apache.james.mpt.imapmailbox.jpa;
 
 import org.apache.james.mpt.api.ImapHostSystem;
-import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystem;
+import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystemRule;
 import org.apache.james.mpt.imapmailbox.suite.MailboxAnnotation;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.Rule;
 
 public class JpaMailboxAnnotationTest extends MailboxAnnotation {
+    @Rule
+    public JPAHostSystemRule hostSystemRule = new JPAHostSystemRule();
 
-    private ImapHostSystem system;
-
-    @Override
-    @Before
-    public void setUp() throws Exception {
-        system = JPAHostSystem.build();
-        system.beforeTest();
-        super.setUp();
-    }
-    
     @Override
     protected ImapHostSystem createImapHostSystem() {
-        return system;
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        system.afterTest();
+        return hostSystemRule.getHostSystem();
     }
-    
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/f51889b3/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaMailboxWithLongNameErrorTest.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaMailboxWithLongNameErrorTest.java
 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaMailboxWithLongNameErrorTest.java
index 0fe4bd4..5cb028e 100644
--- 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaMailboxWithLongNameErrorTest.java
+++ 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaMailboxWithLongNameErrorTest.java
@@ -20,31 +20,16 @@
 package org.apache.james.mpt.imapmailbox.jpa;
 
 import org.apache.james.mpt.api.ImapHostSystem;
-import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystem;
+import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystemRule;
 import org.apache.james.mpt.imapmailbox.suite.MailboxWithLongNameError;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.Rule;
 
 public class JpaMailboxWithLongNameErrorTest extends MailboxWithLongNameError {
+    @Rule
+    public JPAHostSystemRule hostSystemRule = new JPAHostSystemRule();
 
-    private ImapHostSystem system;
-
-    @Override
-    @Before
-    public void setUp() throws Exception {
-        system = JPAHostSystem.build();
-        system.beforeTest();
-        super.setUp();
-    }
-    
     @Override
     protected ImapHostSystem createImapHostSystem() {
-        return system;
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        system.afterTest();
+        return hostSystemRule.getHostSystem();
     }
-    
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/f51889b3/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaMoveTest.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaMoveTest.java
 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaMoveTest.java
index e3522c0..81767c0 100644
--- 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaMoveTest.java
+++ 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaMoveTest.java
@@ -20,31 +20,16 @@
 package org.apache.james.mpt.imapmailbox.jpa;
 
 import org.apache.james.mpt.api.ImapHostSystem;
-import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystem;
+import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystemRule;
 import org.apache.james.mpt.imapmailbox.suite.Move;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.Rule;
 
 public class JpaMoveTest extends Move {
+    @Rule
+    public JPAHostSystemRule hostSystemRule = new JPAHostSystemRule();
 
-    private ImapHostSystem system;
-
-    @Override
-    @Before
-    public void setUp() throws Exception {
-        system = JPAHostSystem.build();
-        system.beforeTest();
-        super.setUp();
-    }
-    
     @Override
     protected ImapHostSystem createImapHostSystem() {
-        return system;
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        system.afterTest();
+        return hostSystemRule.getHostSystem();
     }
-    
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/f51889b3/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaNonAuthenticatedStateTest.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaNonAuthenticatedStateTest.java
 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaNonAuthenticatedStateTest.java
index 5f5e33d..2819006 100644
--- 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaNonAuthenticatedStateTest.java
+++ 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaNonAuthenticatedStateTest.java
@@ -20,31 +20,16 @@
 package org.apache.james.mpt.imapmailbox.jpa;
 
 import org.apache.james.mpt.api.ImapHostSystem;
-import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystem;
+import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystemRule;
 import org.apache.james.mpt.imapmailbox.suite.NonAuthenticatedState;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.Rule;
 
 public class JpaNonAuthenticatedStateTest extends NonAuthenticatedState {
+    @Rule
+    public JPAHostSystemRule hostSystemRule = new JPAHostSystemRule();
 
-    private ImapHostSystem system;
-
-    @Override
-    @Before
-    public void setUp() throws Exception {
-        system = JPAHostSystem.build();
-        system.beforeTest();
-        super.setUp();
-    }
-    
     @Override
     protected ImapHostSystem createImapHostSystem() {
-        return system;
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        system.afterTest();
+        return hostSystemRule.getHostSystem();
     }
-    
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/f51889b3/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaPartialFetchTest.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaPartialFetchTest.java
 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaPartialFetchTest.java
index 7bc04d3..e1b26ba 100644
--- 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaPartialFetchTest.java
+++ 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaPartialFetchTest.java
@@ -20,31 +20,16 @@
 package org.apache.james.mpt.imapmailbox.jpa;
 
 import org.apache.james.mpt.api.ImapHostSystem;
-import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystem;
+import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystemRule;
 import org.apache.james.mpt.imapmailbox.suite.PartialFetch;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.Rule;
 
 public class JpaPartialFetchTest extends PartialFetch {
+    @Rule
+    public JPAHostSystemRule hostSystemRule = new JPAHostSystemRule();
 
-    private ImapHostSystem system;
-
-    @Override
-    @Before
-    public void setUp() throws Exception {
-        system = JPAHostSystem.build();
-        system.beforeTest();
-        super.setUp();
-    }
-    
     @Override
     protected ImapHostSystem createImapHostSystem() {
-        return system;
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        system.afterTest();
+        return hostSystemRule.getHostSystem();
     }
-    
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/f51889b3/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaQuotaTest.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaQuotaTest.java
 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaQuotaTest.java
index 4133328..c4a6a98 100644
--- 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaQuotaTest.java
+++ 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaQuotaTest.java
@@ -20,26 +20,16 @@
 package org.apache.james.mpt.imapmailbox.jpa;
 
 import org.apache.james.mpt.api.ImapHostSystem;
-import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystem;
+import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystemRule;
 import org.apache.james.mpt.imapmailbox.suite.QuotaTest;
-import org.junit.Before;
+import org.junit.Rule;
 
 public class JpaQuotaTest extends QuotaTest {
+    @Rule
+    public JPAHostSystemRule hostSystemRule = new JPAHostSystemRule();
 
-    private ImapHostSystem system;
-
-    @Override
-    @Before
-    public void setUp() throws Exception {
-        system = JPAHostSystem.build();
-        system.beforeTest();
-        super.setUp();
-    }
-    
     @Override
     protected ImapHostSystem createImapHostSystem() {
-        return system;
+        return hostSystemRule.getHostSystem();
     }
-
-    
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/f51889b3/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaRenameTest.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaRenameTest.java
 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaRenameTest.java
index 5a92f03..a2667a3 100644
--- 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaRenameTest.java
+++ 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaRenameTest.java
@@ -20,31 +20,16 @@
 package org.apache.james.mpt.imapmailbox.jpa;
 
 import org.apache.james.mpt.api.ImapHostSystem;
-import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystem;
+import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystemRule;
 import org.apache.james.mpt.imapmailbox.suite.Rename;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.Rule;
 
 public class JpaRenameTest extends Rename {
+    @Rule
+    public JPAHostSystemRule hostSystemRule = new JPAHostSystemRule();
 
-    private ImapHostSystem system;
-
-    @Override
-    @Before
-    public void setUp() throws Exception {
-        system = JPAHostSystem.build();
-        system.beforeTest();
-        super.setUp();
-    }
-    
     @Override
     protected ImapHostSystem createImapHostSystem() {
-        return system;
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        system.afterTest();
+        return hostSystemRule.getHostSystem();
     }
-    
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/f51889b3/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaSearchTest.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaSearchTest.java
 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaSearchTest.java
index acb7478..1f53c55 100644
--- 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaSearchTest.java
+++ 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaSearchTest.java
@@ -20,31 +20,16 @@
 package org.apache.james.mpt.imapmailbox.jpa;
 
 import org.apache.james.mpt.api.ImapHostSystem;
-import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystem;
+import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystemRule;
 import org.apache.james.mpt.imapmailbox.suite.Search;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.Rule;
 
 public class JpaSearchTest extends Search {
+    @Rule
+    public JPAHostSystemRule hostSystemRule = new JPAHostSystemRule();
 
-    private ImapHostSystem system;
-
-    @Override
-    @Before
-    public void setUp() throws Exception {
-        system = JPAHostSystem.build();
-        system.beforeTest();
-        super.setUp();
-    }
-    
     @Override
     protected ImapHostSystem createImapHostSystem() {
-        return system;
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        system.afterTest();
+        return hostSystemRule.getHostSystem();
     }
-    
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/f51889b3/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaSecurityTest.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaSecurityTest.java
 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaSecurityTest.java
index aca6de0..1fd05b7 100644
--- 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaSecurityTest.java
+++ 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaSecurityTest.java
@@ -20,31 +20,16 @@
 package org.apache.james.mpt.imapmailbox.jpa;
 
 import org.apache.james.mpt.api.ImapHostSystem;
-import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystem;
+import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystemRule;
 import org.apache.james.mpt.imapmailbox.suite.Security;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.Rule;
 
 public class JpaSecurityTest extends Security {
+    @Rule
+    public JPAHostSystemRule hostSystemRule = new JPAHostSystemRule();
 
-    private ImapHostSystem system;
-
-    @Override
-    @Before
-    public void setUp() throws Exception {
-        system = JPAHostSystem.build();
-        system.beforeTest();
-        super.setUp();
-    }
-    
     @Override
     protected ImapHostSystem createImapHostSystem() {
-        return system;
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        system.afterTest();
+        return hostSystemRule.getHostSystem();
     }
-    
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/f51889b3/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaSelectTest.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaSelectTest.java
 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaSelectTest.java
index f2f6ba8..4d0588e 100644
--- 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaSelectTest.java
+++ 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaSelectTest.java
@@ -20,31 +20,16 @@
 package org.apache.james.mpt.imapmailbox.jpa;
 
 import org.apache.james.mpt.api.ImapHostSystem;
-import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystem;
+import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystemRule;
 import org.apache.james.mpt.imapmailbox.suite.Select;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.Rule;
 
 public class JpaSelectTest extends Select {
+    @Rule
+    public JPAHostSystemRule hostSystemRule = new JPAHostSystemRule();
 
-    private ImapHostSystem system;
-
-    @Override
-    @Before
-    public void setUp() throws Exception {
-        system = JPAHostSystem.build();
-        system.beforeTest();
-        super.setUp();
-    }
-    
     @Override
     protected ImapHostSystem createImapHostSystem() {
-        return system;
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        system.afterTest();
+        return hostSystemRule.getHostSystem();
     }
-    
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/f51889b3/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaSelectedInboxTest.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaSelectedInboxTest.java
 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaSelectedInboxTest.java
index 2825c11..c896d34 100644
--- 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaSelectedInboxTest.java
+++ 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaSelectedInboxTest.java
@@ -20,31 +20,16 @@
 package org.apache.james.mpt.imapmailbox.jpa;
 
 import org.apache.james.mpt.api.ImapHostSystem;
-import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystem;
+import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystemRule;
 import org.apache.james.mpt.imapmailbox.suite.SelectedInbox;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.Rule;
 
 public class JpaSelectedInboxTest extends SelectedInbox {
+    @Rule
+    public JPAHostSystemRule hostSystemRule = new JPAHostSystemRule();
 
-    private ImapHostSystem system;
-
-    @Override
-    @Before
-    public void setUp() throws Exception {
-        system = JPAHostSystem.build();
-        system.beforeTest();
-        super.setUp();
-    }
-    
     @Override
     protected ImapHostSystem createImapHostSystem() {
-        return system;
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        system.afterTest();
+        return hostSystemRule.getHostSystem();
     }
-    
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/f51889b3/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaSelectedStateTest.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaSelectedStateTest.java
 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaSelectedStateTest.java
index 2b5b12b..8aaecea 100644
--- 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaSelectedStateTest.java
+++ 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaSelectedStateTest.java
@@ -20,31 +20,17 @@
 package org.apache.james.mpt.imapmailbox.jpa;
 
 import org.apache.james.mpt.api.ImapHostSystem;
-import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystem;
+import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystemRule;
 import org.apache.james.mpt.imapmailbox.suite.SelectedState;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.Rule;
 
 public class JpaSelectedStateTest extends SelectedState {
+    @Rule
+    public JPAHostSystemRule hostSystemRule = new JPAHostSystemRule();
 
-    private ImapHostSystem system;
-
-    @Override
-    @Before
-    public void setUp() throws Exception {
-        system = JPAHostSystem.build();
-        system.beforeTest();
-        super.setUp();
-    }
-    
     @Override
     protected ImapHostSystem createImapHostSystem() {
-        return system;
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        system.afterTest();
+        return hostSystemRule.getHostSystem();
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/f51889b3/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaUidSearchOnIndexTest.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaUidSearchOnIndexTest.java
 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaUidSearchOnIndexTest.java
index e36c3e3..ee1e03d 100644
--- 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaUidSearchOnIndexTest.java
+++ 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaUidSearchOnIndexTest.java
@@ -20,31 +20,16 @@
 package org.apache.james.mpt.imapmailbox.jpa;
 
 import org.apache.james.mpt.api.ImapHostSystem;
-import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystem;
+import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystemRule;
 import org.apache.james.mpt.imapmailbox.suite.UidSearchOnIndex;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.Rule;
 
 public class JpaUidSearchOnIndexTest extends UidSearchOnIndex {
+    @Rule
+    public JPAHostSystemRule hostSystemRule = new JPAHostSystemRule();
 
-    private ImapHostSystem system;
-
-    @Override
-    @Before
-    public void setUp() throws Exception {
-        system = JPAHostSystem.build();
-        system.beforeTest();
-        super.setUp();
-    }
-    
     @Override
     protected ImapHostSystem createImapHostSystem() {
-        return system;
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        system.afterTest();
+        return hostSystemRule.getHostSystem();
     }
-    
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/f51889b3/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaUidSearchTest.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaUidSearchTest.java
 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaUidSearchTest.java
index e7d01ed..9ba48f4 100644
--- 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaUidSearchTest.java
+++ 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaUidSearchTest.java
@@ -20,31 +20,16 @@
 package org.apache.james.mpt.imapmailbox.jpa;
 
 import org.apache.james.mpt.api.ImapHostSystem;
-import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystem;
+import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystemRule;
 import org.apache.james.mpt.imapmailbox.suite.UidSearch;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.Rule;
 
 public class JpaUidSearchTest extends UidSearch {
+    @Rule
+    public JPAHostSystemRule hostSystemRule = new JPAHostSystemRule();
 
-    private ImapHostSystem system;
-
-    @Override
-    @Before
-    public void setUp() throws Exception {
-        system = JPAHostSystem.build();
-        system.beforeTest();
-        super.setUp();
-    }
-    
     @Override
     protected ImapHostSystem createImapHostSystem() {
-        return system;
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        system.afterTest();
+        return hostSystemRule.getHostSystem();
     }
-    
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/f51889b3/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaUserFlagsSupportTest.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaUserFlagsSupportTest.java
 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaUserFlagsSupportTest.java
index b1d7dfb..37fc21f 100644
--- 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaUserFlagsSupportTest.java
+++ 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/JpaUserFlagsSupportTest.java
@@ -20,31 +20,16 @@
 package org.apache.james.mpt.imapmailbox.jpa;
 
 import org.apache.james.mpt.api.ImapHostSystem;
-import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystem;
+import org.apache.james.mpt.imapmailbox.jpa.host.JPAHostSystemRule;
 import org.apache.james.mpt.imapmailbox.suite.UserFlagsSupport;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.Rule;
 
 public class JpaUserFlagsSupportTest extends UserFlagsSupport {
+    @Rule
+    public JPAHostSystemRule hostSystemRule = new JPAHostSystemRule();
 
-    private ImapHostSystem system;
-
-    @Override
-    @Before
-    public void setUp() throws Exception {
-        system = JPAHostSystem.build();
-        system.beforeTest();
-        super.setUp();
-    }
-    
     @Override
     protected ImapHostSystem createImapHostSystem() {
-        return system;
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        system.afterTest();
+        return hostSystemRule.getHostSystem();
     }
-    
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/f51889b3/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystemRule.java
----------------------------------------------------------------------
diff --git 
a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystemRule.java
 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystemRule.java
new file mode 100644
index 0000000..40e5db5
--- /dev/null
+++ 
b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystemRule.java
@@ -0,0 +1,53 @@
+/****************************************************************
+ * 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.mpt.imapmailbox.jpa.host;
+
+import org.apache.james.mpt.host.JamesImapHostSystem;
+import org.junit.rules.ExternalResource;
+
+public class JPAHostSystemRule extends ExternalResource {
+    private final JamesImapHostSystem hostSystem;
+
+    public JPAHostSystemRule() {
+        try {
+            hostSystem = JPAHostSystem.build();
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    @Override
+    protected void before() throws Throwable {
+        hostSystem.beforeTest();
+    }
+
+    @Override
+    protected void after() {
+        try {
+            hostSystem.afterTest();
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    public JamesImapHostSystem getHostSystem() {
+        return hostSystem;
+    }
+}


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

Reply via email to