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:33 UTC
[james-project] 25/33: JAMES-2684 Provide an explicit
staged-factory for InMemoryIntegrationResources
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 <bt...@linagora.com>
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 = "user@domain.org";
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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org