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 239d17c1990087cece497b18b096233e7098f563 Author: Benoit Tellier <[email protected]> AuthorDate: Fri Mar 15 12:04:13 2019 +0700 JAMES-2687 Use InMemoryIntegrationResources for SearchIndex tests --- .../ElasticSearchIntegrationTest.java | 89 +++++----------------- .../search/LuceneMessageSearchIndexTest.java | 73 ++++-------------- .../manager/InMemoryIntegrationResources.java | 65 +++++++++++++--- .../james/vault/DeletedMessageVaultHookTest.java | 2 +- .../store/search/SimpleMessageSearchIndexTest.java | 27 +++---- 5 files changed, 99 insertions(+), 157 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 cf4325f..308ac72 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 @@ -33,33 +33,17 @@ import org.apache.james.backends.es.utils.TestingClientProvider; import org.apache.james.mailbox.MailboxSession; import org.apache.james.mailbox.MailboxSessionUtil; import org.apache.james.mailbox.MessageManager; -import org.apache.james.mailbox.acl.SimpleGroupMembershipResolver; -import org.apache.james.mailbox.acl.UnionMailboxACLResolver; import org.apache.james.mailbox.elasticsearch.events.ElasticSearchListeningMessageSearchIndex; import org.apache.james.mailbox.elasticsearch.json.MessageToElasticSearchJson; import org.apache.james.mailbox.elasticsearch.query.CriterionConverter; import org.apache.james.mailbox.elasticsearch.query.QueryConverter; import org.apache.james.mailbox.elasticsearch.search.ElasticSearchSearcher; -import org.apache.james.mailbox.events.InVMEventBus; -import org.apache.james.mailbox.events.delivery.InVmEventDelivery; import org.apache.james.mailbox.inmemory.InMemoryId; -import org.apache.james.mailbox.inmemory.InMemoryMailboxManager; -import org.apache.james.mailbox.inmemory.InMemoryMailboxSessionMapperFactory; import org.apache.james.mailbox.inmemory.InMemoryMessageId; -import org.apache.james.mailbox.manager.ManagerTestProvisionner; +import org.apache.james.mailbox.inmemory.manager.InMemoryIntegrationResources; import org.apache.james.mailbox.model.ComposedMessageId; import org.apache.james.mailbox.model.MailboxPath; import org.apache.james.mailbox.model.SearchQuery; -import org.apache.james.mailbox.store.FakeAuthenticator; -import org.apache.james.mailbox.store.FakeAuthorizator; -import org.apache.james.mailbox.store.JVMMailboxPathLocker; -import org.apache.james.mailbox.store.PreDeletionHooks; -import org.apache.james.mailbox.store.SessionProvider; -import org.apache.james.mailbox.store.StoreMailboxAnnotationManager; -import org.apache.james.mailbox.store.StoreMessageIdManager; -import org.apache.james.mailbox.store.StoreRightManager; -import org.apache.james.mailbox.store.mail.model.impl.MessageParser; -import org.apache.james.mailbox.store.quota.QuotaComponents; import org.apache.james.mailbox.store.search.AbstractMessageSearchIndexTest; import org.apache.james.mailbox.tika.TikaConfiguration; import org.apache.james.mailbox.tika.TikaContainerSingletonRule; @@ -113,59 +97,28 @@ public class ElasticSearchIntegrationTest extends AbstractMessageSearchIndexTest Client client = MailboxIndexCreationUtil.prepareDefaultClient( new TestingClientProvider(embeddedElasticSearch.getNode()).get(), ElasticSearchConfiguration.DEFAULT_CONFIGURATION); - - FakeAuthenticator fakeAuthenticator = new FakeAuthenticator(); - fakeAuthenticator.addUser(ManagerTestProvisionner.USER, ManagerTestProvisionner.USER_PASS); - fakeAuthenticator.addUser(ManagerTestProvisionner.OTHER_USER, ManagerTestProvisionner.OTHER_USER_PASS); - InMemoryMailboxSessionMapperFactory mailboxSessionMapperFactory = new InMemoryMailboxSessionMapperFactory(); - InVMEventBus eventBus = new InVMEventBus(new InVmEventDelivery(new NoopMetricFactory())); - StoreRightManager storeRightManager = new StoreRightManager(mailboxSessionMapperFactory, new UnionMailboxACLResolver(), - new SimpleGroupMembershipResolver(), eventBus); - StoreMailboxAnnotationManager annotationManager = new StoreMailboxAnnotationManager(mailboxSessionMapperFactory, storeRightManager); InMemoryMessageId.Factory messageIdFactory = new InMemoryMessageId.Factory(); - - SessionProvider sessionProvider = new SessionProvider(fakeAuthenticator, FakeAuthorizator.defaultReject()); - QuotaComponents quotaComponents = QuotaComponents.disabled(sessionProvider, mailboxSessionMapperFactory); - ThreadFactory threadFactory = NamedThreadFactory.withClassName(getClass()); - ElasticSearchListeningMessageSearchIndex elasticSearchListeningMessageSearchIndex = new ElasticSearchListeningMessageSearchIndex( - mailboxSessionMapperFactory, - new ElasticSearchIndexer(client, - Executors.newSingleThreadExecutor(threadFactory), - MailboxElasticSearchConstants.DEFAULT_MAILBOX_WRITE_ALIAS, - MailboxElasticSearchConstants.MESSAGE_TYPE, - BATCH_SIZE), - new ElasticSearchSearcher(client, new QueryConverter(new CriterionConverter()), SEARCH_SIZE, - new InMemoryId.Factory(), messageIdFactory, - MailboxElasticSearchConstants.DEFAULT_MAILBOX_READ_ALIAS, - MailboxElasticSearchConstants.MESSAGE_TYPE), - new MessageToElasticSearchJson(textExtractor, ZoneId.of("Europe/Paris"), IndexAttachments.YES), - new SessionProvider(new FakeAuthenticator(), FakeAuthorizator.defaultReject())); - - storeMailboxManager = new InMemoryMailboxManager( - mailboxSessionMapperFactory, - sessionProvider, - new JVMMailboxPathLocker(), - new MessageParser(), - messageIdFactory, - eventBus, - annotationManager, - storeRightManager, - quotaComponents, - elasticSearchListeningMessageSearchIndex, - PreDeletionHooks.NO_PRE_DELETION_HOOK); - - messageIdManager = new StoreMessageIdManager( - storeMailboxManager, - storeMailboxManager.getMapperFactory(), - eventBus, - storeMailboxManager.getMessageIdFactory(), - quotaComponents.getQuotaManager(), - quotaComponents.getQuotaRootResolver(), - PreDeletionHooks.NO_PRE_DELETION_HOOK); - - eventBus.register(elasticSearchListeningMessageSearchIndex); - this.messageSearchIndex = elasticSearchListeningMessageSearchIndex; + + InMemoryIntegrationResources resources = new InMemoryIntegrationResources.Factory() + .withSearchIndex(preInstanciationStage -> new ElasticSearchListeningMessageSearchIndex( + preInstanciationStage.getMapperFactory(), + new ElasticSearchIndexer(client, + Executors.newSingleThreadExecutor(threadFactory), + MailboxElasticSearchConstants.DEFAULT_MAILBOX_WRITE_ALIAS, + MailboxElasticSearchConstants.MESSAGE_TYPE, + BATCH_SIZE), + new ElasticSearchSearcher(client, new QueryConverter(new CriterionConverter()), SEARCH_SIZE, + new InMemoryId.Factory(), messageIdFactory, + MailboxElasticSearchConstants.DEFAULT_MAILBOX_READ_ALIAS, + MailboxElasticSearchConstants.MESSAGE_TYPE), + new MessageToElasticSearchJson(textExtractor, ZoneId.of("Europe/Paris"), IndexAttachments.YES), + preInstanciationStage.getSessionProvider())) + .create(); + + storeMailboxManager = resources.getMailboxManager(); + messageIdManager = resources.getMessageIdManager(); + messageSearchIndex = resources.getSearchIndex(); } @Test 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 ee41577..1075879 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 @@ -19,31 +19,16 @@ package org.apache.james.mailbox.lucene.search; -import org.apache.james.mailbox.acl.SimpleGroupMembershipResolver; -import org.apache.james.mailbox.acl.UnionMailboxACLResolver; -import org.apache.james.mailbox.events.InVMEventBus; -import org.apache.james.mailbox.events.delivery.InVmEventDelivery; import org.apache.james.mailbox.exception.MailboxException; import org.apache.james.mailbox.inmemory.InMemoryId; -import org.apache.james.mailbox.inmemory.InMemoryMailboxManager; -import org.apache.james.mailbox.inmemory.InMemoryMailboxSessionMapperFactory; import org.apache.james.mailbox.inmemory.InMemoryMessageId; -import org.apache.james.mailbox.manager.ManagerTestProvisionner; -import org.apache.james.mailbox.store.FakeAuthenticator; -import org.apache.james.mailbox.store.FakeAuthorizator; -import org.apache.james.mailbox.store.JVMMailboxPathLocker; -import org.apache.james.mailbox.store.PreDeletionHooks; -import org.apache.james.mailbox.store.SessionProvider; -import org.apache.james.mailbox.store.StoreMailboxAnnotationManager; -import org.apache.james.mailbox.store.StoreMessageIdManager; -import org.apache.james.mailbox.store.StoreRightManager; -import org.apache.james.mailbox.store.mail.model.impl.MessageParser; -import org.apache.james.mailbox.store.quota.QuotaComponents; +import org.apache.james.mailbox.inmemory.manager.InMemoryIntegrationResources; import org.apache.james.mailbox.store.search.AbstractMessageSearchIndexTest; -import org.apache.james.metrics.api.NoopMetricFactory; import org.apache.lucene.store.RAMDirectory; import org.junit.Ignore; +import com.github.fge.lambdas.Throwing; + public class LuceneMessageSearchIndexTest extends AbstractMessageSearchIndexTest { @Override @@ -51,47 +36,17 @@ public class LuceneMessageSearchIndexTest extends AbstractMessageSearchIndexTest } @Override - protected void initializeMailboxManager() throws Exception { - FakeAuthenticator fakeAuthenticator = new FakeAuthenticator(); - fakeAuthenticator.addUser(ManagerTestProvisionner.USER, ManagerTestProvisionner.USER_PASS); - fakeAuthenticator.addUser(ManagerTestProvisionner.OTHER_USER, ManagerTestProvisionner.OTHER_USER_PASS); - InMemoryMailboxSessionMapperFactory mailboxSessionMapperFactory = new InMemoryMailboxSessionMapperFactory(); - InVMEventBus eventBus = new InVMEventBus(new InVmEventDelivery(new NoopMetricFactory())); - StoreRightManager storeRightManager = new StoreRightManager(mailboxSessionMapperFactory, new UnionMailboxACLResolver(), new SimpleGroupMembershipResolver(), eventBus); - StoreMailboxAnnotationManager annotationManager = new StoreMailboxAnnotationManager(mailboxSessionMapperFactory, storeRightManager); - - SessionProvider sessionProvider = new SessionProvider(fakeAuthenticator, FakeAuthorizator.defaultReject()); - QuotaComponents quotaComponents = QuotaComponents.disabled(sessionProvider, mailboxSessionMapperFactory); - InMemoryMessageId.Factory messageIdFactory = new InMemoryMessageId.Factory(); - LuceneMessageSearchIndex luceneMessageSearchIndex = new LuceneMessageSearchIndex( - mailboxSessionMapperFactory, new InMemoryId.Factory(), new RAMDirectory(), - messageIdFactory, - new SessionProvider(new FakeAuthenticator(), FakeAuthorizator.defaultReject())); - - storeMailboxManager = new InMemoryMailboxManager( - mailboxSessionMapperFactory, - sessionProvider, - new JVMMailboxPathLocker(), - new MessageParser(), - messageIdFactory, - eventBus, - annotationManager, - storeRightManager, - quotaComponents, - luceneMessageSearchIndex, - PreDeletionHooks.NO_PRE_DELETION_HOOK); - - messageIdManager = new StoreMessageIdManager( - storeMailboxManager, - storeMailboxManager.getMapperFactory(), - eventBus, - storeMailboxManager.getMessageIdFactory(), - quotaComponents.getQuotaManager(), - quotaComponents.getQuotaRootResolver(), - PreDeletionHooks.NO_PRE_DELETION_HOOK); - - eventBus.register(luceneMessageSearchIndex); - this.messageSearchIndex = luceneMessageSearchIndex; + protected void initializeMailboxManager() { + InMemoryIntegrationResources resources = new InMemoryIntegrationResources.Factory() + .withSearchIndex(Throwing.function(preInstanciationStage -> new LuceneMessageSearchIndex( + preInstanciationStage.getMapperFactory(), new InMemoryId.Factory(), new RAMDirectory(), + new InMemoryMessageId.Factory(), + preInstanciationStage.getSessionProvider()))) + .create(); + + storeMailboxManager = resources.getMailboxManager(); + messageIdManager = resources.getMessageIdManager(); + messageSearchIndex = resources.getSearchIndex(); } @Ignore 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 0dc9586..31510d4 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 @@ -21,7 +21,7 @@ package org.apache.james.mailbox.inmemory.manager; import java.util.Collection; import java.util.Optional; -import java.util.function.BiFunction; +import java.util.function.Function; import org.apache.james.mailbox.MessageIdManager; import org.apache.james.mailbox.acl.GroupMembershipResolver; @@ -29,6 +29,7 @@ import org.apache.james.mailbox.acl.SimpleGroupMembershipResolver; import org.apache.james.mailbox.acl.UnionMailboxACLResolver; import org.apache.james.mailbox.events.EventBus; import org.apache.james.mailbox.events.InVMEventBus; +import org.apache.james.mailbox.events.MailboxListener; import org.apache.james.mailbox.events.delivery.InVmEventDelivery; import org.apache.james.mailbox.extension.PreDeletionHook; import org.apache.james.mailbox.inmemory.InMemoryMailboxManager; @@ -75,7 +76,8 @@ public class InMemoryIntegrationResources implements IntegrationResources<StoreM private Optional<EventBus> eventBus; private Optional<Integer> limitAnnotationCount; private Optional<Integer> limitAnnotationSize; - private ImmutableSet.Builder<BiFunction<SessionProvider, InMemoryMailboxSessionMapperFactory, PreDeletionHook>> preDeletionHooksInstanciators; + private Optional<Function<MailboxManagerPreInstanciationStage, MessageSearchIndex>> searchIndexInstanciator; + private ImmutableSet.Builder<Function<MailboxManagerPreInstanciationStage, PreDeletionHook>> preDeletionHooksInstanciators; public Factory() { this.authenticator = Optional.empty(); @@ -83,6 +85,7 @@ public class InMemoryIntegrationResources implements IntegrationResources<StoreM this.eventBus = Optional.empty(); this.limitAnnotationCount = Optional.empty(); this.limitAnnotationSize = Optional.empty(); + this.searchIndexInstanciator = Optional.empty(); this.preDeletionHooksInstanciators = ImmutableSet.builder(); } @@ -114,13 +117,18 @@ public class InMemoryIntegrationResources implements IntegrationResources<StoreM return this; } - public Factory withPreDeletionHook(BiFunction<SessionProvider, InMemoryMailboxSessionMapperFactory, PreDeletionHook> preDeletionHook) { + public Factory withPreDeletionHook(Function<MailboxManagerPreInstanciationStage, PreDeletionHook> preDeletionHook) { this.preDeletionHooksInstanciators.add(preDeletionHook); return this; } - private BiFunction<SessionProvider, InMemoryMailboxSessionMapperFactory, PreDeletionHook> toInstanciator(PreDeletionHook preDeletionHook) { - return (a, b) -> preDeletionHook; + public Factory withSearchIndex(Function<MailboxManagerPreInstanciationStage, MessageSearchIndex> searchIndex) { + this.searchIndexInstanciator = Optional.of(searchIndex); + return this; + } + + private Function<MailboxManagerPreInstanciationStage, PreDeletionHook> toInstanciator(PreDeletionHook preDeletionHook) { + return any -> preDeletionHook; } public InMemoryIntegrationResources create() { @@ -143,7 +151,11 @@ public class InMemoryIntegrationResources implements IntegrationResources<StoreM ListeningCurrentQuotaUpdater listeningCurrentQuotaUpdater = new ListeningCurrentQuotaUpdater(currentQuotaManager, quotaRootResolver, eventBus, quotaManager); QuotaComponents quotaComponents = new QuotaComponents(maxQuotaManager, quotaManager, quotaRootResolver, listeningCurrentQuotaUpdater); - MessageSearchIndex index = new SimpleMessageSearchIndex(mailboxSessionMapperFactory, mailboxSessionMapperFactory, new DefaultTextExtractor()); + MailboxManagerPreInstanciationStage preInstanciationStage = new MailboxManagerPreInstanciationStage(mailboxSessionMapperFactory, sessionProvider); + + MessageSearchIndex index = searchIndexInstanciator + .orElse(stage -> new SimpleMessageSearchIndex(stage.mapperFactory, stage.mapperFactory, new DefaultTextExtractor())) + .apply(preInstanciationStage); InMemoryMailboxManager manager = new InMemoryMailboxManager( mailboxSessionMapperFactory, @@ -156,12 +168,16 @@ public class InMemoryIntegrationResources implements IntegrationResources<StoreM storeRightManager, quotaComponents, index, - createHooks(sessionProvider, mailboxSessionMapperFactory)); + createHooks(preInstanciationStage)); eventBus.register(listeningCurrentQuotaUpdater); eventBus.register(new MailboxAnnotationListener(mailboxSessionMapperFactory, sessionProvider)); - return new InMemoryIntegrationResources(manager, storeRightManager, new InMemoryMessageId.Factory(), currentQuotaManager, quotaRootResolver, maxQuotaManager, quotaManager); + if (index instanceof MailboxListener.GroupMailboxListener) { + eventBus.register((MailboxListener.GroupMailboxListener) index); + } + + return new InMemoryIntegrationResources(manager, storeRightManager, new InMemoryMessageId.Factory(), currentQuotaManager, quotaRootResolver, maxQuotaManager, quotaManager, index); } FakeAuthenticator defaultAuthenticator() { @@ -171,14 +187,33 @@ public class InMemoryIntegrationResources implements IntegrationResources<StoreM return fakeAuthenticator; } - PreDeletionHooks createHooks(SessionProvider sessionProvider, InMemoryMailboxSessionMapperFactory mailboxSessionMapperFactory) { + PreDeletionHooks createHooks(MailboxManagerPreInstanciationStage preInstanciationStage) { return new PreDeletionHooks(preDeletionHooksInstanciators.build() .stream() - .map(biFunction -> biFunction.apply(sessionProvider, mailboxSessionMapperFactory)) + .map(biFunction -> biFunction.apply(preInstanciationStage)) .collect(Guavate.toImmutableSet())); } } + public static class MailboxManagerPreInstanciationStage { + private final InMemoryMailboxSessionMapperFactory mapperFactory; + private final SessionProvider sessionProvider; + + public MailboxManagerPreInstanciationStage(InMemoryMailboxSessionMapperFactory mapperFactory, SessionProvider sessionProvider) { + this.mapperFactory = mapperFactory; + this.sessionProvider = sessionProvider; + } + + public InMemoryMailboxSessionMapperFactory getMapperFactory() { + return mapperFactory; + } + + public SessionProvider getSessionProvider() { + return sessionProvider; + } + } + + private final InMemoryMailboxManager mailboxManager; private final StoreRightManager storeRightManager; private final MessageId.Factory messageIdFactory; @@ -186,9 +221,10 @@ public class InMemoryIntegrationResources implements IntegrationResources<StoreM private final DefaultUserQuotaRootResolver defaultUserQuotaRootResolver; private final InMemoryPerUserMaxQuotaManager maxQuotaManager; private final QuotaManager quotaManager; - private StoreMessageIdManager storeMessageIdManager; + private final StoreMessageIdManager storeMessageIdManager; + private final MessageSearchIndex searchIndex; - InMemoryIntegrationResources(InMemoryMailboxManager mailboxManager, StoreRightManager storeRightManager, MessageId.Factory messageIdFactory, InMemoryCurrentQuotaManager currentQuotaManager, DefaultUserQuotaRootResolver defaultUserQuotaRootResolver, InMemoryPerUserMaxQuotaManager maxQuotaManager, QuotaManager quotaManager) { + InMemoryIntegrationResources(InMemoryMailboxManager mailboxManager, StoreRightManager storeRightManager, MessageId.Factory messageIdFactory, InMemoryCurrentQuotaManager currentQuotaManager, DefaultUserQuotaRootResolver defaultUserQuotaRootResolver, InMemoryPerUserMaxQuotaManager maxQuotaManager, QuotaManager quotaManager, MessageSearchIndex searchIndex) { this.mailboxManager = mailboxManager; this.storeRightManager = storeRightManager; this.messageIdFactory = messageIdFactory; @@ -196,6 +232,7 @@ public class InMemoryIntegrationResources implements IntegrationResources<StoreM this.defaultUserQuotaRootResolver = defaultUserQuotaRootResolver; this.maxQuotaManager = maxQuotaManager; this.quotaManager = quotaManager; + this.searchIndex = searchIndex; this.storeMessageIdManager = new StoreMessageIdManager( mailboxManager, @@ -243,4 +280,8 @@ public class InMemoryIntegrationResources implements IntegrationResources<StoreM public QuotaRootResolver getQuotaRootResolver() { return defaultUserQuotaRootResolver; } + + public MessageSearchIndex getSearchIndex() { + return searchIndex; + } } 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 ecb271b..d7b4df4 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 @@ -99,7 +99,7 @@ class DeletedMessageVaultHookTest { DeletedMessageConverter deletedMessageConverter = new DeletedMessageConverter(); InMemoryIntegrationResources resources = new InMemoryIntegrationResources.Factory() - .withPreDeletionHook((sessionProvider, mapperFactory) -> new DeletedMessageVaultHook(sessionProvider, messageVault, deletedMessageConverter, mapperFactory, clock)) + .withPreDeletionHook(preInstanciationStage -> new DeletedMessageVaultHook(preInstanciationStage.getSessionProvider(), messageVault, deletedMessageConverter, preInstanciationStage.getMapperFactory(), clock)) .create(); mailboxManager = resources.getMailboxManager(); 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 f4d2c74..bfbb547 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 @@ -21,8 +21,6 @@ package org.apache.james.mailbox.store.search; import org.apache.james.mailbox.exception.MailboxException; import org.apache.james.mailbox.inmemory.manager.InMemoryIntegrationResources; -import org.apache.james.mailbox.store.PreDeletionHooks; -import org.apache.james.mailbox.store.StoreMessageIdManager; import org.junit.Ignore; public class SimpleMessageSearchIndexTest extends AbstractMessageSearchIndexTest { @@ -33,21 +31,16 @@ public class SimpleMessageSearchIndexTest extends AbstractMessageSearchIndexTest @Override protected void initializeMailboxManager() { - storeMailboxManager = new InMemoryIntegrationResources.Factory().create().getMailboxManager(); - - messageSearchIndex = new SimpleMessageSearchIndex( - storeMailboxManager.getMapperFactory(), - storeMailboxManager.getMapperFactory(), - new PDFTextExtractor()); - - messageIdManager = new StoreMessageIdManager( - storeMailboxManager, - storeMailboxManager.getMapperFactory(), - storeMailboxManager.getEventBus(), - storeMailboxManager.getMessageIdFactory(), - storeMailboxManager.getQuotaComponents().getQuotaManager(), - storeMailboxManager.getQuotaComponents().getQuotaRootResolver(), - PreDeletionHooks.NO_PRE_DELETION_HOOK); + InMemoryIntegrationResources resources = new InMemoryIntegrationResources.Factory() + .withSearchIndex(preInstanciationStage -> new SimpleMessageSearchIndex( + preInstanciationStage.getMapperFactory(), + preInstanciationStage.getMapperFactory(), + new PDFTextExtractor())) + .create(); + + storeMailboxManager = resources.getMailboxManager(); + messageIdManager = resources.getMessageIdManager(); + messageSearchIndex = resources.getSearchIndex(); } /** --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
