You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2018/07/06 09:27:33 UTC

[07/21] james-project git commit: MAILBOX-342 Don't use mapper provider for MailboxMapperTest

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 <bt...@linagora.com>
Authored: Thu Jul 5 11:29:18 2018 +0700
Committer: benwa <bt...@linagora.com>
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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org