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 e8b82b1179f92ff9fd429ac7009f08542fab76ee
Author: Benoit Tellier <[email protected]>
AuthorDate: Fri Mar 15 14:33:53 2019 +0700

    JAMES-2687 Use InMemoryIntegrationResources for 
InMemoryMessageIdManagerSideEffectTest
    
    Relax some assertions as some quota events modifications might be emitted.
---
 .../manager/InMemoryIntegrationResources.java      |  9 +++-
 .../InMemoryMessageIdManagerSideEffectTest.java    | 60 +++-------------------
 .../AbstractMessageIdManagerSideEffectTest.java    |  7 +--
 3 files changed, 18 insertions(+), 58 deletions(-)

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 31afd2b..c92799f 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
@@ -75,6 +75,7 @@ public class InMemoryIntegrationResources implements 
IntegrationResources<StoreM
         private Optional<Authorizator> authorizator;
         private Optional<EventBus> eventBus;
         private Optional<Integer> limitAnnotationCount;
+        private Optional<QuotaManager> quotaManager;
         private Optional<Integer> limitAnnotationSize;
         private Optional<MessageParser> messageParser;
         private Optional<Function<MailboxManagerPreInstanciationStage, 
MessageSearchIndex>> searchIndexInstanciator;
@@ -88,6 +89,7 @@ public class InMemoryIntegrationResources implements 
IntegrationResources<StoreM
             this.limitAnnotationSize = Optional.empty();
             this.searchIndexInstanciator = Optional.empty();
             this.messageParser = Optional.empty();
+            this.quotaManager = Optional.empty();
             this.preDeletionHooksInstanciators = ImmutableSet.builder();
         }
 
@@ -96,6 +98,11 @@ public class InMemoryIntegrationResources implements 
IntegrationResources<StoreM
             return this;
         }
 
+        public Factory withQuotaManager(QuotaManager quotaManager) {
+            this.quotaManager = Optional.of(quotaManager);
+            return this;
+        }
+
         public Factory withAuthenticator(Authenticator authenticator) {
             this.authenticator = Optional.of(authenticator);
             return this;
@@ -154,7 +161,7 @@ public class InMemoryIntegrationResources implements 
IntegrationResources<StoreM
             InMemoryPerUserMaxQuotaManager maxQuotaManager = new 
InMemoryPerUserMaxQuotaManager();
             DefaultUserQuotaRootResolver quotaRootResolver = new 
DefaultUserQuotaRootResolver(sessionProvider, mailboxSessionMapperFactory);
             InMemoryCurrentQuotaManager currentQuotaManager = new 
InMemoryCurrentQuotaManager(new 
CurrentQuotaCalculator(mailboxSessionMapperFactory, quotaRootResolver), 
sessionProvider);
-            StoreQuotaManager quotaManager = new 
StoreQuotaManager(currentQuotaManager, maxQuotaManager);
+            QuotaManager quotaManager = this.quotaManager.orElseGet(() -> new 
StoreQuotaManager(currentQuotaManager, maxQuotaManager));
             ListeningCurrentQuotaUpdater listeningCurrentQuotaUpdater = new 
ListeningCurrentQuotaUpdater(currentQuotaManager, quotaRootResolver, eventBus, 
quotaManager);
             QuotaComponents quotaComponents = new 
QuotaComponents(maxQuotaManager, quotaManager, quotaRootResolver, 
listeningCurrentQuotaUpdater);
 
diff --git 
a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/manager/InMemoryMessageIdManagerSideEffectTest.java
 
b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/manager/InMemoryMessageIdManagerSideEffectTest.java
index d4876cf..f7d4da3 100644
--- 
a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/manager/InMemoryMessageIdManagerSideEffectTest.java
+++ 
b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/manager/InMemoryMessageIdManagerSideEffectTest.java
@@ -21,33 +21,12 @@ package org.apache.james.mailbox.inmemory.manager;
 
 import java.util.Set;
 
-import org.apache.james.mailbox.acl.SimpleGroupMembershipResolver;
-import org.apache.james.mailbox.acl.UnionMailboxACLResolver;
 import org.apache.james.mailbox.events.EventBus;
 import org.apache.james.mailbox.extension.PreDeletionHook;
-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.manager.ManagerTestProvisionner;
 import org.apache.james.mailbox.quota.QuotaManager;
 import org.apache.james.mailbox.store.AbstractMessageIdManagerSideEffectTest;
-import org.apache.james.mailbox.store.FakeAuthenticator;
-import org.apache.james.mailbox.store.FakeAuthorizator;
-import org.apache.james.mailbox.store.JVMMailboxPathLocker;
 import org.apache.james.mailbox.store.MessageIdManagerTestSystem;
-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.StoreMessageIdManager;
-import org.apache.james.mailbox.store.StoreRightManager;
-import org.apache.james.mailbox.store.extractor.DefaultTextExtractor;
-import org.apache.james.mailbox.store.mail.model.impl.MessageParser;
-import org.apache.james.mailbox.store.quota.DefaultUserQuotaRootResolver;
-import org.apache.james.mailbox.store.quota.NoMaxQuotaManager;
-import org.apache.james.mailbox.store.quota.NoQuotaUpdater;
-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.junit.Before;
 
 public class InMemoryMessageIdManagerSideEffectTest extends 
AbstractMessageIdManagerSideEffectTest {
@@ -60,40 +39,17 @@ public class InMemoryMessageIdManagerSideEffectTest extends 
AbstractMessageIdMan
 
     @Override
     protected MessageIdManagerTestSystem createTestSystem(QuotaManager 
quotaManager, EventBus eventBus, Set<PreDeletionHook> preDeletionHooks) {
-        InMemoryMailboxSessionMapperFactory mapperFactory = new 
InMemoryMailboxSessionMapperFactory();
-
-        FakeAuthenticator fakeAuthenticator = new FakeAuthenticator();
-        fakeAuthenticator.addUser(ManagerTestProvisionner.USER, 
ManagerTestProvisionner.USER_PASS);
-        fakeAuthenticator.addUser(ManagerTestProvisionner.OTHER_USER, 
ManagerTestProvisionner.OTHER_USER_PASS);
-        FakeAuthorizator fakeAuthorizator = FakeAuthorizator.defaultReject();
-
-        StoreRightManager rightManager = new StoreRightManager(mapperFactory, 
new UnionMailboxACLResolver(), new SimpleGroupMembershipResolver(), eventBus);
-        JVMMailboxPathLocker locker = new JVMMailboxPathLocker();
         InMemoryMessageId.Factory messageIdFactory = new 
InMemoryMessageId.Factory();
-        SessionProvider sessionProvider = new 
SessionProvider(fakeAuthenticator, fakeAuthorizator);
 
-        QuotaComponents quotaComponents = new QuotaComponents(new 
NoMaxQuotaManager(), quotaManager, new 
DefaultUserQuotaRootResolver(sessionProvider, mapperFactory), new 
NoQuotaUpdater());
-        MessageSearchIndex index = new SimpleMessageSearchIndex(mapperFactory, 
mapperFactory, new DefaultTextExtractor());
+        InMemoryIntegrationResources resources = new 
InMemoryIntegrationResources.Factory()
+            .withEventBus(eventBus)
+            .withPreDeletionHooks(preDeletionHooks)
+            .withQuotaManager(quotaManager)
+            .create();
 
-        InMemoryMailboxManager mailboxManager = new 
InMemoryMailboxManager(mapperFactory,
-            sessionProvider,
-            locker,
-            new MessageParser(),
-            messageIdFactory,
-            eventBus,
-            new StoreMailboxAnnotationManager(mapperFactory, rightManager),
-            rightManager,
-            quotaComponents,
-            index,
-            new PreDeletionHooks(preDeletionHooks));
-        StoreMessageIdManager messageIdManager = new StoreMessageIdManager(
-            mailboxManager,
-            mapperFactory,
-            eventBus,
+        return new MessageIdManagerTestSystem(resources.getMessageIdManager(),
             messageIdFactory,
-            quotaManager,
-            quotaComponents.getQuotaRootResolver(),
-            new PreDeletionHooks(preDeletionHooks));
-        return new MessageIdManagerTestSystem(messageIdManager, 
messageIdFactory, mapperFactory, mailboxManager);
+            resources.getMailboxManager().getMapperFactory(),
+            resources.getMailboxManager());
     }
 }
diff --git 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractMessageIdManagerSideEffectTest.java
 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractMessageIdManagerSideEffectTest.java
index c69ac27..717968d 100644
--- 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractMessageIdManagerSideEffectTest.java
+++ 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractMessageIdManagerSideEffectTest.java
@@ -141,8 +141,8 @@ public abstract class 
AbstractMessageIdManagerSideEffectTest {
         messageIdManager.delete(messageId, 
ImmutableList.of(mailbox1.getMailboxId()), session);
 
         assertThat(eventCollector.getEvents())
+            .filteredOn(event -> event instanceof MailboxListener.Expunged)
             .hasSize(1).first()
-            .isInstanceOf(MailboxListener.Expunged.class)
             .satisfies(e -> {
                 MailboxListener.Expunged event = (MailboxListener.Expunged) e;
                 
assertThat(event.getMailboxId()).isEqualTo(mailbox1.getMailboxId());
@@ -168,8 +168,8 @@ public abstract class 
AbstractMessageIdManagerSideEffectTest {
 
         AbstractListAssert<?, List<? extends MailboxListener.Expunged>, 
MailboxListener.Expunged, ObjectAssert<MailboxListener.Expunged>> events =
             assertThat(eventCollector.getEvents())
+                .filteredOn(event -> event instanceof MailboxListener.Expunged)
                 .hasSize(2)
-                .allSatisfy(event -> 
assertThat(event).isInstanceOf(MailboxListener.Expunged.class))
                 .extracting(event -> (MailboxListener.Expunged) event);
         
events.extracting(MailboxListener.MailboxEvent::getMailboxId).containsOnly(mailbox1.getMailboxId(),
 mailbox1.getMailboxId());
         events.extracting(MailboxListener.Expunged::getExpunged)
@@ -329,7 +329,6 @@ public abstract class 
AbstractMessageIdManagerSideEffectTest {
         eventBus.register(eventCollector);
         messageIdManager.setInMailboxes(messageId, 
ImmutableList.of(mailbox1.getMailboxId(), mailbox2.getMailboxId()), session);
 
-        assertThat(eventCollector.getEvents()).hasSize(2);
         assertThat(eventCollector.getEvents()).filteredOn(event -> event 
instanceof MessageMoveEvent).hasSize(1);
         assertThat(eventCollector.getEvents()).filteredOn(event -> event 
instanceof MailboxListener.Added).hasSize(1)
             .extracting(event -> (MailboxListener.Added) 
event).extracting(MailboxListener.Added::getMailboxId)
@@ -346,7 +345,6 @@ public abstract class 
AbstractMessageIdManagerSideEffectTest {
 
         messageIdManager.getMessages(ImmutableList.of(messageId), 
FetchGroupImpl.MINIMAL, session);
 
-        assertThat(eventCollector.getEvents()).hasSize(3);
         assertThat(eventCollector.getEvents()).filteredOn(event -> event 
instanceof MessageMoveEvent).hasSize(1);
         assertThat(eventCollector.getEvents()).filteredOn(event -> event 
instanceof MailboxListener.Added).hasSize(2)
             .extracting(event -> (MailboxListener.Added) 
event).extracting(MailboxListener.Added::getMailboxId)
@@ -380,7 +378,6 @@ public abstract class 
AbstractMessageIdManagerSideEffectTest {
         eventBus.register(eventCollector);
         messageIdManager.setInMailboxes(messageId, 
ImmutableList.of(mailbox1.getMailboxId(), mailbox3.getMailboxId()), session);
 
-        assertThat(eventCollector.getEvents()).hasSize(3);
         assertThat(eventCollector.getEvents()).filteredOn(event -> event 
instanceof MessageMoveEvent).hasSize(1);
         assertThat(eventCollector.getEvents()).filteredOn(event -> event 
instanceof MailboxListener.Added).hasSize(1)
             .extracting(event -> (MailboxListener.Added) 
event).extracting(MailboxListener.Added::getMailboxId)


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

Reply via email to