MAILBOX-342 Don't use mapper provider for MailboxMapperTest In Cassandra test by limiting loaded modules, 28s -> 12s
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/10e9d87d Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/10e9d87d Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/10e9d87d Branch: refs/heads/master Commit: 10e9d87dd235405cdcf22e587e986bde26fdd779 Parents: f204fa7 Author: benwa <[email protected]> Authored: Thu Jul 5 11:29:18 2018 +0700 Committer: benwa <[email protected]> Committed: Fri Jul 6 16:25:50 2018 +0700 ---------------------------------------------------------------------- .../mail/CassandraGenericMailboxMapperTest.java | 39 ++++++++------------ .../mailbox/jpa/mail/JpaMailboxMapperTest.java | 21 ++++++++--- .../inmemory/mail/MemoryMailboxMapperTest.java | 21 ++++++++--- .../store/mail/model/MailboxMapperTest.java | 13 +++---- 4 files changed, 52 insertions(+), 42 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/10e9d87d/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraGenericMailboxMapperTest.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraGenericMailboxMapperTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraGenericMailboxMapperTest.java index c92d4bd..c7dea0f 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraGenericMailboxMapperTest.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraGenericMailboxMapperTest.java @@ -22,21 +22,15 @@ package org.apache.james.mailbox.cassandra.mail; import org.apache.james.backends.cassandra.CassandraCluster; import org.apache.james.backends.cassandra.DockerCassandraRule; import org.apache.james.backends.cassandra.init.CassandraModuleComposite; -import org.apache.james.blob.cassandra.CassandraBlobModule; +import org.apache.james.mailbox.cassandra.ids.CassandraId; +import org.apache.james.mailbox.cassandra.mail.utils.GuiceUtils; import org.apache.james.mailbox.cassandra.modules.CassandraAclModule; -import org.apache.james.mailbox.cassandra.modules.CassandraAnnotationModule; -import org.apache.james.mailbox.cassandra.modules.CassandraApplicableFlagsModule; -import org.apache.james.mailbox.cassandra.modules.CassandraAttachmentModule; -import org.apache.james.mailbox.cassandra.modules.CassandraDeletedMessageModule; -import org.apache.james.mailbox.cassandra.modules.CassandraFirstUnseenModule; -import org.apache.james.mailbox.cassandra.modules.CassandraMailboxCounterModule; import org.apache.james.mailbox.cassandra.modules.CassandraMailboxModule; -import org.apache.james.mailbox.cassandra.modules.CassandraMailboxRecentsModule; -import org.apache.james.mailbox.cassandra.modules.CassandraMessageModule; import org.apache.james.mailbox.cassandra.modules.CassandraModSeqModule; import org.apache.james.mailbox.cassandra.modules.CassandraUidModule; +import org.apache.james.mailbox.model.MailboxId; +import org.apache.james.mailbox.store.mail.MailboxMapper; import org.apache.james.mailbox.store.mail.model.MailboxMapperTest; -import org.apache.james.mailbox.store.mail.model.MapperProvider; import org.junit.After; import org.junit.Before; import org.junit.ClassRule; @@ -53,18 +47,9 @@ public class CassandraGenericMailboxMapperTest extends MailboxMapperTest { CassandraModuleComposite modules = new CassandraModuleComposite( new CassandraAclModule(), new CassandraMailboxModule(), - new CassandraMessageModule(), - new CassandraMailboxCounterModule(), - new CassandraMailboxRecentsModule(), new CassandraModSeqModule(), - new CassandraUidModule(), - new CassandraAttachmentModule(), - new CassandraAnnotationModule(), - new CassandraFirstUnseenModule(), - new CassandraApplicableFlagsModule(), - new CassandraDeletedMessageModule(), - new CassandraBlobModule()); - this.cassandra = CassandraCluster.create(modules, cassandraServer.getIp(), cassandraServer.getBindingPort()); + new CassandraUidModule()); + this.cassandra = CassandraCluster.create(modules, cassandraServer.getHost()); super.setUp(); } @@ -72,9 +57,15 @@ public class CassandraGenericMailboxMapperTest extends MailboxMapperTest { public void tearDown() { cassandra.close(); } - + + @Override + protected MailboxMapper createMailboxMapper() { + return GuiceUtils.testInjector(cassandra) + .getInstance(CassandraMailboxMapper.class); + } + @Override - protected MapperProvider createMapperProvider() { - return new CassandraMapperProvider(cassandra); + protected MailboxId generateId() { + return CassandraId.timeBased(); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/10e9d87d/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/JpaMailboxMapperTest.java ---------------------------------------------------------------------- diff --git a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/JpaMailboxMapperTest.java b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/JpaMailboxMapperTest.java index 2d0bbc5..36b0a84 100644 --- a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/JpaMailboxMapperTest.java +++ b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/JpaMailboxMapperTest.java @@ -19,10 +19,14 @@ package org.apache.james.mailbox.jpa.mail; +import java.util.concurrent.atomic.AtomicInteger; + import org.apache.james.backends.jpa.JpaTestCluster; +import org.apache.james.mailbox.jpa.JPAId; import org.apache.james.mailbox.jpa.JPAMailboxFixture; +import org.apache.james.mailbox.model.MailboxId; +import org.apache.james.mailbox.store.mail.MailboxMapper; import org.apache.james.mailbox.store.mail.model.MailboxMapperTest; -import org.apache.james.mailbox.store.mail.model.MapperProvider; import org.junit.After; import org.junit.Before; @@ -30,17 +34,24 @@ public class JpaMailboxMapperTest extends MailboxMapperTest { public static final JpaTestCluster JPA_TEST_CLUSTER = JpaTestCluster.create(JPAMailboxFixture.MAILBOX_PERSISTANCE_CLASSES); + private final AtomicInteger counter = new AtomicInteger(); + @Override @Before public void setUp() throws Exception { super.setUp(); } - + @Override - protected MapperProvider createMapperProvider() { - return new JPAMapperProvider(JPA_TEST_CLUSTER); + protected MailboxMapper createMailboxMapper() { + return new TransactionalMailboxMapper(new JPAMailboxMapper(JPA_TEST_CLUSTER.getEntityManagerFactory())); } - + + @Override + protected MailboxId generateId() { + return JPAId.of(counter.incrementAndGet()); + } + @After public void cleanUp() { JPA_TEST_CLUSTER.clear(JPAMailboxFixture.MAILBOX_TABLE_NAMES); http://git-wip-us.apache.org/repos/asf/james-project/blob/10e9d87d/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/mail/MemoryMailboxMapperTest.java ---------------------------------------------------------------------- diff --git a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/mail/MemoryMailboxMapperTest.java b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/mail/MemoryMailboxMapperTest.java index 32dc85a..3f29233 100644 --- a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/mail/MemoryMailboxMapperTest.java +++ b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/mail/MemoryMailboxMapperTest.java @@ -19,20 +19,31 @@ package org.apache.james.mailbox.inmemory.mail; +import java.util.concurrent.atomic.AtomicInteger; + +import org.apache.james.mailbox.inmemory.InMemoryId; +import org.apache.james.mailbox.model.MailboxId; +import org.apache.james.mailbox.store.mail.MailboxMapper; import org.apache.james.mailbox.store.mail.model.MailboxMapperTest; -import org.apache.james.mailbox.store.mail.model.MapperProvider; import org.junit.Before; public class MemoryMailboxMapperTest extends MailboxMapperTest { - + + private final AtomicInteger counter = new AtomicInteger(); + @Override @Before public void setUp() throws Exception { super.setUp(); } - + + @Override + protected MailboxMapper createMailboxMapper() { + return new InMemoryMailboxMapper(); + } + @Override - protected MapperProvider createMapperProvider() { - return new InMemoryMapperProvider(); + protected MailboxId generateId() { + return InMemoryId.of(counter.incrementAndGet()); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/10e9d87d/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MailboxMapperTest.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MailboxMapperTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MailboxMapperTest.java index 43704b7..97f1206 100644 --- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MailboxMapperTest.java +++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MailboxMapperTest.java @@ -32,7 +32,6 @@ import org.apache.james.mailbox.model.MailboxId; import org.apache.james.mailbox.model.MailboxPath; import org.apache.james.mailbox.store.mail.MailboxMapper; import org.apache.james.mailbox.store.mail.model.impl.SimpleMailbox; -import org.junit.Assume; import org.junit.Test; /** @@ -76,15 +75,13 @@ public abstract class MailboxMapperTest { private Mailbox bobDifferentNamespaceMailbox; private MailboxMapper mailboxMapper; - private MapperProvider mapperProvider; - protected abstract MapperProvider createMapperProvider(); + protected abstract MailboxMapper createMailboxMapper(); - public void setUp() throws Exception { - this.mapperProvider = createMapperProvider(); - Assume.assumeTrue(mapperProvider.getSupportedCapabilities().contains(MapperProvider.Capabilities.MAILBOX)); + protected abstract MailboxId generateId(); - this.mailboxMapper = mapperProvider.createMailboxMapper(); + public void setUp() throws Exception { + this.mailboxMapper = createMailboxMapper(); initData(); } @@ -300,7 +297,7 @@ public abstract class MailboxMapperTest { private SimpleMailbox createMailbox(MailboxPath mailboxPath) { SimpleMailbox mailbox = new SimpleMailbox(mailboxPath, UID_VALIDITY); - mailbox.setMailboxId(mapperProvider.generateId()); + mailbox.setMailboxId(generateId()); return mailbox; } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
