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 2019/03/20 11:54:29 UTC

[james-project] 21/33: JAMES-2687 Use InMemoryIntegrationResources for InMemoryMailboxManagerAttachmentTest

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 4d5b67219053f9dfc880d9a4b372677f412bea19
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Fri Mar 15 14:25:47 2019 +0700

    JAMES-2687 Use InMemoryIntegrationResources for InMemoryMailboxManagerAttachmentTest
---
 .../mail/InMemoryMailboxManagerAttachmentTest.java | 51 ++++------------------
 .../manager/InMemoryIntegrationResources.java      |  9 +++-
 2 files changed, 17 insertions(+), 43 deletions(-)

diff --git a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/mail/InMemoryMailboxManagerAttachmentTest.java b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/mail/InMemoryMailboxManagerAttachmentTest.java
index 9be0b03..a4f7a17 100644
--- a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/mail/InMemoryMailboxManagerAttachmentTest.java
+++ b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/mail/InMemoryMailboxManagerAttachmentTest.java
@@ -26,63 +26,30 @@ import static org.mockito.Mockito.when;
 import java.io.InputStream;
 
 import org.apache.james.mailbox.MailboxManager;
-import org.apache.james.mailbox.acl.GroupMembershipResolver;
-import org.apache.james.mailbox.acl.UnionMailboxACLResolver;
-import org.apache.james.mailbox.events.InVMEventBus;
-import org.apache.james.mailbox.events.delivery.InVmEventDelivery;
 import org.apache.james.mailbox.inmemory.InMemoryMailboxManager;
-import org.apache.james.mailbox.inmemory.InMemoryMailboxSessionMapperFactory;
-import org.apache.james.mailbox.inmemory.InMemoryMessageId;
-import org.apache.james.mailbox.model.MessageId;
+import org.apache.james.mailbox.inmemory.manager.InMemoryIntegrationResources;
 import org.apache.james.mailbox.store.AbstractMailboxManagerAttachmentTest;
-import org.apache.james.mailbox.store.Authenticator;
-import org.apache.james.mailbox.store.Authorizator;
 import org.apache.james.mailbox.store.MailboxSessionMapperFactory;
-import org.apache.james.mailbox.store.NoMailboxPathLocker;
-import org.apache.james.mailbox.store.PreDeletionHooks;
-import org.apache.james.mailbox.store.SessionProvider;
-import org.apache.james.mailbox.store.StoreMailboxAnnotationManager;
-import org.apache.james.mailbox.store.StoreRightManager;
-import org.apache.james.mailbox.store.extractor.DefaultTextExtractor;
 import org.apache.james.mailbox.store.mail.AttachmentMapperFactory;
 import org.apache.james.mailbox.store.mail.model.impl.MessageParser;
-import org.apache.james.mailbox.store.quota.QuotaComponents;
-import org.apache.james.mailbox.store.search.MessageSearchIndex;
-import org.apache.james.mailbox.store.search.SimpleMessageSearchIndex;
-import org.apache.james.metrics.api.NoopMetricFactory;
 import org.junit.Before;
 
 public class InMemoryMailboxManagerAttachmentTest extends AbstractMailboxManagerAttachmentTest {
-
-    private InMemoryMailboxSessionMapperFactory mailboxSessionMapperFactory;
     private InMemoryMailboxManager mailboxManager;
     private InMemoryMailboxManager parseFailingMailboxManager;
 
-
     @Override
     @Before
     public void setUp() throws Exception {
-        mailboxSessionMapperFactory = new InMemoryMailboxSessionMapperFactory();
-        Authenticator noAuthenticator = null;
-        Authorizator noAuthorizator = null;
-        InVMEventBus eventBus = new InVMEventBus(new InVmEventDelivery(new NoopMetricFactory()));
-        MessageId.Factory messageIdFactory = new InMemoryMessageId.Factory();
-        GroupMembershipResolver groupMembershipResolver = null;
-        UnionMailboxACLResolver aclResolver = new UnionMailboxACLResolver();
-        StoreRightManager storeRightManager = new StoreRightManager(mailboxSessionMapperFactory, aclResolver, groupMembershipResolver, eventBus);
-
-        SessionProvider sessionProvider = new SessionProvider(noAuthenticator, noAuthorizator);
-        QuotaComponents quotaComponents = QuotaComponents.disabled(sessionProvider, mailboxSessionMapperFactory);
-        MessageSearchIndex index = new SimpleMessageSearchIndex(mailboxSessionMapperFactory, mailboxSessionMapperFactory, new DefaultTextExtractor());
-
-        StoreMailboxAnnotationManager annotationManager = new StoreMailboxAnnotationManager(mailboxSessionMapperFactory, storeRightManager);
-        mailboxManager = new InMemoryMailboxManager(mailboxSessionMapperFactory, sessionProvider, new NoMailboxPathLocker(),
-                new MessageParser(), messageIdFactory, eventBus, annotationManager, storeRightManager, quotaComponents, index, PreDeletionHooks.NO_PRE_DELETION_HOOK);
         MessageParser failingMessageParser = mock(MessageParser.class);
         when(failingMessageParser.retrieveAttachments(any(InputStream.class)))
             .thenThrow(new RuntimeException("Message parser set to fail"));
-        parseFailingMailboxManager = new InMemoryMailboxManager(mailboxSessionMapperFactory, sessionProvider, new NoMailboxPathLocker(),
-            failingMessageParser, messageIdFactory, eventBus, annotationManager, storeRightManager, quotaComponents, index, PreDeletionHooks.NO_PRE_DELETION_HOOK);
+
+        mailboxManager = new InMemoryIntegrationResources.Factory().create().getMailboxManager();
+        parseFailingMailboxManager = new InMemoryIntegrationResources.Factory()
+            .withMessageParser(failingMessageParser)
+            .create().getMailboxManager();
+
         super.setUp();
     }
 
@@ -93,7 +60,7 @@ public class InMemoryMailboxManagerAttachmentTest extends AbstractMailboxManager
 
     @Override
     protected MailboxSessionMapperFactory getMailboxSessionMapperFactory() {
-        return mailboxSessionMapperFactory;
+        return mailboxManager.getMapperFactory();
     }
 
     @Override
@@ -103,6 +70,6 @@ public class InMemoryMailboxManagerAttachmentTest extends AbstractMailboxManager
 
     @Override
     protected AttachmentMapperFactory getAttachmentMapperFactory() {
-        return mailboxSessionMapperFactory;
+        return (AttachmentMapperFactory) mailboxManager.getMapperFactory();
     }
 }
diff --git a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/manager/InMemoryIntegrationResources.java b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/manager/InMemoryIntegrationResources.java
index 31510d4..31afd2b 100644
--- a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/manager/InMemoryIntegrationResources.java
+++ b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/manager/InMemoryIntegrationResources.java
@@ -76,6 +76,7 @@ public class InMemoryIntegrationResources implements IntegrationResources<StoreM
         private Optional<EventBus> eventBus;
         private Optional<Integer> limitAnnotationCount;
         private Optional<Integer> limitAnnotationSize;
+        private Optional<MessageParser> messageParser;
         private Optional<Function<MailboxManagerPreInstanciationStage, MessageSearchIndex>> searchIndexInstanciator;
         private ImmutableSet.Builder<Function<MailboxManagerPreInstanciationStage, PreDeletionHook>> preDeletionHooksInstanciators;
 
@@ -86,9 +87,15 @@ public class InMemoryIntegrationResources implements IntegrationResources<StoreM
             this.limitAnnotationCount = Optional.empty();
             this.limitAnnotationSize = Optional.empty();
             this.searchIndexInstanciator = Optional.empty();
+            this.messageParser = Optional.empty();
             this.preDeletionHooksInstanciators = ImmutableSet.builder();
         }
 
+        public Factory withMessageParser(MessageParser messageParser) {
+            this.messageParser = Optional.of(messageParser);
+            return this;
+        }
+
         public Factory withAuthenticator(Authenticator authenticator) {
             this.authenticator = Optional.of(authenticator);
             return this;
@@ -161,7 +168,7 @@ public class InMemoryIntegrationResources implements IntegrationResources<StoreM
                 mailboxSessionMapperFactory,
                 sessionProvider,
                 new JVMMailboxPathLocker(),
-                new MessageParser(),
+                messageParser.orElse(new MessageParser()),
                 new InMemoryMessageId.Factory(),
                 eventBus,
                 annotationManager,


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org