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 506988131c4abe8de03ba04a5e8f3d9eebfb2211 Author: Benoit Tellier <[email protected]> AuthorDate: Tue Mar 19 12:02:15 2019 +0700 JAMES-2684 Provide an explicit staged-factory for InMemoryIntegrationResources Note that the factory is mutable but is only used through stages thus we ensure all methods are called. A convenient default method had been added. --- .../ElasticSearchIntegrationTest.java | 9 +- .../search/LuceneMessageSearchIndexTest.java | 9 +- .../inmemory/InMemoryCombinationManagerTest.java | 2 +- .../InMemoryMessageIdManagerStorageTest.java | 2 +- .../inmemory/InMemoryMessageManagerTest.java | 2 +- .../inmemory/MemoryMailboxManagerProvider.java | 8 +- .../mail/InMemoryMailboxManagerAttachmentTest.java | 14 +- .../manager/InMemoryIntegrationResources.java | 235 ++++++++++++++++----- .../InMemoryMessageIdManagerSideEffectTest.java | 7 +- .../InMemoryQuotaMailboxMessageManagerTest.java | 2 +- .../james/vault/DeletedMessageVaultHookTest.java | 11 +- ...lasticSearchQuotaSearchTestSystemExtension.java | 2 +- .../MemoryQuotaSearchTestSystemExtension.java | 2 +- .../spamassassin/SpamAssassinListenerTest.java | 2 +- .../store/search/SimpleMessageSearchIndexTest.java | 9 +- .../mailbox/tools/copier/MailboxCopierTest.java | 2 +- .../tools/indexer/MessageIdReIndexerImplTest.java | 2 +- .../mailbox/tools/indexer/ReIndexerImplTest.java | 2 +- .../host/ElasticSearchHostSystem.java | 7 +- .../inmemory/host/InMemoryHostSystem.java | 8 +- .../lucenesearch/host/LuceneSearchHostSystem.java | 9 +- .../rabbitmq/host/RabbitMQEventBusHostSystem.java | 9 +- .../adapter/mailbox/MailboxManagementTest.java | 2 +- .../mailets/delivery/MailboxAppenderTest.java | 2 +- .../james/transport/matchers/IsOverQuotaTest.java | 2 +- .../DefaultMailboxesProvisioningFilterTest.java | 2 +- .../event/PropagateLookupRightListenerTest.java | 2 +- .../jmap/mailet/filter/JMAPFilteringExtension.java | 2 +- .../james/jmap/methods/GetMailboxesMethodTest.java | 2 +- .../james/jmap/methods/GetMessagesMethodTest.java | 2 +- .../james/jmap/model/MailboxFactoryTest.java | 2 +- .../james/jmap/send/PostDequeueDecoratorTest.java | 2 +- .../apache/james/jmap/utils/MailboxUtilsTest.java | 2 +- .../apache/james/pop3server/POP3ServerTest.java | 12 +- .../routes/DeletedMessagesVaultRoutesTest.java | 2 +- .../routes/ElasticSearchQuotaSearchExtension.java | 2 +- .../webadmin/routes/ReindexingRoutesTest.java | 2 +- .../routes/ScanningQuotaSearchExtension.java | 2 +- .../webadmin/routes/UserMailboxesRoutesTest.java | 2 +- 39 files changed, 304 insertions(+), 95 deletions(-) diff --git a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIntegrationTest.java b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIntegrationTest.java index 3e4b13e..0599280 100644 --- a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIntegrationTest.java +++ b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIntegrationTest.java @@ -100,7 +100,12 @@ public class ElasticSearchIntegrationTest extends AbstractMessageSearchIndexTest InMemoryMessageId.Factory messageIdFactory = new InMemoryMessageId.Factory(); ThreadFactory threadFactory = NamedThreadFactory.withClassName(getClass()); - InMemoryIntegrationResources resources = new InMemoryIntegrationResources.Factory() + InMemoryIntegrationResources resources = InMemoryIntegrationResources.factory() + .preProvisionnedFakeAuthenticator() + .fakeAuthorizator() + .inVmEventBus() + .defaultAnnotationLimits() + .defaultMessageParser() .listeningSearchIndex(preInstanciationStage -> new ElasticSearchListeningMessageSearchIndex( preInstanciationStage.getMapperFactory(), new ElasticSearchIndexer(client, @@ -114,6 +119,8 @@ public class ElasticSearchIntegrationTest extends AbstractMessageSearchIndexTest MailboxElasticSearchConstants.MESSAGE_TYPE), new MessageToElasticSearchJson(textExtractor, ZoneId.of("Europe/Paris"), IndexAttachments.YES), preInstanciationStage.getSessionProvider())) + .noPreDeletionHooks() + .storeQuotaManager() .create(); storeMailboxManager = resources.getMailboxManager(); diff --git a/mailbox/lucene/src/test/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndexTest.java b/mailbox/lucene/src/test/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndexTest.java index 9f509c9..ff34854 100644 --- a/mailbox/lucene/src/test/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndexTest.java +++ b/mailbox/lucene/src/test/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndexTest.java @@ -37,11 +37,18 @@ public class LuceneMessageSearchIndexTest extends AbstractMessageSearchIndexTest @Override protected void initializeMailboxManager() { - InMemoryIntegrationResources resources = new InMemoryIntegrationResources.Factory() + InMemoryIntegrationResources resources = InMemoryIntegrationResources.factory() + .preProvisionnedFakeAuthenticator() + .fakeAuthorizator() + .inVmEventBus() + .defaultAnnotationLimits() + .defaultMessageParser() .listeningSearchIndex(Throwing.function(preInstanciationStage -> new LuceneMessageSearchIndex( preInstanciationStage.getMapperFactory(), new InMemoryId.Factory(), new RAMDirectory(), new InMemoryMessageId.Factory(), preInstanciationStage.getSessionProvider()))) + .noPreDeletionHooks() + .storeQuotaManager() .create(); storeMailboxManager = resources.getMailboxManager(); diff --git a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/InMemoryCombinationManagerTest.java b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/InMemoryCombinationManagerTest.java index 222aa82..3aa7c86 100644 --- a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/InMemoryCombinationManagerTest.java +++ b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/InMemoryCombinationManagerTest.java @@ -33,7 +33,7 @@ public class InMemoryCombinationManagerTest extends AbstractCombinationManagerTe @Override public CombinationManagerTestSystem createTestingData() { - InMemoryIntegrationResources resources = new InMemoryIntegrationResources.Factory().create(); + InMemoryIntegrationResources resources = InMemoryIntegrationResources.defaultResources(); return new InMemoryCombinationManagerTestSystem( resources.getMailboxManager(), diff --git a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/InMemoryMessageIdManagerStorageTest.java b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/InMemoryMessageIdManagerStorageTest.java index c1bed67..9f0087a 100644 --- a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/InMemoryMessageIdManagerStorageTest.java +++ b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/InMemoryMessageIdManagerStorageTest.java @@ -34,7 +34,7 @@ public class InMemoryMessageIdManagerStorageTest extends AbstractMessageIdManage @Override protected MessageIdManagerTestSystem createTestingData() { - InMemoryIntegrationResources resources = new InMemoryIntegrationResources.Factory().create(); + InMemoryIntegrationResources resources = InMemoryIntegrationResources.defaultResources(); StoreMailboxManager mailboxManager = resources.getMailboxManager(); return new MessageIdManagerTestSystem( diff --git a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/InMemoryMessageManagerTest.java b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/InMemoryMessageManagerTest.java index 86162ce..fddfc18 100644 --- a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/InMemoryMessageManagerTest.java +++ b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/InMemoryMessageManagerTest.java @@ -33,7 +33,7 @@ public class InMemoryMessageManagerTest extends AbstractMessageManagerTest { @Override protected MessageManagerTestSystem createTestSystem() { - return new InMemoryMessageManagerTestSystem(new InMemoryIntegrationResources.Factory().create().getMailboxManager()); + return new InMemoryMessageManagerTestSystem(InMemoryIntegrationResources.defaultResources().getMailboxManager()); } } diff --git a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/MemoryMailboxManagerProvider.java b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/MemoryMailboxManagerProvider.java index e65b5d0..11b200d 100644 --- a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/MemoryMailboxManagerProvider.java +++ b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/MemoryMailboxManagerProvider.java @@ -29,9 +29,15 @@ public class MemoryMailboxManagerProvider { private static final int LIMIT_ANNOTATION_SIZE = 30; public static InMemoryMailboxManager provideMailboxManager(Set<PreDeletionHook> preDeletionHooks) { - return new InMemoryIntegrationResources.Factory() + return InMemoryIntegrationResources.factory() + .preProvisionnedFakeAuthenticator() + .fakeAuthorizator() + .inVmEventBus() .annotationLimits(LIMIT_ANNOTATIONS, LIMIT_ANNOTATION_SIZE) + .defaultMessageParser() + .scanningSearchIndex() .preDeletionHooks(preDeletionHooks) + .storeQuotaManager() .create() .getMailboxManager(); } 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 e3c3b6d..bfa9e32 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 @@ -45,10 +45,18 @@ public class InMemoryMailboxManagerAttachmentTest extends AbstractMailboxManager when(failingMessageParser.retrieveAttachments(any(InputStream.class))) .thenThrow(new RuntimeException("Message parser set to fail")); - mailboxManager = new InMemoryIntegrationResources.Factory().create().getMailboxManager(); - parseFailingMailboxManager = new InMemoryIntegrationResources.Factory() + mailboxManager = InMemoryIntegrationResources.defaultResources().getMailboxManager(); + parseFailingMailboxManager = InMemoryIntegrationResources.factory() + .preProvisionnedFakeAuthenticator() + .fakeAuthorizator() + .inVmEventBus() + .defaultAnnotationLimits() .messageParser(failingMessageParser) - .create().getMailboxManager(); + .scanningSearchIndex() + .noPreDeletionHooks() + .storeQuotaManager() + .create() + .getMailboxManager(); super.setUp(); } 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 8431f3b..df917f5 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 @@ -68,85 +68,207 @@ import org.apache.james.mailbox.store.search.SimpleMessageSearchIndex; import org.apache.james.metrics.api.NoopMetricFactory; import com.github.steveash.guavate.Guavate; +import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; public class InMemoryIntegrationResources implements IntegrationResources<StoreMailboxManager> { - public static class Factory { + + public interface Stages { + interface RequireAuthenticator { + RequireAuthorizator authenticator(Authenticator authenticator); + + default RequireAuthorizator preProvisionnedFakeAuthenticator() { + FakeAuthenticator fakeAuthenticator = new FakeAuthenticator(); + fakeAuthenticator.addUser(ManagerTestProvisionner.USER, ManagerTestProvisionner.USER_PASS); + fakeAuthenticator.addUser(ManagerTestProvisionner.OTHER_USER, ManagerTestProvisionner.OTHER_USER_PASS); + + return authenticator(fakeAuthenticator); + } + } + + interface RequireAuthorizator { + RequireEventBus authorizator(Authorizator authorizator); + + default RequireEventBus fakeAuthorizator() { + return authorizator(FakeAuthorizator.defaultReject()); + } + } + + interface RequireEventBus { + RequireAnnotationLimits eventBus(EventBus eventBus); + + default RequireAnnotationLimits inVmEventBus() { + return eventBus(new InVMEventBus(new InVmEventDelivery(new NoopMetricFactory()))); + } + } + + interface RequireAnnotationLimits { + RequireMessageParser annotationLimits(int limitAnnotationCount, int limitAnnotationSize); + + default RequireMessageParser defaultAnnotationLimits() { + return annotationLimits(MailboxConstants.DEFAULT_LIMIT_ANNOTATIONS_ON_MAILBOX, MailboxConstants.DEFAULT_LIMIT_ANNOTATION_SIZE); + } + } + + interface RequireMessageParser { + RequireSearchIndex messageParser(MessageParser messageParser); + + default RequireSearchIndex defaultMessageParser() { + return messageParser(new MessageParser()); + } + } + + interface RequireSearchIndex { + RequirePreDeletionHooks searchIndex(Function<MailboxManagerPreInstanciationStage, MessageSearchIndex> searchIndex); + + RequirePreDeletionHooks listeningSearchIndex(Function<MailboxManagerPreInstanciationStage, ListeningMessageSearchIndex> searchIndex); + + default RequirePreDeletionHooks scanningSearchIndex() { + return searchIndex(stage -> new SimpleMessageSearchIndex(stage.mapperFactory, stage.mapperFactory, new DefaultTextExtractor())); + } + } + + interface RequirePreDeletionHooks { + RequireQuotaManager preDeletionHooksFactories(Collection<Function<MailboxManagerPreInstanciationStage, PreDeletionHook>> preDeletionHooks); + + default RequireQuotaManager preDeletionHookFactory(Function<MailboxManagerPreInstanciationStage, PreDeletionHook> preDeletionHook) { + return preDeletionHooksFactories(ImmutableList.of(preDeletionHook)); + } + + default RequireQuotaManager preDeletionHook(PreDeletionHook preDeletionHook) { + return preDeletionHookFactory(toFactory(preDeletionHook)); + } + + default RequireQuotaManager preDeletionHooks(Collection<PreDeletionHook> preDeletionHooks) { + return preDeletionHooksFactories(preDeletionHooks.stream() + .map(RequirePreDeletionHooks::toFactory) + .collect(Guavate.toImmutableList())); + } + + default RequireQuotaManager noPreDeletionHooks() { + return preDeletionHooksFactories(ImmutableList.of()); + } + + static Function<MailboxManagerPreInstanciationStage, PreDeletionHook> toFactory(PreDeletionHook preDeletionHook) { + return any -> preDeletionHook; + } + } + + interface RequireQuotaManager { + FinalStage quotaManager(Function<BaseQuotaComponentsStage, QuotaManager> quotaManager); + + default FinalStage storeQuotaManager() { + return quotaManager(stage -> new StoreQuotaManager(stage.currentQuotaManager, stage.maxQuotaManager)); + } + + default FinalStage quotaManager(QuotaManager quotaManager) { + return quotaManager(stage -> quotaManager); + } + } + + interface FinalStage { + InMemoryIntegrationResources create(); + } + } + + public static Stages.RequireAuthenticator factory() { + return new Factory(); + } + + public static InMemoryIntegrationResources defaultResources() { + return factory() + .preProvisionnedFakeAuthenticator() + .fakeAuthorizator() + .inVmEventBus() + .defaultAnnotationLimits() + .defaultMessageParser() + .scanningSearchIndex() + .noPreDeletionHooks() + .storeQuotaManager() + .create(); + } + + public static class Factory implements Stages.RequireAuthenticator, Stages.RequireAuthorizator, Stages.RequireEventBus, + Stages.RequireAnnotationLimits, Stages.RequireMessageParser, Stages.RequireSearchIndex, Stages.RequirePreDeletionHooks, + Stages.RequireQuotaManager, Stages.FinalStage { + private Optional<Authenticator> authenticator; private Optional<Authorizator> authorizator; private Optional<EventBus> eventBus; private Optional<Integer> limitAnnotationCount; - private Optional<QuotaManager> quotaManager; + private Optional<Function<BaseQuotaComponentsStage, QuotaManager>> quotaManager; private Optional<Integer> limitAnnotationSize; private Optional<MessageParser> messageParser; - private Optional<Function<MailboxManagerPreInstanciationStage, MessageSearchIndex>> searchIndexInstanciator; - private ImmutableSet.Builder<Function<MailboxManagerPreInstanciationStage, PreDeletionHook>> preDeletionHooksInstanciators; + private Optional<Function<MailboxManagerPreInstanciationStage, MessageSearchIndex>> searchIndexFactory; + private ImmutableSet.Builder<Function<MailboxManagerPreInstanciationStage, PreDeletionHook>> preDeletionHooksFactories; private ImmutableList.Builder<MailboxListener.GroupMailboxListener> listenersToBeRegistered; - public Factory() { + private Factory() { this.authenticator = Optional.empty(); this.authorizator = Optional.empty(); this.eventBus = Optional.empty(); this.limitAnnotationCount = Optional.empty(); this.limitAnnotationSize = Optional.empty(); - this.searchIndexInstanciator = Optional.empty(); + this.searchIndexFactory = Optional.empty(); this.messageParser = Optional.empty(); this.quotaManager = Optional.empty(); - this.preDeletionHooksInstanciators = ImmutableSet.builder(); + this.preDeletionHooksFactories = ImmutableSet.builder(); this.listenersToBeRegistered = ImmutableList.builder(); } + @Override public Factory messageParser(MessageParser messageParser) { this.messageParser = Optional.of(messageParser); return this; } - public Factory quotaManager(QuotaManager quotaManager) { + @Override + public Factory quotaManager(Function<BaseQuotaComponentsStage, QuotaManager> quotaManager) { this.quotaManager = Optional.of(quotaManager); return this; } + @Override public Factory authenticator(Authenticator authenticator) { this.authenticator = Optional.of(authenticator); return this; } + @Override public Factory authorizator(Authorizator authorizator) { this.authorizator = Optional.of(authorizator); return this; } + @Override public Factory eventBus(EventBus eventBus) { this.eventBus = Optional.of(eventBus); return this; } + @Override public Factory annotationLimits(int limitAnnotationCount, int limitAnnotationSize) { this.limitAnnotationCount = Optional.of(limitAnnotationCount); this.limitAnnotationSize = Optional.of(limitAnnotationSize); return this; } - public Factory preDeletionHooks(Collection<PreDeletionHook> preDeletionHooks) { - this.preDeletionHooksInstanciators.addAll(preDeletionHooks.stream() - .map(this::toFactory) - .collect(Guavate.toImmutableList())); - return this; - } - - public Factory preDeletionHook(Function<MailboxManagerPreInstanciationStage, PreDeletionHook> preDeletionHook) { - this.preDeletionHooksInstanciators.add(preDeletionHook); + @Override + public Factory preDeletionHooksFactories(Collection<Function<MailboxManagerPreInstanciationStage, PreDeletionHook>> preDeletionHooks) { + this.preDeletionHooksFactories.addAll(preDeletionHooks); return this; } + @Override public Factory searchIndex(Function<MailboxManagerPreInstanciationStage, MessageSearchIndex> searchIndex) { - this.searchIndexInstanciator = Optional.of(searchIndex); + this.searchIndexFactory = Optional.of(searchIndex); return this; } + @Override public Factory listeningSearchIndex(Function<MailboxManagerPreInstanciationStage, ListeningMessageSearchIndex> searchIndex) { - this.searchIndexInstanciator = Optional.of(stage -> { + this.searchIndexFactory = Optional.of(stage -> { ListeningMessageSearchIndex listeningMessageSearchIndex = searchIndex.apply(stage); listenersToBeRegistered.add(listeningMessageSearchIndex); return listeningMessageSearchIndex; @@ -154,72 +276,84 @@ public class InMemoryIntegrationResources implements IntegrationResources<StoreM return this; } - private Function<MailboxManagerPreInstanciationStage, PreDeletionHook> toFactory(PreDeletionHook preDeletionHook) { - return any -> preDeletionHook; - } - + @Override public InMemoryIntegrationResources create() { + Preconditions.checkState(authenticator.isPresent()); + Preconditions.checkState(authorizator.isPresent()); + Preconditions.checkState(eventBus.isPresent()); + Preconditions.checkState(quotaManager.isPresent()); + Preconditions.checkState(limitAnnotationSize.isPresent()); + Preconditions.checkState(limitAnnotationCount.isPresent()); + Preconditions.checkState(searchIndexFactory.isPresent()); + Preconditions.checkState(messageParser.isPresent()); + InMemoryMailboxSessionMapperFactory mailboxSessionMapperFactory = new InMemoryMailboxSessionMapperFactory(); - EventBus eventBus = this.eventBus.orElseGet(() -> new InVMEventBus(new InVmEventDelivery(new NoopMetricFactory()))); + GroupMembershipResolver groupMembershipResolver = new SimpleGroupMembershipResolver(); - StoreRightManager storeRightManager = new StoreRightManager(mailboxSessionMapperFactory, new UnionMailboxACLResolver(), groupMembershipResolver, eventBus); + StoreRightManager storeRightManager = new StoreRightManager(mailboxSessionMapperFactory, new UnionMailboxACLResolver(), groupMembershipResolver, eventBus.get()); + StoreMailboxAnnotationManager annotationManager = new StoreMailboxAnnotationManager(mailboxSessionMapperFactory, - storeRightManager, limitAnnotationCount.orElse(MailboxConstants.DEFAULT_LIMIT_ANNOTATIONS_ON_MAILBOX), - limitAnnotationSize.orElse(MailboxConstants.DEFAULT_LIMIT_ANNOTATION_SIZE)); + storeRightManager, limitAnnotationCount.get(), limitAnnotationSize.get()); - SessionProvider sessionProvider = new SessionProvider( - authenticator.orElse(defaultAuthenticator()), - authorizator.orElse(FakeAuthorizator.defaultReject())); + SessionProvider sessionProvider = new SessionProvider(authenticator.get(), authorizator.get()); InMemoryPerUserMaxQuotaManager maxQuotaManager = new InMemoryPerUserMaxQuotaManager(); DefaultUserQuotaRootResolver quotaRootResolver = new DefaultUserQuotaRootResolver(sessionProvider, mailboxSessionMapperFactory); InMemoryCurrentQuotaManager currentQuotaManager = new InMemoryCurrentQuotaManager(new CurrentQuotaCalculator(mailboxSessionMapperFactory, quotaRootResolver), sessionProvider); - QuotaManager quotaManager = this.quotaManager.orElseGet(() -> new StoreQuotaManager(currentQuotaManager, maxQuotaManager)); - ListeningCurrentQuotaUpdater listeningCurrentQuotaUpdater = new ListeningCurrentQuotaUpdater(currentQuotaManager, quotaRootResolver, eventBus, quotaManager); + QuotaManager quotaManager = this.quotaManager.get().apply(new BaseQuotaComponentsStage(maxQuotaManager, currentQuotaManager)); + ListeningCurrentQuotaUpdater listeningCurrentQuotaUpdater = new ListeningCurrentQuotaUpdater(currentQuotaManager, quotaRootResolver, eventBus.get(), quotaManager); QuotaComponents quotaComponents = new QuotaComponents(maxQuotaManager, quotaManager, quotaRootResolver, listeningCurrentQuotaUpdater); MailboxManagerPreInstanciationStage preInstanciationStage = new MailboxManagerPreInstanciationStage(mailboxSessionMapperFactory, sessionProvider); - - MessageSearchIndex index = searchIndexInstanciator - .orElse(stage -> new SimpleMessageSearchIndex(stage.mapperFactory, stage.mapperFactory, new DefaultTextExtractor())) - .apply(preInstanciationStage); + MessageSearchIndex index = searchIndexFactory.get().apply(preInstanciationStage); InMemoryMailboxManager manager = new InMemoryMailboxManager( mailboxSessionMapperFactory, sessionProvider, new JVMMailboxPathLocker(), - messageParser.orElse(new MessageParser()), + messageParser.get(), new InMemoryMessageId.Factory(), - eventBus, + eventBus.get(), annotationManager, storeRightManager, quotaComponents, index, createHooks(preInstanciationStage)); - eventBus.register(listeningCurrentQuotaUpdater); - eventBus.register(new MailboxAnnotationListener(mailboxSessionMapperFactory, sessionProvider)); + eventBus.get().register(listeningCurrentQuotaUpdater); + eventBus.get().register(new MailboxAnnotationListener(mailboxSessionMapperFactory, sessionProvider)); - listenersToBeRegistered.build().forEach(eventBus::register); + listenersToBeRegistered.build().forEach(eventBus.get()::register); return new InMemoryIntegrationResources(manager, storeRightManager, new InMemoryMessageId.Factory(), currentQuotaManager, quotaRootResolver, maxQuotaManager, quotaManager, index); } - FakeAuthenticator defaultAuthenticator() { - FakeAuthenticator fakeAuthenticator = new FakeAuthenticator(); - fakeAuthenticator.addUser(ManagerTestProvisionner.USER, ManagerTestProvisionner.USER_PASS); - fakeAuthenticator.addUser(ManagerTestProvisionner.OTHER_USER, ManagerTestProvisionner.OTHER_USER_PASS); - return fakeAuthenticator; - } - - PreDeletionHooks createHooks(MailboxManagerPreInstanciationStage preInstanciationStage) { - return new PreDeletionHooks(preDeletionHooksInstanciators.build() + private PreDeletionHooks createHooks(MailboxManagerPreInstanciationStage preInstanciationStage) { + return new PreDeletionHooks(preDeletionHooksFactories.build() .stream() .map(biFunction -> biFunction.apply(preInstanciationStage)) .collect(Guavate.toImmutableSet())); } } + public static class BaseQuotaComponentsStage { + private final InMemoryPerUserMaxQuotaManager maxQuotaManager; + private final InMemoryCurrentQuotaManager currentQuotaManager; + + public BaseQuotaComponentsStage(InMemoryPerUserMaxQuotaManager maxQuotaManager, InMemoryCurrentQuotaManager currentQuotaManager) { + this.maxQuotaManager = maxQuotaManager; + this.currentQuotaManager = currentQuotaManager; + } + + public InMemoryPerUserMaxQuotaManager getMaxQuotaManager() { + return maxQuotaManager; + } + + public InMemoryCurrentQuotaManager getCurrentQuotaManager() { + return currentQuotaManager; + } + } + public static class MailboxManagerPreInstanciationStage { private final InMemoryMailboxSessionMapperFactory mapperFactory; private final SessionProvider sessionProvider; @@ -238,7 +372,6 @@ public class InMemoryIntegrationResources implements IntegrationResources<StoreM } } - private final InMemoryMailboxManager mailboxManager; private final StoreRightManager storeRightManager; private final MessageId.Factory messageIdFactory; 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 60121d4..9595fbf 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 @@ -41,8 +41,13 @@ public class InMemoryMessageIdManagerSideEffectTest extends AbstractMessageIdMan protected MessageIdManagerTestSystem createTestSystem(QuotaManager quotaManager, EventBus eventBus, Set<PreDeletionHook> preDeletionHooks) { InMemoryMessageId.Factory messageIdFactory = new InMemoryMessageId.Factory(); - InMemoryIntegrationResources resources = new InMemoryIntegrationResources.Factory() + InMemoryIntegrationResources resources = InMemoryIntegrationResources.factory() + .preProvisionnedFakeAuthenticator() + .fakeAuthorizator() .eventBus(eventBus) + .defaultAnnotationLimits() + .defaultMessageParser() + .scanningSearchIndex() .preDeletionHooks(preDeletionHooks) .quotaManager(quotaManager) .create(); diff --git a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/manager/InMemoryQuotaMailboxMessageManagerTest.java b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/manager/InMemoryQuotaMailboxMessageManagerTest.java index d24943d..0547189 100644 --- a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/manager/InMemoryQuotaMailboxMessageManagerTest.java +++ b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/manager/InMemoryQuotaMailboxMessageManagerTest.java @@ -32,7 +32,7 @@ public class InMemoryQuotaMailboxMessageManagerTest extends QuotaMessageManagerT @Override protected IntegrationResources<StoreMailboxManager> createResources() { - return new InMemoryIntegrationResources.Factory().create(); + return InMemoryIntegrationResources.defaultResources(); } } \ No newline at end of file diff --git a/mailbox/plugin/deleted-messages-vault/src/test/java/org/apache/james/vault/DeletedMessageVaultHookTest.java b/mailbox/plugin/deleted-messages-vault/src/test/java/org/apache/james/vault/DeletedMessageVaultHookTest.java index c9d5bba..6d6c479 100644 --- a/mailbox/plugin/deleted-messages-vault/src/test/java/org/apache/james/vault/DeletedMessageVaultHookTest.java +++ b/mailbox/plugin/deleted-messages-vault/src/test/java/org/apache/james/vault/DeletedMessageVaultHookTest.java @@ -98,8 +98,15 @@ class DeletedMessageVaultHookTest { DeletedMessageConverter deletedMessageConverter = new DeletedMessageConverter(); - InMemoryIntegrationResources resources = new InMemoryIntegrationResources.Factory() - .preDeletionHook(preInstanciationStage -> new DeletedMessageVaultHook(preInstanciationStage.getSessionProvider(), messageVault, deletedMessageConverter, preInstanciationStage.getMapperFactory(), clock)) + InMemoryIntegrationResources resources = InMemoryIntegrationResources.factory() + .preProvisionnedFakeAuthenticator() + .fakeAuthorizator() + .inVmEventBus() + .defaultAnnotationLimits() + .defaultMessageParser() + .scanningSearchIndex() + .preDeletionHookFactory(preInstanciationStage -> new DeletedMessageVaultHook(preInstanciationStage.getSessionProvider(), messageVault, deletedMessageConverter, preInstanciationStage.getMapperFactory(), clock)) + .storeQuotaManager() .create(); mailboxManager = resources.getMailboxManager(); diff --git a/mailbox/plugin/quota-search-elasticsearch/src/test/java/org/apache/james/quota/search/elasticsearch/ElasticSearchQuotaSearchTestSystemExtension.java b/mailbox/plugin/quota-search-elasticsearch/src/test/java/org/apache/james/quota/search/elasticsearch/ElasticSearchQuotaSearchTestSystemExtension.java index 31b4c04..d7cd8e8 100644 --- a/mailbox/plugin/quota-search-elasticsearch/src/test/java/org/apache/james/quota/search/elasticsearch/ElasticSearchQuotaSearchTestSystemExtension.java +++ b/mailbox/plugin/quota-search-elasticsearch/src/test/java/org/apache/james/quota/search/elasticsearch/ElasticSearchQuotaSearchTestSystemExtension.java @@ -62,7 +62,7 @@ public class ElasticSearchQuotaSearchTestSystemExtension implements ParameterRes Client client = QuotaSearchIndexCreationUtil.prepareDefaultClient( new TestingClientProvider(embeddedElasticSearch.getNode()).get(), ElasticSearchConfiguration.DEFAULT_CONFIGURATION); - InMemoryIntegrationResources resources = new InMemoryIntegrationResources.Factory().create(); + InMemoryIntegrationResources resources = InMemoryIntegrationResources.defaultResources(); MemoryUsersRepository usersRepository = MemoryUsersRepository.withVirtualHosting(); diff --git a/mailbox/plugin/quota-search-scanning/src/test/java/org/apache/james/quota/search/scanning/MemoryQuotaSearchTestSystemExtension.java b/mailbox/plugin/quota-search-scanning/src/test/java/org/apache/james/quota/search/scanning/MemoryQuotaSearchTestSystemExtension.java index 1be43df..325a237 100644 --- a/mailbox/plugin/quota-search-scanning/src/test/java/org/apache/james/quota/search/scanning/MemoryQuotaSearchTestSystemExtension.java +++ b/mailbox/plugin/quota-search-scanning/src/test/java/org/apache/james/quota/search/scanning/MemoryQuotaSearchTestSystemExtension.java @@ -44,7 +44,7 @@ public class MemoryQuotaSearchTestSystemExtension implements ParameterResolver { @Override public Object resolveParameter(ParameterContext parameterContext, ExtensionContext extensionContext) throws ParameterResolutionException { try { - InMemoryIntegrationResources resources = new InMemoryIntegrationResources.Factory().create(); + InMemoryIntegrationResources resources = InMemoryIntegrationResources.defaultResources(); MemoryUsersRepository usersRepository = MemoryUsersRepository.withVirtualHosting(); diff --git a/mailbox/plugin/spamassassin/src/test/java/org/apache/james/mailbox/spamassassin/SpamAssassinListenerTest.java b/mailbox/plugin/spamassassin/src/test/java/org/apache/james/mailbox/spamassassin/SpamAssassinListenerTest.java index 2a8fe0f..067c46f 100644 --- a/mailbox/plugin/spamassassin/src/test/java/org/apache/james/mailbox/spamassassin/SpamAssassinListenerTest.java +++ b/mailbox/plugin/spamassassin/src/test/java/org/apache/james/mailbox/spamassassin/SpamAssassinListenerTest.java @@ -77,7 +77,7 @@ public class SpamAssassinListenerTest { @Before public void setup() throws Exception { - StoreMailboxManager mailboxManager = spy(new InMemoryIntegrationResources.Factory().create().getMailboxManager()); + StoreMailboxManager mailboxManager = spy(InMemoryIntegrationResources.defaultResources().getMailboxManager()); SystemMailboxesProviderImpl systemMailboxesProvider = new SystemMailboxesProviderImpl(mailboxManager); when(mailboxManager.createSystemSession(USER)) .thenReturn(MAILBOX_SESSION); diff --git a/mailbox/scanning-search/src/test/java/org/apache/james/mailbox/store/search/SimpleMessageSearchIndexTest.java b/mailbox/scanning-search/src/test/java/org/apache/james/mailbox/store/search/SimpleMessageSearchIndexTest.java index 2c449e1..abb5c83 100644 --- a/mailbox/scanning-search/src/test/java/org/apache/james/mailbox/store/search/SimpleMessageSearchIndexTest.java +++ b/mailbox/scanning-search/src/test/java/org/apache/james/mailbox/store/search/SimpleMessageSearchIndexTest.java @@ -31,11 +31,18 @@ public class SimpleMessageSearchIndexTest extends AbstractMessageSearchIndexTest @Override protected void initializeMailboxManager() { - InMemoryIntegrationResources resources = new InMemoryIntegrationResources.Factory() + InMemoryIntegrationResources resources = InMemoryIntegrationResources.factory() + .preProvisionnedFakeAuthenticator() + .fakeAuthorizator() + .inVmEventBus() + .defaultAnnotationLimits() + .defaultMessageParser() .searchIndex(preInstanciationStage -> new SimpleMessageSearchIndex( preInstanciationStage.getMapperFactory(), preInstanciationStage.getMapperFactory(), new PDFTextExtractor())) + .noPreDeletionHooks() + .storeQuotaManager() .create(); storeMailboxManager = resources.getMailboxManager(); diff --git a/mailbox/tools/copier/src/test/java/org/apache/james/mailbox/tools/copier/MailboxCopierTest.java b/mailbox/tools/copier/src/test/java/org/apache/james/mailbox/tools/copier/MailboxCopierTest.java index 42ba3e5..db2ae6b 100644 --- a/mailbox/tools/copier/src/test/java/org/apache/james/mailbox/tools/copier/MailboxCopierTest.java +++ b/mailbox/tools/copier/src/test/java/org/apache/james/mailbox/tools/copier/MailboxCopierTest.java @@ -136,7 +136,7 @@ public class MailboxCopierTest { * @return a new InMemoryMailboxManager */ private MailboxManager newInMemoryMailboxManager() { - return new InMemoryIntegrationResources.Factory().create().getMailboxManager(); + return InMemoryIntegrationResources.defaultResources().getMailboxManager(); } } diff --git a/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/MessageIdReIndexerImplTest.java b/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/MessageIdReIndexerImplTest.java index f1da941..e884cd8 100644 --- a/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/MessageIdReIndexerImplTest.java +++ b/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/MessageIdReIndexerImplTest.java @@ -51,7 +51,7 @@ public class MessageIdReIndexerImplTest { @BeforeEach void setUp() { - mailboxManager = new InMemoryIntegrationResources.Factory().create().getMailboxManager(); + mailboxManager = InMemoryIntegrationResources.defaultResources().getMailboxManager(); MailboxSessionMapperFactory mailboxSessionMapperFactory = mailboxManager.getMapperFactory(); messageSearchIndex = mock(ListeningMessageSearchIndex.class); reIndexer = new MessageIdReIndexerImpl(mailboxManager, mailboxSessionMapperFactory, messageSearchIndex); diff --git a/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/ReIndexerImplTest.java b/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/ReIndexerImplTest.java index b01dcf5..2ee741b 100644 --- a/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/ReIndexerImplTest.java +++ b/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/ReIndexerImplTest.java @@ -57,7 +57,7 @@ public class ReIndexerImplTest { @BeforeEach void setUp() { - mailboxManager = new InMemoryIntegrationResources.Factory().create().getMailboxManager(); + mailboxManager = InMemoryIntegrationResources.defaultResources().getMailboxManager(); MailboxSessionMapperFactory mailboxSessionMapperFactory = mailboxManager.getMapperFactory(); messageSearchIndex = mock(ListeningMessageSearchIndex.class); reIndexer = new ReIndexerImpl(new ReIndexerPerformer(mailboxManager, messageSearchIndex, mailboxSessionMapperFactory), diff --git a/mpt/impl/imap-mailbox/elasticsearch/src/test/java/org/apache/james/mpt/imapmailbox/elasticsearch/host/ElasticSearchHostSystem.java b/mpt/impl/imap-mailbox/elasticsearch/src/test/java/org/apache/james/mpt/imapmailbox/elasticsearch/host/ElasticSearchHostSystem.java index 41a0622..e60030e 100644 --- a/mpt/impl/imap-mailbox/elasticsearch/src/test/java/org/apache/james/mpt/imapmailbox/elasticsearch/host/ElasticSearchHostSystem.java +++ b/mpt/impl/imap-mailbox/elasticsearch/src/test/java/org/apache/james/mpt/imapmailbox/elasticsearch/host/ElasticSearchHostSystem.java @@ -92,9 +92,12 @@ public class ElasticSearchHostSystem extends JamesImapHostSystem { InMemoryMessageId.Factory messageIdFactory = new InMemoryMessageId.Factory(); ThreadFactory threadFactory = NamedThreadFactory.withClassName(getClass()); - InMemoryIntegrationResources resources = new InMemoryIntegrationResources.Factory() + InMemoryIntegrationResources resources = InMemoryIntegrationResources.factory() .authenticator(authenticator) .authorizator(authorizator) + .inVmEventBus() + .defaultAnnotationLimits() + .defaultMessageParser() .listeningSearchIndex(preInstanciationStage -> new ElasticSearchListeningMessageSearchIndex( preInstanciationStage.getMapperFactory(), new ElasticSearchIndexer(client, @@ -107,6 +110,8 @@ public class ElasticSearchHostSystem extends JamesImapHostSystem { MailboxElasticSearchConstants.MESSAGE_TYPE), new MessageToElasticSearchJson(new DefaultTextExtractor(), ZoneId.of("Europe/Paris"), IndexAttachments.YES), preInstanciationStage.getSessionProvider())) + .noPreDeletionHooks() + .storeQuotaManager() .create(); mailboxManager = resources.getMailboxManager(); diff --git a/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/host/InMemoryHostSystem.java b/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/host/InMemoryHostSystem.java index 8a647ff..e1c2243 100644 --- a/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/host/InMemoryHostSystem.java +++ b/mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/host/InMemoryHostSystem.java @@ -51,9 +51,15 @@ public class InMemoryHostSystem extends JamesImapHostSystem { @Override public void beforeTest() throws Exception { super.beforeTest(); - InMemoryIntegrationResources resources = new InMemoryIntegrationResources.Factory() + InMemoryIntegrationResources resources = InMemoryIntegrationResources.factory() .authenticator(authenticator) .authorizator(authorizator) + .inVmEventBus() + .defaultAnnotationLimits() + .defaultMessageParser() + .scanningSearchIndex() + .noPreDeletionHooks() + .storeQuotaManager() .create(); this.mailboxManager = resources.getMailboxManager(); this.perUserMaxQuotaManager = resources.getMaxQuotaManager(); diff --git a/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java b/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java index 21bdf90..4c10337 100644 --- a/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java +++ b/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java @@ -89,13 +89,18 @@ public class LuceneSearchHostSystem extends JamesImapHostSystem { try { FSDirectory fsDirectory = FSDirectory.open(tempFile); - InMemoryIntegrationResources resources = new InMemoryIntegrationResources.Factory() - .authorizator(authorizator) + InMemoryIntegrationResources resources = InMemoryIntegrationResources.factory() .authenticator(authenticator) + .authorizator(authorizator) + .inVmEventBus() + .defaultAnnotationLimits() + .defaultMessageParser() .listeningSearchIndex(Throwing.function(preInstanciationStage -> new LuceneMessageSearchIndex( preInstanciationStage.getMapperFactory(), new InMemoryId.Factory(), fsDirectory, new InMemoryMessageId.Factory(), preInstanciationStage.getSessionProvider()))) + .noPreDeletionHooks() + .storeQuotaManager() .create(); mailboxManager = resources.getMailboxManager(); diff --git a/mpt/impl/imap-mailbox/rabbitmq/src/test/java/org/apache/james/mpt/imapmailbox/rabbitmq/host/RabbitMQEventBusHostSystem.java b/mpt/impl/imap-mailbox/rabbitmq/src/test/java/org/apache/james/mpt/imapmailbox/rabbitmq/host/RabbitMQEventBusHostSystem.java index 2bea41e..63dfd74 100644 --- a/mpt/impl/imap-mailbox/rabbitmq/src/test/java/org/apache/james/mpt/imapmailbox/rabbitmq/host/RabbitMQEventBusHostSystem.java +++ b/mpt/impl/imap-mailbox/rabbitmq/src/test/java/org/apache/james/mpt/imapmailbox/rabbitmq/host/RabbitMQEventBusHostSystem.java @@ -75,10 +75,15 @@ public class RabbitMQEventBusHostSystem extends JamesImapHostSystem { eventBus = createEventBus(); eventBus.start(); - resources = new InMemoryIntegrationResources.Factory() - .eventBus(eventBus) + resources = InMemoryIntegrationResources.factory() .authenticator(authenticator) .authorizator(authorizator) + .eventBus(eventBus) + .defaultAnnotationLimits() + .defaultMessageParser() + .scanningSearchIndex() + .noPreDeletionHooks() + .storeQuotaManager() .create(); ImapProcessor defaultImapProcessorFactory = diff --git a/server/container/mailbox-jmx/src/test/java/org/apache/james/adapter/mailbox/MailboxManagementTest.java b/server/container/mailbox-jmx/src/test/java/org/apache/james/adapter/mailbox/MailboxManagementTest.java index 3f72587..d47dda1 100644 --- a/server/container/mailbox-jmx/src/test/java/org/apache/james/adapter/mailbox/MailboxManagementTest.java +++ b/server/container/mailbox-jmx/src/test/java/org/apache/james/adapter/mailbox/MailboxManagementTest.java @@ -55,7 +55,7 @@ public class MailboxManagementTest { @BeforeEach void setUp() throws Exception { - StoreMailboxManager mailboxManager = new InMemoryIntegrationResources.Factory().create().getMailboxManager(); + StoreMailboxManager mailboxManager = InMemoryIntegrationResources.defaultResources().getMailboxManager(); mapperFactory = mailboxManager.getMapperFactory(); mailboxManagerManagement = new MailboxManagerManagement(); diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/MailboxAppenderTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/MailboxAppenderTest.java index b9a15eb..39f377e 100644 --- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/MailboxAppenderTest.java +++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/MailboxAppenderTest.java @@ -60,7 +60,7 @@ public class MailboxAppenderTest { .data("toto")) .build(); - mailboxManager = new InMemoryIntegrationResources.Factory().create().getMailboxManager(); + mailboxManager = InMemoryIntegrationResources.defaultResources().getMailboxManager(); testee = new MailboxAppender(mailboxManager); session = mailboxManager.createSystemSession("TEST"); diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/IsOverQuotaTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/IsOverQuotaTest.java index 3a5bf9b..53b49b1 100644 --- a/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/IsOverQuotaTest.java +++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/matchers/IsOverQuotaTest.java @@ -50,7 +50,7 @@ public class IsOverQuotaTest { @Before public void setUp() throws Exception { - InMemoryIntegrationResources resources = new InMemoryIntegrationResources.Factory().create(); + InMemoryIntegrationResources resources = InMemoryIntegrationResources.defaultResources(); mailboxManager = resources.getMailboxManager(); quotaRootResolver = resources.getDefaultUserQuotaRootResolver(); diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/DefaultMailboxesProvisioningFilterTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/DefaultMailboxesProvisioningFilterTest.java index 054cb6e..2bdaeae 100644 --- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/DefaultMailboxesProvisioningFilterTest.java +++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/DefaultMailboxesProvisioningFilterTest.java @@ -49,7 +49,7 @@ public class DefaultMailboxesProvisioningFilterTest { public void before() throws Exception { session = MailboxSessionUtil.create(USERNAME); - mailboxManager = new InMemoryIntegrationResources.Factory().create().getMailboxManager(); + mailboxManager = InMemoryIntegrationResources.defaultResources().getMailboxManager(); subscriptionManager = new StoreSubscriptionManager(mailboxManager.getMapperFactory()); testee = new DefaultMailboxesProvisioningFilter(mailboxManager, subscriptionManager, new NoopMetricFactory()); } diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/event/PropagateLookupRightListenerTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/event/PropagateLookupRightListenerTest.java index 637973d..0dc5e25 100644 --- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/event/PropagateLookupRightListenerTest.java +++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/event/PropagateLookupRightListenerTest.java @@ -72,7 +72,7 @@ public class PropagateLookupRightListenerTest { @Before public void setup() throws Exception { - InMemoryIntegrationResources resources = new InMemoryIntegrationResources.Factory().create(); + InMemoryIntegrationResources resources = InMemoryIntegrationResources.defaultResources(); storeMailboxManager = resources.getMailboxManager(); storeRightManager = resources.getStoreRightManager(); mailboxMapper = storeMailboxManager.getMapperFactory(); diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/mailet/filter/JMAPFilteringExtension.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/mailet/filter/JMAPFilteringExtension.java index d94e3c2..4517a42 100644 --- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/mailet/filter/JMAPFilteringExtension.java +++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/mailet/filter/JMAPFilteringExtension.java @@ -131,7 +131,7 @@ public class JMAPFilteringExtension implements BeforeEachCallback, ParameterReso public void beforeEach(ExtensionContext extensionContext) { FilteringManagement filteringManagement = new EventSourcingFilteringManagement(new InMemoryEventStore()); MemoryUsersRepository usersRepository = MemoryUsersRepository.withoutVirtualHosting(); - InMemoryMailboxManager mailboxManager = new InMemoryIntegrationResources.Factory().create().getMailboxManager(); + InMemoryMailboxManager mailboxManager = InMemoryIntegrationResources.defaultResources().getMailboxManager(); ActionApplier.Factory actionApplierFactory = ActionApplier.factory(mailboxManager, new InMemoryId.Factory()); JMAPFiltering jmapFiltering = new JMAPFiltering(filteringManagement, usersRepository, actionApplierFactory); diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/GetMailboxesMethodTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/GetMailboxesMethodTest.java index cf9c4d4..3f53967 100644 --- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/GetMailboxesMethodTest.java +++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/GetMailboxesMethodTest.java @@ -70,7 +70,7 @@ public class GetMailboxesMethodTest { @Before public void setup() throws Exception { clientId = ClientId.of("#0"); - mailboxManager = new InMemoryIntegrationResources.Factory().create().getMailboxManager(); + mailboxManager = InMemoryIntegrationResources.defaultResources().getMailboxManager(); QuotaRootResolver quotaRootResolver = mailboxManager.getQuotaComponents().getQuotaRootResolver(); QuotaManager quotaManager = mailboxManager.getQuotaComponents().getQuotaManager(); mailboxFactory = new MailboxFactory(mailboxManager, quotaManager, quotaRootResolver); diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/GetMessagesMethodTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/GetMessagesMethodTest.java index 2745cfd..dd85d71 100644 --- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/GetMessagesMethodTest.java +++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/GetMessagesMethodTest.java @@ -104,7 +104,7 @@ public class GetMessagesMethodTest { BlobManager blobManager = mock(BlobManager.class); when(blobManager.toBlobId(any(MessageId.class))).thenReturn(BlobId.fromString("fake")); MessageFactory messageFactory = new MessageFactory(blobManager, messagePreview, messageContentExtractor, htmlTextExtractor); - InMemoryIntegrationResources resources = new InMemoryIntegrationResources.Factory().create(); + InMemoryIntegrationResources resources = InMemoryIntegrationResources.defaultResources(); mailboxManager = resources.getMailboxManager(); session = MailboxSessionUtil.create(ROBERT.asString()); diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/MailboxFactoryTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/MailboxFactoryTest.java index 68bd014..34e8e34 100644 --- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/MailboxFactoryTest.java +++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/MailboxFactoryTest.java @@ -57,7 +57,7 @@ public class MailboxFactoryTest { @Before public void setup() throws Exception { - mailboxManager = new InMemoryIntegrationResources.Factory().create().getMailboxManager(); + mailboxManager = InMemoryIntegrationResources.defaultResources().getMailboxManager(); QuotaRootResolver quotaRootResolver = mailboxManager.getQuotaComponents().getQuotaRootResolver(); QuotaManager quotaManager = mailboxManager.getQuotaComponents().getQuotaManager(); diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/send/PostDequeueDecoratorTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/send/PostDequeueDecoratorTest.java index 3eb32d5..6faaaa7 100644 --- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/send/PostDequeueDecoratorTest.java +++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/send/PostDequeueDecoratorTest.java @@ -80,7 +80,7 @@ public class PostDequeueDecoratorTest { @Before public void init() throws Exception { - InMemoryIntegrationResources resources = new InMemoryIntegrationResources.Factory().create(); + InMemoryIntegrationResources resources = InMemoryIntegrationResources.defaultResources(); mailboxManager = resources.getMailboxManager(); mockedMailQueueItem = mock(MailQueueItem.class); diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/utils/MailboxUtilsTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/utils/MailboxUtilsTest.java index 924222e..28a29ed 100644 --- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/utils/MailboxUtilsTest.java +++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/utils/MailboxUtilsTest.java @@ -38,7 +38,7 @@ public class MailboxUtilsTest { @Before public void setup() throws Exception { - mailboxManager = new InMemoryIntegrationResources.Factory().create().getMailboxManager(); + mailboxManager = InMemoryIntegrationResources.defaultResources().getMailboxManager(); user = "[email protected]"; mailboxSession = mailboxManager.createSystemSession(user); sut = new MailboxUtils(mailboxManager); diff --git a/server/protocols/protocols-pop3/src/test/java/org/apache/james/pop3server/POP3ServerTest.java b/server/protocols/protocols-pop3/src/test/java/org/apache/james/pop3server/POP3ServerTest.java index d5730a8..cc6c66a 100644 --- a/server/protocols/protocols-pop3/src/test/java/org/apache/james/pop3server/POP3ServerTest.java +++ b/server/protocols/protocols-pop3/src/test/java/org/apache/james/pop3server/POP3ServerTest.java @@ -711,7 +711,7 @@ public class POP3ServerTest { protocolHandlerChain = new MockProtocolHandlerLoader(); protocolHandlerChain.put("usersrepository", UsersRepository.class, usersRepository); - mailboxManager = new InMemoryIntegrationResources.Factory() + mailboxManager = InMemoryIntegrationResources.factory() .authenticator((userid, passwd) -> { try { return usersRepository.test(userid, passwd.toString()); @@ -719,7 +719,15 @@ public class POP3ServerTest { e.printStackTrace(); return false; } - }).create() + }) + .fakeAuthorizator() + .inVmEventBus() + .defaultAnnotationLimits() + .defaultMessageParser() + .scanningSearchIndex() + .noPreDeletionHooks() + .storeQuotaManager() + .create() .getMailboxManager(); protocolHandlerChain.put("mailboxmanager", MailboxManager.class, mailboxManager); diff --git a/server/protocols/webadmin/webadmin-mailbox-deleted-message-vault/src/test/java/org/apache/james/webadmin/vault/routes/DeletedMessagesVaultRoutesTest.java b/server/protocols/webadmin/webadmin-mailbox-deleted-message-vault/src/test/java/org/apache/james/webadmin/vault/routes/DeletedMessagesVaultRoutesTest.java index 8d43961..56b977a 100644 --- a/server/protocols/webadmin/webadmin-mailbox-deleted-message-vault/src/test/java/org/apache/james/webadmin/vault/routes/DeletedMessagesVaultRoutesTest.java +++ b/server/protocols/webadmin/webadmin-mailbox-deleted-message-vault/src/test/java/org/apache/james/webadmin/vault/routes/DeletedMessagesVaultRoutesTest.java @@ -109,7 +109,7 @@ class DeletedMessagesVaultRoutesTest { @BeforeEach void beforeEach() throws Exception { vault = spy(new MemoryDeletedMessagesVault()); - InMemoryIntegrationResources inMemoryResource = new InMemoryIntegrationResources.Factory().create(); + InMemoryIntegrationResources inMemoryResource = InMemoryIntegrationResources.defaultResources(); mailboxManager = spy(inMemoryResource.getMailboxManager()); taskManager = new MemoryTaskManager(); diff --git a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ElasticSearchQuotaSearchExtension.java b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ElasticSearchQuotaSearchExtension.java index 205aef6..d1685c4 100644 --- a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ElasticSearchQuotaSearchExtension.java +++ b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ElasticSearchQuotaSearchExtension.java @@ -65,7 +65,7 @@ public class ElasticSearchQuotaSearchExtension implements ParameterResolver, Bef new TestingClientProvider(embeddedElasticSearch.getNode()).get(), ElasticSearchConfiguration.DEFAULT_CONFIGURATION); - InMemoryIntegrationResources resources = new InMemoryIntegrationResources.Factory().create(); + InMemoryIntegrationResources resources = InMemoryIntegrationResources.defaultResources(); MemoryUsersRepository usersRepository = MemoryUsersRepository.withVirtualHosting(); diff --git a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ReindexingRoutesTest.java b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ReindexingRoutesTest.java index f1f016d..6550dcb 100644 --- a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ReindexingRoutesTest.java +++ b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ReindexingRoutesTest.java @@ -76,7 +76,7 @@ class ReindexingRoutesTest { @BeforeEach void beforeEach() throws Exception { - mailboxManager = new InMemoryIntegrationResources.Factory().create().getMailboxManager(); + mailboxManager = InMemoryIntegrationResources.defaultResources().getMailboxManager(); MemoryTaskManager taskManager = new MemoryTaskManager(); InMemoryId.Factory mailboxIdFactory = new InMemoryId.Factory(); searchIndex = mock(ListeningMessageSearchIndex.class); diff --git a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ScanningQuotaSearchExtension.java b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ScanningQuotaSearchExtension.java index 273402b..51bddb4 100644 --- a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ScanningQuotaSearchExtension.java +++ b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ScanningQuotaSearchExtension.java @@ -45,7 +45,7 @@ public class ScanningQuotaSearchExtension implements ParameterResolver, BeforeEa @Override public void beforeEach(ExtensionContext context) { try { - InMemoryIntegrationResources resources = new InMemoryIntegrationResources.Factory().create(); + InMemoryIntegrationResources resources = InMemoryIntegrationResources.defaultResources(); MemoryUsersRepository usersRepository = MemoryUsersRepository.withVirtualHosting(); diff --git a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java index 9b8634e..0e4401a 100644 --- a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java +++ b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java @@ -95,7 +95,7 @@ class UserMailboxesRoutesTest { @BeforeEach void setUp() throws Exception { - createServer(new InMemoryIntegrationResources.Factory().create().getMailboxManager()); + createServer(InMemoryIntegrationResources.defaultResources().getMailboxManager()); } @Test --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
