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 96dd61e821cdbd91fbe39097fef12086188c93c6 Author: Benoit TELLIER <[email protected]> AuthorDate: Tue Sep 30 07:56:11 2025 +0200 [REMOVAL] Relocate useful tests into distributed-app --- .../AuthenticatedCassandraJamesServerTest.java | 16 +++++++-- .../apache/james/cassandra}/CacheSessionTest.java | 22 +++++++++---- .../james/cassandra}/CassandraNodeConfTest.java | 14 ++++++-- .../CassandraSchemaVersionStartUpCheckTest.java | 21 +++++++----- .../CassandraWithOpenSearchDisabled.java | 14 ++++++-- .../james/cassandra}/CassandraWithTikaTest.java | 13 ++++++-- .../JamesServerWithRetryConnectionTest.java | 12 +++++-- ...esWithNonCompatibleElasticSearchServerTest.java | 13 ++++++-- .../james/cassandra}/KeyspaceCreationTest.java | 21 +++++++++--- .../TestingDistributedJamesServerBuilder.java} | 38 +++++++++------------- .../src/test/resources/eml/htmlMail.eml | 0 .../CassandraSchemaVersionStartUpCheck.java | 2 +- .../test/java/org/apache/james/TikaExtension.java | 4 +-- 13 files changed, 131 insertions(+), 59 deletions(-) diff --git a/server/apps/cassandra-app/src/test/java/org/apache/james/AuthenticatedCassandraJamesServerTest.java b/server/apps/distributed-app/src/test/java/org/apache/james/cassandra/AuthenticatedCassandraJamesServerTest.java similarity index 84% rename from server/apps/cassandra-app/src/test/java/org/apache/james/AuthenticatedCassandraJamesServerTest.java rename to server/apps/distributed-app/src/test/java/org/apache/james/cassandra/AuthenticatedCassandraJamesServerTest.java index d836f072c2..73f9a3f969 100644 --- a/server/apps/cassandra-app/src/test/java/org/apache/james/AuthenticatedCassandraJamesServerTest.java +++ b/server/apps/distributed-app/src/test/java/org/apache/james/cassandra/AuthenticatedCassandraJamesServerTest.java @@ -17,12 +17,20 @@ * under the License. * ****************************************************************/ -package org.apache.james; +package org.apache.james.cassandra; import static org.assertj.core.api.Assertions.assertThatThrownBy; +import org.apache.james.CassandraExtension; +import org.apache.james.CassandraRabbitMQJamesServerMain; +import org.apache.james.DockerOpenSearchExtension; +import org.apache.james.GuiceJamesServer; +import org.apache.james.JamesServerConcreteContract; +import org.apache.james.JamesServerExtension; +import org.apache.james.SearchConfiguration; import org.apache.james.backends.cassandra.DockerCassandra; import org.apache.james.backends.cassandra.init.configuration.ClusterConfiguration; +import org.apache.james.modules.RabbitMQExtension; import org.apache.james.modules.TestJMAPServerModule; import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; @@ -43,7 +51,8 @@ class AuthenticatedCassandraJamesServerTest { JamesServerExtension testExtension = TestingDistributedJamesServerBuilder.withSearchConfiguration(SearchConfiguration.openSearch()) .extension(new DockerOpenSearchExtension()) .extension(cassandraExtension) - .server(CassandraJamesServerMain::createServer) + .extension(new RabbitMQExtension()) + .server(CassandraRabbitMQJamesServerMain::createServer) .overrideServerModule(binder -> binder.bind(ClusterConfiguration.class) .toInstance(DockerCassandra.configurationBuilder(cassandraExtension.getCassandra().getHost()) .username(CASSANDRA_USER) @@ -58,8 +67,9 @@ class AuthenticatedCassandraJamesServerTest { JamesServerExtension testExtension = TestingDistributedJamesServerBuilder.withSearchConfiguration(SearchConfiguration.openSearch()) .extension(new DockerOpenSearchExtension()) .extension(cassandraExtension) + .extension(new RabbitMQExtension()) .disableAutoStart() - .server(configuration -> CassandraJamesServerMain.createServer(configuration) + .server(configuration -> CassandraRabbitMQJamesServerMain.createServer(configuration) .overrideWith(new TestJMAPServerModule())) .overrideServerModule(binder -> binder.bind(ClusterConfiguration.class) .toInstance(DockerCassandra.configurationBuilder(cassandraExtension.getCassandra().getHost()) diff --git a/server/apps/cassandra-app/src/test/java/org/apache/james/CacheSessionTest.java b/server/apps/distributed-app/src/test/java/org/apache/james/cassandra/CacheSessionTest.java similarity index 82% rename from server/apps/cassandra-app/src/test/java/org/apache/james/CacheSessionTest.java rename to server/apps/distributed-app/src/test/java/org/apache/james/cassandra/CacheSessionTest.java index 632f54a6be..4d32221851 100644 --- a/server/apps/cassandra-app/src/test/java/org/apache/james/CacheSessionTest.java +++ b/server/apps/distributed-app/src/test/java/org/apache/james/cassandra/CacheSessionTest.java @@ -17,16 +17,25 @@ * under the License. * ****************************************************************/ -package org.apache.james; +package org.apache.james.cassandra; import static com.datastax.oss.driver.api.core.type.DataTypes.BIGINT; import static com.datastax.oss.driver.api.core.type.DataTypes.TIMEUUID; import static com.datastax.oss.driver.api.querybuilder.QueryBuilder.selectFrom; import static org.assertj.core.api.Assertions.assertThatCode; +import org.apache.james.CassandraExtension; +import org.apache.james.CassandraRabbitMQJamesConfiguration; +import org.apache.james.CassandraRabbitMQJamesServerMain; +import org.apache.james.GuiceJamesServer; +import org.apache.james.JamesServerBuilder; +import org.apache.james.JamesServerExtension; +import org.apache.james.SearchConfiguration; import org.apache.james.backends.cassandra.components.CassandraDataDefinition; import org.apache.james.backends.cassandra.init.configuration.InjectionNames; import org.apache.james.lifecycle.api.StartUpCheck; +import org.apache.james.modules.RabbitMQExtension; +import org.apache.james.modules.blobstore.BlobStoreConfiguration; import org.apache.james.modules.mailbox.CassandraCacheSessionModule; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; @@ -73,15 +82,16 @@ class CacheSessionTest { } @RegisterExtension - static JamesServerExtension testExtension = new JamesServerBuilder<CassandraJamesServerConfiguration>(tmpDir -> - CassandraJamesServerConfiguration.builder() + static JamesServerExtension testExtension = new JamesServerBuilder<CassandraRabbitMQJamesConfiguration>(tmpDir -> + CassandraRabbitMQJamesConfiguration.builder() .workingDirectory(tmpDir) .configurationFromClasspath() - .searchConfiguration(SearchConfiguration.openSearch()) + .blobStore(BlobStoreConfiguration.cassandra().deduplication().noCryptoConfig()) + .searchConfiguration(SearchConfiguration.scanning()) .build()) - .extension(new DockerOpenSearchExtension()) .extension(new CassandraExtension()) - .server(configuration -> CassandraJamesServerMain.createServer(configuration) + .extension(new RabbitMQExtension()) + .server(configuration -> CassandraRabbitMQJamesServerMain.createServer(configuration) .combineWith(new CassandraCacheSessionModule())) .overrideServerModule(binder -> Multibinder.newSetBinder(binder, CassandraDataDefinition.class, Names.named(InjectionNames.CACHE)) .addBinding() diff --git a/server/apps/cassandra-app/src/test/java/org/apache/james/CassandraNodeConfTest.java b/server/apps/distributed-app/src/test/java/org/apache/james/cassandra/CassandraNodeConfTest.java similarity index 89% rename from server/apps/cassandra-app/src/test/java/org/apache/james/CassandraNodeConfTest.java rename to server/apps/distributed-app/src/test/java/org/apache/james/cassandra/CassandraNodeConfTest.java index 76d6d178df..eab6970c81 100644 --- a/server/apps/cassandra-app/src/test/java/org/apache/james/CassandraNodeConfTest.java +++ b/server/apps/distributed-app/src/test/java/org/apache/james/cassandra/CassandraNodeConfTest.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * * under the License. * ****************************************************************/ -package org.apache.james; +package org.apache.james.cassandra; import static org.assertj.core.api.Assertions.assertThat; @@ -26,8 +26,17 @@ import java.nio.ByteBuffer; import java.nio.channels.SocketChannel; import java.nio.charset.StandardCharsets; +import org.apache.james.CassandraExtension; +import org.apache.james.CassandraRabbitMQJamesServerMain; +import org.apache.james.DockerCassandraRule; +import org.apache.james.DockerOpenSearchExtension; +import org.apache.james.GuiceJamesServer; +import org.apache.james.JamesServerBuilder; +import org.apache.james.JamesServerExtension; +import org.apache.james.SearchConfiguration; import org.apache.james.backends.cassandra.DockerCassandra; import org.apache.james.backends.cassandra.init.configuration.ClusterConfiguration; +import org.apache.james.modules.RabbitMQExtension; import org.apache.james.modules.TestJMAPServerModule; import org.apache.james.modules.protocols.ImapGuiceProbe; import org.apache.james.util.Host; @@ -45,7 +54,8 @@ class CassandraNodeConfTest { return TestingDistributedJamesServerBuilder.withSearchConfiguration(SearchConfiguration.openSearch()) .extension(new DockerOpenSearchExtension()) .extension(new CassandraExtension()) - .server(configuration -> CassandraJamesServerMain.createServer(configuration) + .extension(new RabbitMQExtension()) + .server(configuration -> CassandraRabbitMQJamesServerMain.createServer(configuration) .overrideWith(new TestJMAPServerModule())) .disableAutoStart(); } diff --git a/server/apps/cassandra-app/src/test/java/org/apache/james/modules/mailbox/CassandraSchemaVersionStartUpCheckTest.java b/server/apps/distributed-app/src/test/java/org/apache/james/cassandra/CassandraSchemaVersionStartUpCheckTest.java similarity index 89% rename from server/apps/cassandra-app/src/test/java/org/apache/james/modules/mailbox/CassandraSchemaVersionStartUpCheckTest.java rename to server/apps/distributed-app/src/test/java/org/apache/james/cassandra/CassandraSchemaVersionStartUpCheckTest.java index bb6248eda7..e31df6b038 100644 --- a/server/apps/cassandra-app/src/test/java/org/apache/james/modules/mailbox/CassandraSchemaVersionStartUpCheckTest.java +++ b/server/apps/distributed-app/src/test/java/org/apache/james/cassandra/CassandraSchemaVersionStartUpCheckTest.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * * under the License. * ****************************************************************/ -package org.apache.james.modules.mailbox; +package org.apache.james.cassandra; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; @@ -31,9 +31,8 @@ import java.nio.charset.StandardCharsets; import java.util.Optional; import org.apache.james.CassandraExtension; -import org.apache.james.CassandraJamesServerConfiguration; -import org.apache.james.CassandraJamesServerMain; -import org.apache.james.DockerOpenSearchExtension; +import org.apache.james.CassandraRabbitMQJamesConfiguration; +import org.apache.james.CassandraRabbitMQJamesServerMain; import org.apache.james.GuiceJamesServer; import org.apache.james.JamesServerBuilder; import org.apache.james.JamesServerExtension; @@ -42,6 +41,9 @@ import org.apache.james.StartUpChecksPerformer.StartUpChecksException; import org.apache.james.backends.cassandra.versions.CassandraSchemaVersionDAO; import org.apache.james.backends.cassandra.versions.CassandraSchemaVersionManager; import org.apache.james.backends.cassandra.versions.SchemaVersion; +import org.apache.james.modules.RabbitMQExtension; +import org.apache.james.modules.blobstore.BlobStoreConfiguration; +import org.apache.james.modules.mailbox.CassandraSchemaVersionStartUpCheck; import org.apache.james.modules.protocols.ImapGuiceProbe; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; @@ -59,15 +61,16 @@ class CassandraSchemaVersionStartUpCheckTest { private static CassandraSchemaVersionDAO versionDAO = mock(CassandraSchemaVersionDAO.class); @RegisterExtension - static JamesServerExtension testExtension = new JamesServerBuilder<CassandraJamesServerConfiguration>(tmpDir -> - CassandraJamesServerConfiguration.builder() + static JamesServerExtension testExtension = new JamesServerBuilder<CassandraRabbitMQJamesConfiguration>(tmpDir -> + CassandraRabbitMQJamesConfiguration.builder() .workingDirectory(tmpDir) .configurationFromClasspath() - .searchConfiguration(SearchConfiguration.openSearch()) + .blobStore(BlobStoreConfiguration.cassandra().deduplication().noCryptoConfig()) + .searchConfiguration(SearchConfiguration.scanning()) .build()) - .extension(new DockerOpenSearchExtension()) .extension(new CassandraExtension()) - .server(configuration -> CassandraJamesServerMain.createServer(configuration) + .extension(new RabbitMQExtension()) + .server(configuration -> CassandraRabbitMQJamesServerMain.createServer(configuration) .overrideWith(binder -> binder.bind(CassandraSchemaVersionDAO.class) .toInstance(versionDAO)) .overrideWith(binder -> binder.bind(CassandraSchemaVersionManager.class) diff --git a/server/apps/cassandra-app/src/test/java/org/apache/james/CassandraWithOpenSearchDisabled.java b/server/apps/distributed-app/src/test/java/org/apache/james/cassandra/CassandraWithOpenSearchDisabled.java similarity index 90% rename from server/apps/cassandra-app/src/test/java/org/apache/james/CassandraWithOpenSearchDisabled.java rename to server/apps/distributed-app/src/test/java/org/apache/james/cassandra/CassandraWithOpenSearchDisabled.java index 7168fc2855..a5ed812f0a 100644 --- a/server/apps/cassandra-app/src/test/java/org/apache/james/CassandraWithOpenSearchDisabled.java +++ b/server/apps/distributed-app/src/test/java/org/apache/james/cassandra/CassandraWithOpenSearchDisabled.java @@ -17,18 +17,25 @@ * under the License. * ****************************************************************/ -package org.apache.james; +package org.apache.james.cassandra; import static org.assertj.core.api.Assertions.assertThat; import java.nio.charset.StandardCharsets; +import org.apache.james.CassandraExtension; +import org.apache.james.CassandraRabbitMQJamesServerMain; +import org.apache.james.GuiceJamesServer; +import org.apache.james.JamesServerExtension; +import org.apache.james.MailsShouldBeWellReceivedConcreteContract; +import org.apache.james.SearchConfiguration; import org.apache.james.backends.opensearch.OpenSearchConfiguration; import org.apache.james.core.Domain; import org.apache.james.mailbox.DefaultMailboxes; import org.apache.james.mailbox.opensearch.events.OpenSearchListeningMessageSearchIndex; import org.apache.james.modules.EventDeadLettersProbe; import org.apache.james.modules.MailboxProbeImpl; +import org.apache.james.modules.RabbitMQExtension; import org.apache.james.modules.TestJMAPServerModule; import org.apache.james.util.Host; import org.apache.james.util.Port; @@ -41,11 +48,12 @@ import org.junit.jupiter.api.extension.RegisterExtension; import com.google.common.collect.ImmutableList; import com.google.common.io.Resources; -class CassandraWithOpenSearchDisabled implements MailsShouldBeWellReceivedConcreteContract { +class CassandraWithOpenSearchDisabled implements MailsShouldBeWellReceivedConcreteContract { @RegisterExtension static JamesServerExtension testExtension = TestingDistributedJamesServerBuilder.withSearchConfiguration(SearchConfiguration.openSearchDisabled()) .extension(new CassandraExtension()) - .server(configuration -> CassandraJamesServerMain.createServer(configuration) + .extension(new RabbitMQExtension()) + .server(configuration -> CassandraRabbitMQJamesServerMain.createServer(configuration) .overrideWith(new TestJMAPServerModule()) .overrideWith(binder -> binder.bind(OpenSearchConfiguration.class) .toInstance(OpenSearchConfiguration.builder() diff --git a/server/apps/cassandra-app/src/test/java/org/apache/james/CassandraWithTikaTest.java b/server/apps/distributed-app/src/test/java/org/apache/james/cassandra/CassandraWithTikaTest.java similarity index 76% rename from server/apps/cassandra-app/src/test/java/org/apache/james/CassandraWithTikaTest.java rename to server/apps/distributed-app/src/test/java/org/apache/james/cassandra/CassandraWithTikaTest.java index e9021c556b..bcdac32c22 100644 --- a/server/apps/cassandra-app/src/test/java/org/apache/james/CassandraWithTikaTest.java +++ b/server/apps/distributed-app/src/test/java/org/apache/james/cassandra/CassandraWithTikaTest.java @@ -17,8 +17,16 @@ * under the License. * ****************************************************************/ -package org.apache.james; +package org.apache.james.cassandra; +import org.apache.james.CassandraExtension; +import org.apache.james.CassandraRabbitMQJamesServerMain; +import org.apache.james.DockerOpenSearchExtension; +import org.apache.james.JamesServerConcreteContract; +import org.apache.james.JamesServerExtension; +import org.apache.james.SearchConfiguration; +import org.apache.james.TikaExtension; +import org.apache.james.modules.RabbitMQExtension; import org.apache.james.modules.TestJMAPServerModule; import org.junit.jupiter.api.extension.RegisterExtension; @@ -28,7 +36,8 @@ class CassandraWithTikaTest implements JamesServerConcreteContract { .extension(new CassandraExtension()) .extension(new TikaExtension()) .extension(new DockerOpenSearchExtension()) - .server(configuration -> CassandraJamesServerMain.createServer(configuration) + .extension(new RabbitMQExtension()) + .server(configuration -> CassandraRabbitMQJamesServerMain.createServer(configuration) .overrideWith(new TestJMAPServerModule())) .lifeCycle(JamesServerExtension.Lifecycle.PER_CLASS) .build(); diff --git a/server/apps/cassandra-app/src/test/java/org/apache/james/JamesServerWithRetryConnectionTest.java b/server/apps/distributed-app/src/test/java/org/apache/james/cassandra/JamesServerWithRetryConnectionTest.java similarity index 90% rename from server/apps/cassandra-app/src/test/java/org/apache/james/JamesServerWithRetryConnectionTest.java rename to server/apps/distributed-app/src/test/java/org/apache/james/cassandra/JamesServerWithRetryConnectionTest.java index f5afa48acb..4fdbd11fe8 100644 --- a/server/apps/cassandra-app/src/test/java/org/apache/james/JamesServerWithRetryConnectionTest.java +++ b/server/apps/distributed-app/src/test/java/org/apache/james/cassandra/JamesServerWithRetryConnectionTest.java @@ -17,7 +17,7 @@ * under the License. * ****************************************************************/ -package org.apache.james; +package org.apache.james.cassandra; import static org.assertj.core.api.Assertions.assertThat; @@ -31,6 +31,13 @@ import java.util.concurrent.Executors; import java.util.concurrent.ThreadFactory; import java.util.concurrent.TimeUnit; +import org.apache.james.CassandraExtension; +import org.apache.james.CassandraRabbitMQJamesServerMain; +import org.apache.james.DockerOpenSearchExtension; +import org.apache.james.GuiceJamesServer; +import org.apache.james.JamesServerExtension; +import org.apache.james.SearchConfiguration; +import org.apache.james.modules.RabbitMQExtension; import org.apache.james.modules.TestJMAPServerModule; import org.apache.james.modules.protocols.ImapGuiceProbe; import org.apache.james.util.concurrent.NamedThreadFactory; @@ -49,7 +56,8 @@ class JamesServerWithRetryConnectionTest { static JamesServerExtension testExtension = TestingDistributedJamesServerBuilder.withSearchConfiguration(SearchConfiguration.openSearch()) .extension(dockerOpenSearch) .extension(dockerCassandra) - .server(configuration -> CassandraJamesServerMain.createServer(configuration) + .extension(new RabbitMQExtension()) + .server(configuration -> CassandraRabbitMQJamesServerMain.createServer(configuration) .overrideWith(new TestJMAPServerModule())) .disableAutoStart() .build(); diff --git a/server/apps/cassandra-app/src/test/java/org/apache/james/JamesWithNonCompatibleElasticSearchServerTest.java b/server/apps/distributed-app/src/test/java/org/apache/james/cassandra/JamesWithNonCompatibleElasticSearchServerTest.java similarity index 85% rename from server/apps/cassandra-app/src/test/java/org/apache/james/JamesWithNonCompatibleElasticSearchServerTest.java rename to server/apps/distributed-app/src/test/java/org/apache/james/cassandra/JamesWithNonCompatibleElasticSearchServerTest.java index 543a0f941e..c0ed20f769 100644 --- a/server/apps/cassandra-app/src/test/java/org/apache/james/JamesWithNonCompatibleElasticSearchServerTest.java +++ b/server/apps/distributed-app/src/test/java/org/apache/james/cassandra/JamesWithNonCompatibleElasticSearchServerTest.java @@ -17,14 +17,22 @@ * under the License. * ****************************************************************/ -package org.apache.james; +package org.apache.james.cassandra; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; +import org.apache.james.CassandraExtension; +import org.apache.james.CassandraRabbitMQJamesServerMain; +import org.apache.james.DockerOpenSearchExtension; +import org.apache.james.GuiceJamesServer; +import org.apache.james.JamesServerExtension; +import org.apache.james.SearchConfiguration; +import org.apache.james.StartUpChecksPerformer; import org.apache.james.backends.opensearch.DockerOpenSearch; import org.apache.james.lifecycle.api.StartUpCheck; import org.apache.james.lifecycle.api.StartUpCheck.CheckResult; +import org.apache.james.modules.RabbitMQExtension; import org.apache.james.modules.TestJMAPServerModule; import org.apache.james.modules.mailbox.OpenSearchStartUpCheck; import org.apache.james.util.docker.Images; @@ -41,7 +49,8 @@ class JamesWithNonCompatibleElasticSearchServerTest { static JamesServerExtension testExtension = TestingDistributedJamesServerBuilder.withSearchConfiguration(SearchConfiguration.openSearch()) .extension(new DockerOpenSearchExtension(dockerES6)) .extension(new CassandraExtension()) - .server(configuration -> CassandraJamesServerMain.createServer(configuration) + .extension(new RabbitMQExtension()) + .server(configuration -> CassandraRabbitMQJamesServerMain.createServer(configuration) .overrideWith(new TestJMAPServerModule())) .disableAutoStart() .build(); diff --git a/server/apps/cassandra-app/src/test/java/org/apache/james/KeyspaceCreationTest.java b/server/apps/distributed-app/src/test/java/org/apache/james/cassandra/KeyspaceCreationTest.java similarity index 87% rename from server/apps/cassandra-app/src/test/java/org/apache/james/KeyspaceCreationTest.java rename to server/apps/distributed-app/src/test/java/org/apache/james/cassandra/KeyspaceCreationTest.java index f3a81e7473..0af75d8bcc 100644 --- a/server/apps/cassandra-app/src/test/java/org/apache/james/KeyspaceCreationTest.java +++ b/server/apps/distributed-app/src/test/java/org/apache/james/cassandra/KeyspaceCreationTest.java @@ -17,13 +17,20 @@ * under the License. * ****************************************************************/ -package org.apache.james; +package org.apache.james.cassandra; import static org.assertj.core.api.Assertions.assertThatCode; import static org.assertj.core.api.Assertions.assertThatThrownBy; +import org.apache.james.CassandraExtension; +import org.apache.james.CassandraRabbitMQJamesServerMain; +import org.apache.james.DockerOpenSearchExtension; +import org.apache.james.GuiceJamesServer; +import org.apache.james.JamesServerExtension; +import org.apache.james.SearchConfiguration; import org.apache.james.backends.cassandra.DockerCassandraSingleton; import org.apache.james.backends.cassandra.init.configuration.ClusterConfiguration; +import org.apache.james.modules.RabbitMQExtension; import org.apache.james.modules.mailbox.KeyspacesConfiguration; import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; @@ -36,7 +43,8 @@ class KeyspaceCreationTest { JamesServerExtension testExtension = TestingDistributedJamesServerBuilder.withSearchConfiguration(SearchConfiguration.openSearch()) .extension(new DockerOpenSearchExtension()) .extension(new CassandraExtension()) - .server(CassandraJamesServerMain::createServer) + .extension(new RabbitMQExtension()) + .server(CassandraRabbitMQJamesServerMain::createServer) .overrideServerModule(binder -> binder.bind(ClusterConfiguration.class) .toInstance(DockerCassandraSingleton.singleton.configurationBuilder() .createKeyspace() @@ -57,7 +65,8 @@ class KeyspaceCreationTest { JamesServerExtension testExtension = TestingDistributedJamesServerBuilder.withSearchConfiguration(SearchConfiguration.openSearch()) .extension(new DockerOpenSearchExtension()) .extension(new CassandraExtension()) - .server(CassandraJamesServerMain::createServer) + .extension(new RabbitMQExtension()) + .server(CassandraRabbitMQJamesServerMain::createServer) .overrideServerModule(binder -> binder.bind(KeyspacesConfiguration.class).toInstance(KeyspacesConfiguration.builder() .keyspace("non_existing_keyspace") .cacheKeyspace("cache_non_existing_keyspace") @@ -84,7 +93,8 @@ class KeyspaceCreationTest { JamesServerExtension testExtension = TestingDistributedJamesServerBuilder.withSearchConfiguration(SearchConfiguration.openSearch()) .extension(new DockerOpenSearchExtension()) .extension(new CassandraExtension()) - .server(CassandraJamesServerMain::createServer) + .extension(new RabbitMQExtension()) + .server(CassandraRabbitMQJamesServerMain::createServer) .overrideServerModule(binder -> binder.bind(ClusterConfiguration.class) .toInstance(DockerCassandraSingleton.singleton.configurationBuilder() .createKeyspace() @@ -111,7 +121,8 @@ class KeyspaceCreationTest { JamesServerExtension testExtension = TestingDistributedJamesServerBuilder.withSearchConfiguration(SearchConfiguration.openSearch()) .extension(new DockerOpenSearchExtension()) .extension(new CassandraExtension()) - .server(CassandraJamesServerMain::createServer) + .extension(new RabbitMQExtension()) + .server(CassandraRabbitMQJamesServerMain::createServer) .overrideServerModule(binder -> binder.bind(ClusterConfiguration.class) .toInstance(DockerCassandraSingleton.singleton.configurationBuilder() .build())) diff --git a/server/container/guice/opensearch/src/test/java/org/apache/james/TikaExtension.java b/server/apps/distributed-app/src/test/java/org/apache/james/cassandra/TestingDistributedJamesServerBuilder.java similarity index 52% copy from server/container/guice/opensearch/src/test/java/org/apache/james/TikaExtension.java copy to server/apps/distributed-app/src/test/java/org/apache/james/cassandra/TestingDistributedJamesServerBuilder.java index 525c9a4d64..d34264caef 100644 --- a/server/container/guice/opensearch/src/test/java/org/apache/james/TikaExtension.java +++ b/server/apps/distributed-app/src/test/java/org/apache/james/cassandra/TestingDistributedJamesServerBuilder.java @@ -17,33 +17,27 @@ * under the License. * ****************************************************************/ -package org.apache.james; +package org.apache.james.cassandra; -import org.apache.james.mailbox.tika.TikaContainer; -import org.apache.james.modules.TestTikaModule; -import org.junit.jupiter.api.extension.ExtensionContext; +import org.apache.james.CassandraRabbitMQJamesConfiguration; +import org.apache.james.JamesServerBuilder; +import org.apache.james.SearchConfiguration; -import com.google.inject.Module; - -class TikaExtension implements GuiceModuleTestExtension { - private final TikaContainer tika; - - TikaExtension() { - this.tika = new TikaContainer(); - } - - @Override - public void beforeAll(ExtensionContext extensionContext) { - tika.start(); +public class TestingDistributedJamesServerBuilder { + @FunctionalInterface + interface ConfigurationSpecification { + CassandraRabbitMQJamesConfiguration.Builder customize(CassandraRabbitMQJamesConfiguration.Builder configuration); } - @Override - public void afterAll(ExtensionContext extensionContext) { - tika.stop(); + public static JamesServerBuilder<CassandraRabbitMQJamesConfiguration> forConfiguration(ConfigurationSpecification configurationSpecification) { + return new JamesServerBuilder<>(tmpDir -> + configurationSpecification.customize(CassandraRabbitMQJamesConfiguration.builder() + .workingDirectory(tmpDir) + .configurationFromClasspath()) + .build()); } - @Override - public Module getModule() { - return new TestTikaModule(tika); + public static JamesServerBuilder<CassandraRabbitMQJamesConfiguration> withSearchConfiguration(SearchConfiguration searchConfiguration) { + return forConfiguration(configuration -> configuration.searchConfiguration(searchConfiguration)); } } diff --git a/server/apps/cassandra-app/src/test/resources/eml/htmlMail.eml b/server/apps/distributed-app/src/test/resources/eml/htmlMail.eml similarity index 100% rename from server/apps/cassandra-app/src/test/resources/eml/htmlMail.eml rename to server/apps/distributed-app/src/test/resources/eml/htmlMail.eml diff --git a/server/container/guice/cassandra/src/main/java/org/apache/james/modules/mailbox/CassandraSchemaVersionStartUpCheck.java b/server/container/guice/cassandra/src/main/java/org/apache/james/modules/mailbox/CassandraSchemaVersionStartUpCheck.java index 1cf5ebb31b..2665029a26 100644 --- a/server/container/guice/cassandra/src/main/java/org/apache/james/modules/mailbox/CassandraSchemaVersionStartUpCheck.java +++ b/server/container/guice/cassandra/src/main/java/org/apache/james/modules/mailbox/CassandraSchemaVersionStartUpCheck.java @@ -29,7 +29,7 @@ import com.google.inject.Inject; public class CassandraSchemaVersionStartUpCheck implements StartUpCheck { private static final Logger LOGGER = LoggerFactory.getLogger(CassandraSchemaVersionStartUpCheck.class); - static final String CHECK_NAME = "CassandraSchemaVersionStartUpCheck"; + public static final String CHECK_NAME = "CassandraSchemaVersionStartUpCheck"; private final CassandraSchemaVersionManager versionManager; diff --git a/server/container/guice/opensearch/src/test/java/org/apache/james/TikaExtension.java b/server/container/guice/opensearch/src/test/java/org/apache/james/TikaExtension.java index 525c9a4d64..12c9958d00 100644 --- a/server/container/guice/opensearch/src/test/java/org/apache/james/TikaExtension.java +++ b/server/container/guice/opensearch/src/test/java/org/apache/james/TikaExtension.java @@ -25,10 +25,10 @@ import org.junit.jupiter.api.extension.ExtensionContext; import com.google.inject.Module; -class TikaExtension implements GuiceModuleTestExtension { +public class TikaExtension implements GuiceModuleTestExtension { private final TikaContainer tika; - TikaExtension() { + public TikaExtension() { this.tika = new TikaContainer(); } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
