This is an automated email from the ASF dual-hosted git repository. btellier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit fa6f51b019754cddda90d2a9c85b21bd383b3282 Author: Rene Cordier <rcord...@linagora.com> AuthorDate: Thu Nov 14 10:02:05 2019 +0700 [Refactoring] Move remaining abstract test classes in mailbox api and their implementations to JUnit 5 --- .../mailbox/AbstractSubscriptionManagerTest.java | 20 ++++++------- .../james/mailbox/MailboxManagerStressTest.java | 6 ++-- .../CassandraMailboxManagerStressTest.java | 33 +++++++++------------ .../CassandraSubscriptionManagerTest.java | 34 ++++++++++------------ .../mailbox/jpa/JPASubscriptionManagerTest.java | 18 +++++------- .../mailbox/jpa/JpaMailboxManagerStressTest.java | 15 +++++----- .../DomainUserMaildirMailboxManagerStressTest.java | 20 ++++++------- .../FullUserMaildirMailboxManagerStressTest.java | 20 ++++++------- .../maildir/MaildirSubscriptionManagerTest.java | 19 ++++++------ .../UserMaildirMailboxManagerStressTest.java | 20 ++++++------- .../inmemory/MemoryMailboxManagerStressTest.java | 11 ++++--- 11 files changed, 103 insertions(+), 113 deletions(-) diff --git a/mailbox/api/src/test/java/org/apache/james/mailbox/AbstractSubscriptionManagerTest.java b/mailbox/api/src/test/java/org/apache/james/mailbox/AbstractSubscriptionManagerTest.java index d482116..8d76f06 100644 --- a/mailbox/api/src/test/java/org/apache/james/mailbox/AbstractSubscriptionManagerTest.java +++ b/mailbox/api/src/test/java/org/apache/james/mailbox/AbstractSubscriptionManagerTest.java @@ -21,7 +21,7 @@ package org.apache.james.mailbox; import static org.assertj.core.api.Assertions.assertThat; import org.apache.james.mailbox.exception.SubscriptionException; -import org.junit.Test; +import org.junit.jupiter.api.Test; /** * Abstract base class to test {@link SubscriptionManager} implementations @@ -36,35 +36,35 @@ public abstract class AbstractSubscriptionManagerTest { private SubscriptionManager manager; private MailboxSession session; - public abstract SubscriptionManager createSubscriptionManager(); + protected abstract SubscriptionManager createSubscriptionManager(); - public void setup() { + protected void setup() { manager = createSubscriptionManager(); session = MailboxSessionUtil.create(USER1); manager.startProcessingRequest(session); } - public void teardown() throws SubscriptionException { + protected void teardown() throws SubscriptionException { manager.unsubscribe(session, MAILBOX1); manager.unsubscribe(session, MAILBOX2); manager.endProcessingRequest(session); } @Test - public void user1ShouldNotHaveAnySubscriptionByDefault() throws SubscriptionException { + void user1ShouldNotHaveAnySubscriptionByDefault() throws SubscriptionException { assertThat(manager.subscriptions(session)).isEmpty(); } @Test - public void user1ShouldBeAbleToSubscribeOneMailbox() throws SubscriptionException { + void user1ShouldBeAbleToSubscribeOneMailbox() throws SubscriptionException { manager.subscribe(session, MAILBOX1); assertThat(manager.subscriptions(session)).containsExactly(MAILBOX1); } @Test - public void subscribeShouldBeIdempotent() throws SubscriptionException { + void subscribeShouldBeIdempotent() throws SubscriptionException { manager.subscribe(session, MAILBOX1); manager.subscribe(session, MAILBOX1); @@ -72,7 +72,7 @@ public abstract class AbstractSubscriptionManagerTest { } @Test - public void user1ShouldBeAbleToSubscribeTwoMailbox() throws SubscriptionException { + void user1ShouldBeAbleToSubscribeTwoMailbox() throws SubscriptionException { manager.subscribe(session, MAILBOX1); manager.subscribe(session, MAILBOX2); @@ -80,7 +80,7 @@ public abstract class AbstractSubscriptionManagerTest { } @Test - public void user1ShouldBeAbleToUnsubscribeOneMailbox() throws SubscriptionException { + void user1ShouldBeAbleToUnsubscribeOneMailbox() throws SubscriptionException { manager.subscribe(session, MAILBOX1); manager.subscribe(session, MAILBOX2); @@ -90,7 +90,7 @@ public abstract class AbstractSubscriptionManagerTest { } @Test - public void unsubscribeShouldBeIdempotent() throws SubscriptionException { + void unsubscribeShouldBeIdempotent() throws SubscriptionException { manager.subscribe(session, MAILBOX1); manager.subscribe(session, MAILBOX2); manager.unsubscribe(session, MAILBOX1); diff --git a/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressTest.java b/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressTest.java index 608fa24..92041e2 100644 --- a/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressTest.java +++ b/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressTest.java @@ -40,7 +40,7 @@ import org.apache.james.mailbox.model.MailboxId; import org.apache.james.mailbox.model.MailboxPath; import org.apache.james.mime4j.dom.Message; import org.apache.james.util.concurrent.NamedThreadFactory; -import org.junit.Test; +import org.junit.jupiter.api.Test; import com.google.common.collect.ImmutableSet; @@ -54,12 +54,12 @@ public abstract class MailboxManagerStressTest<T extends MailboxManager> { protected abstract EventBus retrieveEventBus(T mailboxManager); - public void setUp() throws Exception { + protected void setUp() throws Exception { this.mailboxManager = provideManager(); } @Test - public void testStressTest() throws InterruptedException, MailboxException { + void testStressTest() throws InterruptedException, MailboxException { ThreadFactory threadFactory = NamedThreadFactory.withClassName(getClass()); CountDownLatch latch = new CountDownLatch(APPEND_OPERATIONS); diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerStressTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerStressTest.java index 22aa276..677c0b5 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerStressTest.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerStressTest.java @@ -19,41 +19,36 @@ package org.apache.james.mailbox.cassandra; -import org.apache.james.backends.cassandra.CassandraCluster; -import org.apache.james.backends.cassandra.DockerCassandraRule; +import org.apache.james.backends.cassandra.CassandraClusterExtension; +import org.apache.james.backends.cassandra.CassandraRestartExtension; import org.apache.james.mailbox.MailboxManagerStressTest; import org.apache.james.mailbox.cassandra.mail.MailboxAggregateModule; import org.apache.james.mailbox.events.EventBus; import org.apache.james.mailbox.store.PreDeletionHooks; -import org.junit.After; -import org.junit.Before; -import org.junit.Rule; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.extension.ExtendWith; +import org.junit.jupiter.api.extension.RegisterExtension; -public class CassandraMailboxManagerStressTest extends MailboxManagerStressTest<CassandraMailboxManager> { - - @Rule public DockerCassandraRule cassandraServer = new DockerCassandraRule().allowRestart(); +@ExtendWith(CassandraRestartExtension.class) +class CassandraMailboxManagerStressTest extends MailboxManagerStressTest<CassandraMailboxManager> { - private CassandraCluster cassandra; + @RegisterExtension + static CassandraClusterExtension cassandra = new CassandraClusterExtension(MailboxAggregateModule.MODULE_WITH_QUOTA); - @Before - public void setup() throws Exception { - cassandra = CassandraCluster.create(MailboxAggregateModule.MODULE_WITH_QUOTA, cassandraServer.getHost()); + @BeforeEach + void setup() throws Exception { super.setUp(); } @Override protected CassandraMailboxManager provideManager() { - return CassandraMailboxManagerProvider.provideMailboxManager(cassandra.getConf(), cassandra.getTypesProvider(), PreDeletionHooks.NO_PRE_DELETION_HOOK); + return CassandraMailboxManagerProvider.provideMailboxManager(cassandra.getCassandraCluster().getConf(), + cassandra.getCassandraCluster().getTypesProvider(), + PreDeletionHooks.NO_PRE_DELETION_HOOK); } @Override protected EventBus retrieveEventBus(CassandraMailboxManager mailboxManager) { return mailboxManager.getEventBus(); } - - @After - public void tearDown() { - cassandra.clearTables(); - cassandra.closeCluster(); - } } diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManagerTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManagerTest.java index 94ae036..e1120db 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManagerTest.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManagerTest.java @@ -19,8 +19,8 @@ package org.apache.james.mailbox.cassandra; -import org.apache.james.backends.cassandra.CassandraCluster; -import org.apache.james.backends.cassandra.DockerCassandraRule; +import org.apache.james.backends.cassandra.CassandraClusterExtension; +import org.apache.james.backends.cassandra.CassandraRestartExtension; import org.apache.james.backends.cassandra.init.configuration.CassandraConfiguration; import org.apache.james.backends.cassandra.utils.CassandraUtils; import org.apache.james.blob.api.BlobStore; @@ -47,34 +47,32 @@ import org.apache.james.mailbox.cassandra.mail.CassandraUidProvider; import org.apache.james.mailbox.cassandra.mail.CassandraUserMailboxRightsDAO; import org.apache.james.mailbox.cassandra.modules.CassandraSubscriptionModule; import org.apache.james.mailbox.exception.SubscriptionException; -import org.junit.After; -import org.junit.Before; -import org.junit.Rule; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.extension.ExtendWith; +import org.junit.jupiter.api.extension.RegisterExtension; /** * Test Cassandra subscription against some general purpose written code. */ -public class CassandraSubscriptionManagerTest extends AbstractSubscriptionManagerTest { +@ExtendWith(CassandraRestartExtension.class) +class CassandraSubscriptionManagerTest extends AbstractSubscriptionManagerTest { - @Rule public DockerCassandraRule cassandraServer = new DockerCassandraRule().allowRestart(); + @RegisterExtension + static CassandraClusterExtension cassandraCluster = new CassandraClusterExtension(CassandraSubscriptionModule.MODULE); - private CassandraCluster cassandra; - - @Before - public void init() { - cassandra = CassandraCluster.create(CassandraSubscriptionModule.MODULE, cassandraServer.getHost()); + @BeforeEach + void init() { super.setup(); } - @After - public void close() throws SubscriptionException { + @AfterEach + void close() throws SubscriptionException { super.teardown(); - cassandra.clearTables(); - cassandra.closeCluster(); } @Override - public SubscriptionManager createSubscriptionManager() { + protected SubscriptionManager createSubscriptionManager() { CassandraMessageIdToImapUidDAO imapUidDAO = null; CassandraMessageDAO messageDAO = null; CassandraMessageIdDAO messageIdDAO = null; @@ -99,7 +97,7 @@ public class CassandraSubscriptionManagerTest extends AbstractSubscriptionManage new CassandraMailboxSessionMapperFactory( uidProvider, modSeqProvider, - cassandra.getConf(), + cassandraCluster.getCassandraCluster().getConf(), messageDAO, messageIdDAO, imapUidDAO, diff --git a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JPASubscriptionManagerTest.java b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JPASubscriptionManagerTest.java index cc6947f..f19d237 100644 --- a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JPASubscriptionManagerTest.java +++ b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JPASubscriptionManagerTest.java @@ -23,24 +23,23 @@ import javax.persistence.EntityManagerFactory; import org.apache.james.backends.jpa.JpaTestCluster; import org.apache.james.mailbox.AbstractSubscriptionManagerTest; import org.apache.james.mailbox.SubscriptionManager; -import org.apache.james.mailbox.exception.SubscriptionException; import org.apache.james.mailbox.jpa.mail.JPAModSeqProvider; import org.apache.james.mailbox.jpa.mail.JPAUidProvider; import org.apache.james.mailbox.store.JVMMailboxPathLocker; -import org.junit.After; -import org.junit.Before; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; -public class JPASubscriptionManagerTest extends AbstractSubscriptionManagerTest { +class JPASubscriptionManagerTest extends AbstractSubscriptionManagerTest { private static final JpaTestCluster JPA_TEST_CLUSTER = JpaTestCluster.create(JPAMailboxFixture.MAILBOX_PERSISTANCE_CLASSES); - @Before - public void setUp() throws Exception { + @BeforeEach + void init() { super.setup(); } @Override - public SubscriptionManager createSubscriptionManager() { + protected SubscriptionManager createSubscriptionManager() { JVMMailboxPathLocker locker = new JVMMailboxPathLocker(); EntityManagerFactory entityManagerFactory = JPA_TEST_CLUSTER.getEntityManagerFactory(); @@ -51,9 +50,8 @@ public class JPASubscriptionManagerTest extends AbstractSubscriptionManagerTest return new JPASubscriptionManager(mf); } - @Override - @After - public void teardown() throws SubscriptionException { + @AfterEach + void close() { JPA_TEST_CLUSTER.clear(JPAMailboxFixture.MAILBOX_TABLE_NAMES); } } diff --git a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JpaMailboxManagerStressTest.java b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JpaMailboxManagerStressTest.java index f3a262a..3316f03 100644 --- a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JpaMailboxManagerStressTest.java +++ b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JpaMailboxManagerStressTest.java @@ -25,17 +25,16 @@ import org.apache.james.backends.jpa.JpaTestCluster; import org.apache.james.mailbox.MailboxManagerStressTest; import org.apache.james.mailbox.events.EventBus; import org.apache.james.mailbox.jpa.openjpa.OpenJPAMailboxManager; -import org.junit.After; -import org.junit.Before; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; -public class JpaMailboxManagerStressTest extends MailboxManagerStressTest<OpenJPAMailboxManager> { +class JpaMailboxManagerStressTest extends MailboxManagerStressTest<OpenJPAMailboxManager> { private static final JpaTestCluster JPA_TEST_CLUSTER = JpaTestCluster.create(JPAMailboxFixture.MAILBOX_PERSISTANCE_CLASSES); private Optional<OpenJPAMailboxManager> openJPAMailboxManager = Optional.empty(); - @Override - @Before - public void setUp() throws Exception { + @BeforeEach + void setup() throws Exception { super.setUp(); } @@ -52,8 +51,8 @@ public class JpaMailboxManagerStressTest extends MailboxManagerStressTest<OpenJP return mailboxManager.getEventBus(); } - @After - public void tearDown() { + @AfterEach + void tearDown() { JPA_TEST_CLUSTER.clear(JPAMailboxFixture.MAILBOX_TABLE_NAMES); } } diff --git a/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/DomainUserMaildirMailboxManagerStressTest.java b/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/DomainUserMaildirMailboxManagerStressTest.java index aaa895c..c1eb8b3 100644 --- a/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/DomainUserMaildirMailboxManagerStressTest.java +++ b/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/DomainUserMaildirMailboxManagerStressTest.java @@ -19,20 +19,20 @@ package org.apache.james.mailbox.maildir; +import java.io.File; + import org.apache.james.mailbox.MailboxManagerStressTest; import org.apache.james.mailbox.events.EventBus; import org.apache.james.mailbox.store.StoreMailboxManager; -import org.junit.Before; -import org.junit.Rule; -import org.junit.rules.TemporaryFolder; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.io.TempDir; -public class DomainUserMaildirMailboxManagerStressTest extends MailboxManagerStressTest<StoreMailboxManager> { - @Rule - public TemporaryFolder tmpFolder = new TemporaryFolder(); - - @Override - @Before - public void setUp() throws Exception { +class DomainUserMaildirMailboxManagerStressTest extends MailboxManagerStressTest<StoreMailboxManager> { + @TempDir + File tmpFolder; + + @BeforeEach + void setup() throws Exception { super.setUp(); } diff --git a/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/FullUserMaildirMailboxManagerStressTest.java b/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/FullUserMaildirMailboxManagerStressTest.java index 5eacedc..07664d7 100644 --- a/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/FullUserMaildirMailboxManagerStressTest.java +++ b/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/FullUserMaildirMailboxManagerStressTest.java @@ -19,20 +19,20 @@ package org.apache.james.mailbox.maildir; +import java.io.File; + import org.apache.james.mailbox.MailboxManagerStressTest; import org.apache.james.mailbox.events.EventBus; import org.apache.james.mailbox.store.StoreMailboxManager; -import org.junit.Before; -import org.junit.Rule; -import org.junit.rules.TemporaryFolder; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.io.TempDir; -public class FullUserMaildirMailboxManagerStressTest extends MailboxManagerStressTest<StoreMailboxManager> { - @Rule - public TemporaryFolder tmpFolder = new TemporaryFolder(); - - @Override - @Before - public void setUp() throws Exception { +class FullUserMaildirMailboxManagerStressTest extends MailboxManagerStressTest<StoreMailboxManager> { + @TempDir + File tmpFolder; + + @BeforeEach + void setup() throws Exception { super.setUp(); } diff --git a/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/MaildirSubscriptionManagerTest.java b/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/MaildirSubscriptionManagerTest.java index 6c37bba..b458a9a 100644 --- a/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/MaildirSubscriptionManagerTest.java +++ b/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/MaildirSubscriptionManagerTest.java @@ -18,26 +18,27 @@ ****************************************************************/ package org.apache.james.mailbox.maildir; +import java.io.File; + import org.apache.james.mailbox.AbstractSubscriptionManagerTest; import org.apache.james.mailbox.SubscriptionManager; import org.apache.james.mailbox.store.JVMMailboxPathLocker; import org.apache.james.mailbox.store.StoreSubscriptionManager; -import org.junit.Before; -import org.junit.Rule; -import org.junit.rules.TemporaryFolder; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.io.TempDir; -public class MaildirSubscriptionManagerTest extends AbstractSubscriptionManagerTest { +class MaildirSubscriptionManagerTest extends AbstractSubscriptionManagerTest { - @Rule - public TemporaryFolder tmpFolder = new TemporaryFolder(); + @TempDir + File tmpFolder; - @Before - public void setUp() throws Exception { + @BeforeEach + void setUp() { super.setup(); } @Override - public SubscriptionManager createSubscriptionManager() { + protected SubscriptionManager createSubscriptionManager() { MaildirStore store = new MaildirStore(tmpFolder + "/Maildir/%domain/%user", new JVMMailboxPathLocker()); MaildirMailboxSessionMapperFactory factory = new MaildirMailboxSessionMapperFactory(store); return new StoreSubscriptionManager(factory); diff --git a/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/UserMaildirMailboxManagerStressTest.java b/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/UserMaildirMailboxManagerStressTest.java index 457f12d..f64648c 100644 --- a/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/UserMaildirMailboxManagerStressTest.java +++ b/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/UserMaildirMailboxManagerStressTest.java @@ -19,20 +19,20 @@ package org.apache.james.mailbox.maildir; +import java.io.File; + import org.apache.james.mailbox.MailboxManagerStressTest; import org.apache.james.mailbox.events.EventBus; import org.apache.james.mailbox.store.StoreMailboxManager; -import org.junit.Before; -import org.junit.Rule; -import org.junit.rules.TemporaryFolder; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.io.TempDir; -public class UserMaildirMailboxManagerStressTest extends MailboxManagerStressTest<StoreMailboxManager> { - @Rule - public TemporaryFolder tmpFolder = new TemporaryFolder(); - - @Override - @Before - public void setUp() throws Exception { +class UserMaildirMailboxManagerStressTest extends MailboxManagerStressTest<StoreMailboxManager> { + @TempDir + File tmpFolder; + + @BeforeEach + void setup() throws Exception { super.setUp(); } diff --git a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/MemoryMailboxManagerStressTest.java b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/MemoryMailboxManagerStressTest.java index a9e572e..1f8db72 100644 --- a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/MemoryMailboxManagerStressTest.java +++ b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/MemoryMailboxManagerStressTest.java @@ -22,13 +22,12 @@ package org.apache.james.mailbox.inmemory; import org.apache.james.mailbox.MailboxManagerStressTest; import org.apache.james.mailbox.events.EventBus; import org.apache.james.mailbox.extension.PreDeletionHook; -import org.junit.Before; +import org.junit.jupiter.api.BeforeEach; -public class MemoryMailboxManagerStressTest extends MailboxManagerStressTest<InMemoryMailboxManager> { - - @Override - @Before - public void setUp() throws Exception { +class MemoryMailboxManagerStressTest extends MailboxManagerStressTest<InMemoryMailboxManager> { + + @BeforeEach + void setup() throws Exception { super.setUp(); } --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org