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 763396ff80d30bde4ea5a0146c62dbebbc6c03b6 Author: Benoit Tellier <btell...@linagora.com> AuthorDate: Thu May 14 18:24:46 2020 +0700 JAMES-3140 CassandraRabbitMQJamesServerMain should not expose its module Modules are chosen from the supplied configuration when creating the GuiceJamesServer --- .../AuthenticatedCassandraJamesServerTest.java | 6 +-- .../java/org/apache/james/CacheSessionTest.java | 2 +- .../org/apache/james/CassandraJamesServerTest.java | 2 +- .../apache/james/CassandraJmapJamesServerTest.java | 2 +- .../CassandraMailRepositoryIntegrationTest.java | 2 +- .../CassandraMessageIdManagerInjectionTest.java | 2 +- .../org/apache/james/CassandraNodeConfTest.java | 2 +- .../org/apache/james/CassandraWithTikaTest.java | 2 +- .../james/DefaultCassandraJamesServerTest.java | 2 +- .../test/java/org/apache/james/ESReporterTest.java | 2 +- .../apache/james/JamesCapabilitiesServerTest.java | 2 +- .../james/JamesServerWithRetryConnectionTest.java | 2 +- ...esWithNonCompatibleElasticSearchServerTest.java | 2 +- .../org/apache/james/KeyspaceCreationTest.java | 8 ++-- .../apache/james/WithCassandraBlobStoreTest.java | 2 +- .../CassandraSchemaVersionStartUpCheckTest.java | 2 +- .../apache/james/CassandraLdapJamesServerTest.java | 2 +- .../james/CassandraLdapJmapJamesServerTest.java | 2 +- .../james/CassandraRabbitMQJamesConfiguration.java | 2 +- .../james/CassandraRabbitMQJamesServerMain.java | 20 ++++----- .../james/CassandraRabbitMQAwsS3JmapTestRule.java | 7 ++- .../james/CassandraRabbitMQJamesServerFixture.java | 17 +++++--- .../james/CassandraRabbitMQSwiftJmapTestRule.java | 7 ++- .../james/RabbitMQJamesServerReprocessingTest.java | 4 +- .../org/apache/james/WithCassandraBlobStore.java | 11 +++-- .../CassandraRabbitMQLdapJmapJamesServerTest.java | 2 +- .../java/org/apache/james/GuiceJamesServer.java | 7 ++- .../java/org/apache/james/JamesServerBuilder.java | 50 ++++++++++------------ .../java/org/apache/james/JPAJamesServerTest.java | 2 +- ...WithAuthenticatedDatabaseSqlValidationTest.java | 2 +- ...atabaseAuthenticaticationSqlValidationTest.java | 2 +- .../apache/james/JamesCapabilitiesServerTest.java | 2 +- .../apache/james/DefaultMemoryJamesServerTest.java | 2 +- .../james/GuiceJamesServerStartUpCheckTest.java | 2 +- .../org/apache/james/GuiceJamesServerTest.java | 2 +- .../apache/james/GuiceLifecycleHeathCheckTest.java | 2 +- .../LinshareBlobExportMechanismProvidingTest.java | 2 +- .../org/apache/james/MemoryJamesServerTest.java | 2 +- .../apache/james/MemoryJmapJamesServerTest.java | 2 +- .../apache/james/WebAdminRoutesExtensionTest.java | 2 +- .../jmap/cassandra/CassandraImapErrorTest.java | 2 +- .../jmap/cassandra/CassandraSendMDNMethodTest.java | 2 +- .../CassandraSpamAssassinContractTest.java | 2 +- .../james/jmap/memory/MemorySendMDNMethodTest.java | 2 +- .../memory/MemorySpamAssassinContractTest.java | 2 +- .../rabbitmq/RabbitMQAwsS3SendMDNMethodTest.java | 12 ++++-- .../RabbitMQAwsS3SpamAssassinContractTest.java | 12 ++++-- .../cucumber/awss3/RabbitMQAwsS3Stepdefs.java | 19 ++++---- .../distributed/DistributedEchoMethodTest.java | 12 ++++-- .../rabbitmq/ConsistencyTasksIntegrationTest.java | 11 +++-- .../rabbitmq/FixingGhostMailboxTest.java | 11 +++-- .../rabbitmq/RabbitMQAuthorizedEndpointsTest.java | 12 ++++-- .../RabbitMQEventDeadLettersIntegrationTest.java | 11 +++-- ...stViewProjectionHealthCheckIntegrationTest.java | 13 +++--- .../rabbitmq/RabbitMQForwardIntegrationTest.java | 13 +++--- .../rabbitmq/RabbitMQJmapExtension.java | 14 +++--- .../rabbitmq/RabbitMQJwtFilterIntegrationTest.java | 13 +++--- ...RabbitMQReindexingWithEventDeadLettersTest.java | 20 +++++---- .../RabbitMQWebAdminServerIntegrationTest.java | 12 ++++-- ...dminServerTaskSerializationIntegrationTest.java | 11 +++-- ...RabbitMQDeletedMessageVaultIntegrationTest.java | 12 ++++-- ...LinshareBlobExportMechanismIntegrationTest.java | 12 ++++-- .../memory/MemoryAuthorizedEndpointsTest.java | 2 +- ...stViewProjectionHealthCheckIntegrationTest.java | 2 +- .../memory/MemoryForwardIntegrationTest.java | 2 +- .../memory/MemoryJwtFilterIntegrationTest.java | 2 +- .../memory/MemoryUnauthorizedEndpointsTest.java | 2 +- .../MemoryWebAdminServerIntegrationTest.java | 2 +- .../MemoryDeletedMessageVaultIntegrationTest.java | 2 +- ...LinshareBlobExportMechanismIntegrationTest.java | 2 +- 70 files changed, 250 insertions(+), 193 deletions(-) diff --git a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/AuthenticatedCassandraJamesServerTest.java b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/AuthenticatedCassandraJamesServerTest.java index 1e33c62..f88f3b3 100644 --- a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/AuthenticatedCassandraJamesServerTest.java +++ b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/AuthenticatedCassandraJamesServerTest.java @@ -44,7 +44,7 @@ class AuthenticatedCassandraJamesServerTest { @Nested class AuthenticationTest implements JamesServerContract { @RegisterExtension - JamesServerExtension testExtension = new JamesServerBuilder() + JamesServerExtension testExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .extension(new DockerElasticSearchExtension()) .extension(cassandraExtension) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) @@ -63,7 +63,7 @@ class AuthenticatedCassandraJamesServerTest { @Nested class SslTest { @RegisterExtension - JamesServerExtension testExtension = new JamesServerBuilder() + JamesServerExtension testExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .extension(new DockerElasticSearchExtension()) .extension(cassandraExtension) .disableAutoStart() @@ -91,7 +91,7 @@ class AuthenticatedCassandraJamesServerTest { @Nested class AuthenticationFailureTest { @RegisterExtension - JamesServerExtension testExtension = new JamesServerBuilder() + JamesServerExtension testExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .extension(new DockerElasticSearchExtension()) .extension(cassandraExtension) .disableAutoStart() diff --git a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CacheSessionTest.java b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CacheSessionTest.java index c139ccc..29fbf2d 100644 --- a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CacheSessionTest.java +++ b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CacheSessionTest.java @@ -74,7 +74,7 @@ class CacheSessionTest { } @RegisterExtension - static JamesServerExtension testExtension = new JamesServerBuilder() + static JamesServerExtension testExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .extension(new DockerElasticSearchExtension()) .extension(new CassandraExtension()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) diff --git a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraJamesServerTest.java b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraJamesServerTest.java index 2effd95..e985dd3 100644 --- a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraJamesServerTest.java +++ b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraJamesServerTest.java @@ -31,7 +31,7 @@ import org.junit.jupiter.api.extension.RegisterExtension; class CassandraJamesServerTest implements JamesServerContract { @RegisterExtension - static JamesServerExtension testExtension = new JamesServerBuilder() + static JamesServerExtension testExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .extension(new DockerElasticSearchExtension()) .extension(new CassandraExtension()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) diff --git a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraJmapJamesServerTest.java b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraJmapJamesServerTest.java index 10bfab2..e213d3e 100644 --- a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraJmapJamesServerTest.java +++ b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraJmapJamesServerTest.java @@ -29,7 +29,7 @@ import org.junit.jupiter.api.extension.RegisterExtension; class CassandraJmapJamesServerTest implements JmapJamesServerContract { @RegisterExtension - static JamesServerExtension testExtension = new JamesServerBuilder() + static JamesServerExtension testExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .extension(new DockerElasticSearchExtension()) .extension(new CassandraExtension()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) diff --git a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraMailRepositoryIntegrationTest.java b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraMailRepositoryIntegrationTest.java index ba2e94f..17b1c16 100644 --- a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraMailRepositoryIntegrationTest.java +++ b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraMailRepositoryIntegrationTest.java @@ -50,7 +50,7 @@ class CassandraMailRepositoryIntegrationTest { private SMTPMessageSender smtpMessageSender = new SMTPMessageSender("other.com"); @RegisterExtension - static JamesServerExtension testExtension = new JamesServerBuilder() + static JamesServerExtension testExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .extension(new DockerElasticSearchExtension()) .extension(new CassandraExtension()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) diff --git a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraMessageIdManagerInjectionTest.java b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraMessageIdManagerInjectionTest.java index 4b0f384..a0ef4e4 100644 --- a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraMessageIdManagerInjectionTest.java +++ b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraMessageIdManagerInjectionTest.java @@ -37,7 +37,7 @@ import com.google.inject.multibindings.Multibinder; class CassandraMessageIdManagerInjectionTest { @RegisterExtension - static JamesServerExtension testExtension = new JamesServerBuilder() + static JamesServerExtension testExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .extension(new DockerElasticSearchExtension()) .extension(new CassandraExtension()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) diff --git a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraNodeConfTest.java b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraNodeConfTest.java index e2b730d..2350dce 100644 --- a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraNodeConfTest.java +++ b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraNodeConfTest.java @@ -42,7 +42,7 @@ import org.testcontainers.DockerClientFactory; class CassandraNodeConfTest { private static final int CASSANDRA_PORT = 9042; private static JamesServerBuilder extensionBuilder() { - return new JamesServerBuilder() + return new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .extension(new DockerElasticSearchExtension()) .extension(new CassandraExtension()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) diff --git a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraWithTikaTest.java b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraWithTikaTest.java index 8ff2d6f..8f83f5e 100644 --- a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraWithTikaTest.java +++ b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraWithTikaTest.java @@ -27,7 +27,7 @@ import org.junit.jupiter.api.extension.RegisterExtension; class CassandraWithTikaTest implements JamesServerContract { @RegisterExtension static JamesServerExtension testExtension = - new JamesServerBuilder() + new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .extension(new CassandraExtension()) .extension(new TikaExtension()) .extension(new DockerElasticSearchExtension()) diff --git a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DefaultCassandraJamesServerTest.java b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DefaultCassandraJamesServerTest.java index cf332a1..c431e1d 100644 --- a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DefaultCassandraJamesServerTest.java +++ b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DefaultCassandraJamesServerTest.java @@ -34,7 +34,7 @@ import org.junit.jupiter.api.extension.RegisterExtension; class DefaultCassandraJamesServerTest { @RegisterExtension - static JamesServerExtension testExtension = new JamesServerBuilder() + static JamesServerExtension testExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .extension(new DockerElasticSearchExtension()) .extension(new CassandraExtension()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) diff --git a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/ESReporterTest.java b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/ESReporterTest.java index ec6b532..53713ed 100644 --- a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/ESReporterTest.java +++ b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/ESReporterTest.java @@ -64,7 +64,7 @@ class ESReporterTest { static final DockerElasticSearchExtension elasticSearchExtension = new DockerElasticSearchExtension(); @RegisterExtension - static JamesServerExtension testExtension = new JamesServerBuilder() + static JamesServerExtension testExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .extension(elasticSearchExtension) .extension(new CassandraExtension()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) diff --git a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/JamesCapabilitiesServerTest.java b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/JamesCapabilitiesServerTest.java index 046bb23..6cacc2c 100644 --- a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/JamesCapabilitiesServerTest.java +++ b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/JamesCapabilitiesServerTest.java @@ -39,7 +39,7 @@ class JamesCapabilitiesServerTest { private static final MailboxManager mailboxManager = mock(MailboxManager.class); @RegisterExtension - static JamesServerExtension testExtension = new JamesServerBuilder() + static JamesServerExtension testExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .extension(new DockerElasticSearchExtension()) .extension(new CassandraExtension()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) diff --git a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/JamesServerWithRetryConnectionTest.java b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/JamesServerWithRetryConnectionTest.java index 941bf1f..280ab2d 100644 --- a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/JamesServerWithRetryConnectionTest.java +++ b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/JamesServerWithRetryConnectionTest.java @@ -49,7 +49,7 @@ class JamesServerWithRetryConnectionTest { private static final CassandraExtension dockerCassandra = new CassandraExtension(); @RegisterExtension - static JamesServerExtension testExtension = new JamesServerBuilder() + static JamesServerExtension testExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .extension(dockerElasticSearch) .extension(dockerCassandra) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) diff --git a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/JamesWithNonCompatibleElasticSearchServerTest.java b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/JamesWithNonCompatibleElasticSearchServerTest.java index e99948a..643f471 100644 --- a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/JamesWithNonCompatibleElasticSearchServerTest.java +++ b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/JamesWithNonCompatibleElasticSearchServerTest.java @@ -40,7 +40,7 @@ class JamesWithNonCompatibleElasticSearchServerTest { static DockerElasticSearch dockerES2 = new DockerElasticSearch.NoAuth(Images.ELASTICSEARCH_2); @RegisterExtension - static JamesServerExtension testExtension = new JamesServerBuilder() + static JamesServerExtension testExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .extension(new DockerElasticSearchExtension(dockerES2)) .extension(new CassandraExtension()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) diff --git a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/KeyspaceCreationTest.java b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/KeyspaceCreationTest.java index b1d9be6..fd85c37 100644 --- a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/KeyspaceCreationTest.java +++ b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/KeyspaceCreationTest.java @@ -35,7 +35,7 @@ class KeyspaceCreationTest { @Nested class CreateWhenKeyspaceExists { @RegisterExtension - JamesServerExtension testExtension = new JamesServerBuilder() + JamesServerExtension testExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .extension(new DockerElasticSearchExtension()) .extension(new CassandraExtension()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) @@ -58,7 +58,7 @@ class KeyspaceCreationTest { @Nested class CreateWhenDoesNotExistAndHasRights { @RegisterExtension - JamesServerExtension testExtension = new JamesServerBuilder() + JamesServerExtension testExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .extension(new DockerElasticSearchExtension()) .extension(new CassandraExtension()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) @@ -87,7 +87,7 @@ class KeyspaceCreationTest { @Nested class CreateWhenDoesNotExistAndDoNotHaveRights { @RegisterExtension - JamesServerExtension testExtension = new JamesServerBuilder() + JamesServerExtension testExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .extension(new DockerElasticSearchExtension()) .extension(new CassandraExtension()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) @@ -116,7 +116,7 @@ class KeyspaceCreationTest { @Nested class StartWhenKeyspaceDoesNotExist { @RegisterExtension - JamesServerExtension testExtension = new JamesServerBuilder() + JamesServerExtension testExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .extension(new DockerElasticSearchExtension()) .extension(new CassandraExtension()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) diff --git a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/WithCassandraBlobStoreTest.java b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/WithCassandraBlobStoreTest.java index fde036b..596f913 100644 --- a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/WithCassandraBlobStoreTest.java +++ b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/WithCassandraBlobStoreTest.java @@ -27,7 +27,7 @@ import org.junit.jupiter.api.extension.RegisterExtension; class WithCassandraBlobStoreTest implements JmapJamesServerContract, MailsShouldBeWellReceived, JamesServerContract { @RegisterExtension - static JamesServerExtension jamesServerExtension = new JamesServerBuilder() + static JamesServerExtension jamesServerExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .extension(new DockerElasticSearchExtension()) .extension(new CassandraExtension()) .extension(new SpamAssassinModuleExtension()) diff --git a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/modules/mailbox/CassandraSchemaVersionStartUpCheckTest.java b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/modules/mailbox/CassandraSchemaVersionStartUpCheckTest.java index 7209b48..e73b77c 100644 --- a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/modules/mailbox/CassandraSchemaVersionStartUpCheckTest.java +++ b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/modules/mailbox/CassandraSchemaVersionStartUpCheckTest.java @@ -60,7 +60,7 @@ class CassandraSchemaVersionStartUpCheckTest { private static CassandraSchemaVersionDAO versionDAO = mock(CassandraSchemaVersionDAO.class); @RegisterExtension - static JamesServerExtension testExtension = new JamesServerBuilder() + static JamesServerExtension testExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .extension(new DockerElasticSearchExtension()) .extension(new CassandraExtension()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) diff --git a/server/container/guice/cassandra-ldap-guice/src/test/java/org/apache/james/CassandraLdapJamesServerTest.java b/server/container/guice/cassandra-ldap-guice/src/test/java/org/apache/james/CassandraLdapJamesServerTest.java index 84f092f..a0f773a 100644 --- a/server/container/guice/cassandra-ldap-guice/src/test/java/org/apache/james/CassandraLdapJamesServerTest.java +++ b/server/container/guice/cassandra-ldap-guice/src/test/java/org/apache/james/CassandraLdapJamesServerTest.java @@ -53,7 +53,7 @@ class CassandraLdapJamesServerTest implements JamesServerContract { SMTPMessageSender messageSender = new SMTPMessageSender(Domain.LOCALHOST.asString()); @RegisterExtension - static JamesServerExtension testExtension = new JamesServerBuilder() + static JamesServerExtension testExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .extension(new DockerElasticSearchExtension()) .extension(new CassandraExtension()) .extension(new LdapTestExtension()) diff --git a/server/container/guice/cassandra-ldap-guice/src/test/java/org/apache/james/CassandraLdapJmapJamesServerTest.java b/server/container/guice/cassandra-ldap-guice/src/test/java/org/apache/james/CassandraLdapJmapJamesServerTest.java index 494ce1a..31d0943 100644 --- a/server/container/guice/cassandra-ldap-guice/src/test/java/org/apache/james/CassandraLdapJmapJamesServerTest.java +++ b/server/container/guice/cassandra-ldap-guice/src/test/java/org/apache/james/CassandraLdapJmapJamesServerTest.java @@ -25,7 +25,7 @@ import org.junit.jupiter.api.extension.RegisterExtension; class CassandraLdapJmapJamesServerTest implements JmapJamesServerContract { @RegisterExtension - static JamesServerExtension testExtension = new JamesServerBuilder() + static JamesServerExtension testExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .extension(new DockerElasticSearchExtension()) .extension(new CassandraExtension()) .extension(new LdapTestExtension()) diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/CassandraRabbitMQJamesConfiguration.java b/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/CassandraRabbitMQJamesConfiguration.java index 55f9e6b..afef000 100644 --- a/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/CassandraRabbitMQJamesConfiguration.java +++ b/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/CassandraRabbitMQJamesConfiguration.java @@ -91,7 +91,7 @@ public class CassandraRabbitMQJamesConfiguration implements Configuration { } } - static CassandraRabbitMQJamesConfiguration.Builder builder() { + public static CassandraRabbitMQJamesConfiguration.Builder builder() { return new Builder(); } diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/CassandraRabbitMQJamesServerMain.java b/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/CassandraRabbitMQJamesServerMain.java index 318f54b..13a9370 100644 --- a/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/CassandraRabbitMQJamesServerMain.java +++ b/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/CassandraRabbitMQJamesServerMain.java @@ -29,7 +29,6 @@ import org.apache.james.modules.event.RabbitMQEventBusModule; import org.apache.james.modules.rabbitmq.RabbitMQModule; import org.apache.james.modules.server.JMXServerModule; -import com.google.common.collect.ImmutableList; import com.google.inject.Module; import com.google.inject.util.Modules; @@ -44,20 +43,17 @@ public class CassandraRabbitMQJamesServerMain implements JamesServerMain { .useWorkingDirectoryEnvProperty() .build(); - BlobStoreConfiguration blobStoreConfiguration = configuration.blobstoreconfiguration(); - - Module baseModule = modules(blobStoreConfiguration); - - GuiceJamesServer server = GuiceJamesServer.forConfiguration(configuration) - .combineWith(baseModule, new JMXServerModule()); + GuiceJamesServer server = createServer(configuration) + .combineWith(new JMXServerModule()); JamesServerMain.main(server); } - public static Module modules(BlobStoreConfiguration blobStoreConfiguration) { - return Modules.combine(ImmutableList.<Module>builder() - .add(MODULES) - .addAll(BlobStoreModulesChooser.chooseModules(blobStoreConfiguration)) - .build()); + public static GuiceJamesServer createServer(CassandraRabbitMQJamesConfiguration configuration) { + BlobStoreConfiguration blobStoreConfiguration = configuration.blobstoreconfiguration(); + + return GuiceJamesServer.forConfiguration(configuration) + .combineWith(MODULES) + .combineWith(BlobStoreModulesChooser.chooseModules(blobStoreConfiguration)); } } diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/CassandraRabbitMQAwsS3JmapTestRule.java b/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/CassandraRabbitMQAwsS3JmapTestRule.java index 59318aa..06b3849 100644 --- a/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/CassandraRabbitMQAwsS3JmapTestRule.java +++ b/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/CassandraRabbitMQAwsS3JmapTestRule.java @@ -29,7 +29,6 @@ import org.apache.james.modules.TestJMAPServerModule; import org.apache.james.modules.TestRabbitMQModule; import org.apache.james.modules.blobstore.BlobStoreConfiguration; import org.apache.james.modules.objectstorage.aws.s3.DockerAwsS3TestRule; -import org.apache.james.server.core.configuration.Configuration; import org.apache.james.webadmin.WebAdminConfiguration; import org.junit.rules.TemporaryFolder; import org.junit.rules.TestRule; @@ -62,13 +61,13 @@ public class CassandraRabbitMQAwsS3JmapTestRule implements TestRule { } public GuiceJamesServer jmapServer(Module... additionals) throws IOException { - Configuration configuration = Configuration.builder() + CassandraRabbitMQJamesConfiguration configuration = CassandraRabbitMQJamesConfiguration.builder() .workingDirectory(temporaryFolder.newFolder()) .configurationFromClasspath() + .blobStore(BlobStoreConfiguration.objectStorage()) .build(); - return GuiceJamesServer.forConfiguration(configuration) - .combineWith(CassandraRabbitMQJamesServerMain.modules(BlobStoreConfiguration.objectStorage())) + return CassandraRabbitMQJamesServerMain.createServer(configuration) .overrideWith(binder -> binder.bind(TextExtractor.class).to(PDFTextExtractor.class)) .overrideWith(new TestRabbitMQModule(DockerRabbitMQSingleton.SINGLETON)) .overrideWith(new TestJMAPServerModule()) diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/CassandraRabbitMQJamesServerFixture.java b/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/CassandraRabbitMQJamesServerFixture.java index 24cd328..8c57beb 100644 --- a/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/CassandraRabbitMQJamesServerFixture.java +++ b/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/CassandraRabbitMQJamesServerFixture.java @@ -26,19 +26,22 @@ import org.apache.james.modules.blobstore.BlobStoreConfiguration; public class CassandraRabbitMQJamesServerFixture { - private static final JamesServerBuilder.ServerProvider CONFIGURATION_BUILDER = - configuration -> GuiceJamesServer - .forConfiguration(configuration) - .combineWith(CassandraRabbitMQJamesServerMain.modules(BlobStoreConfiguration.objectStorage())) + private static final JamesServerBuilder.ServerProvider<CassandraRabbitMQJamesConfiguration> CONFIGURATION_BUILDER = + configuration -> CassandraRabbitMQJamesServerMain.createServer(configuration) .overrideWith(new TestJMAPServerModule()) .overrideWith(JmapJamesServerContract.DOMAIN_LIST_CONFIGURATION_MODULE); - public static JamesServerBuilder baseExtensionBuilder() { + public static JamesServerBuilder<CassandraRabbitMQJamesConfiguration> baseExtensionBuilder() { return baseExtensionBuilder(new RabbitMQExtension()); } - public static JamesServerBuilder baseExtensionBuilder(RabbitMQExtension rabbitMQExtension) { - return new JamesServerBuilder() + public static JamesServerBuilder<CassandraRabbitMQJamesConfiguration> baseExtensionBuilder(RabbitMQExtension rabbitMQExtension) { + return new JamesServerBuilder<CassandraRabbitMQJamesConfiguration>(tmpDir -> + CassandraRabbitMQJamesConfiguration.builder() + .workingDirectory(tmpDir) + .configurationFromClasspath() + .blobStore(BlobStoreConfiguration.objectStorage()) + .build()) .extension(new DockerElasticSearchExtension()) .extension(new CassandraExtension()) .extension(rabbitMQExtension) diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/CassandraRabbitMQSwiftJmapTestRule.java b/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/CassandraRabbitMQSwiftJmapTestRule.java index 75cde2b..009e6a8 100644 --- a/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/CassandraRabbitMQSwiftJmapTestRule.java +++ b/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/CassandraRabbitMQSwiftJmapTestRule.java @@ -29,7 +29,6 @@ import org.apache.james.modules.TestJMAPServerModule; import org.apache.james.modules.TestRabbitMQModule; import org.apache.james.modules.blobstore.BlobStoreConfiguration; import org.apache.james.modules.objectstorage.swift.DockerSwiftTestRule; -import org.apache.james.server.core.configuration.Configuration; import org.junit.rules.TemporaryFolder; import org.junit.rules.TestRule; import org.junit.runner.Description; @@ -61,13 +60,13 @@ public class CassandraRabbitMQSwiftJmapTestRule implements TestRule { } public GuiceJamesServer jmapServer(Module... additionals) throws IOException { - Configuration configuration = Configuration.builder() + CassandraRabbitMQJamesConfiguration configuration = CassandraRabbitMQJamesConfiguration.builder() .workingDirectory(temporaryFolder.newFolder()) .configurationFromClasspath() + .blobStore(BlobStoreConfiguration.objectStorage()) .build(); - return GuiceJamesServer.forConfiguration(configuration) - .combineWith(CassandraRabbitMQJamesServerMain.modules(BlobStoreConfiguration.objectStorage())) + return CassandraRabbitMQJamesServerMain.createServer(configuration) .overrideWith(binder -> binder.bind(TextExtractor.class).to(PDFTextExtractor.class)) .overrideWith(new TestRabbitMQModule(DockerRabbitMQSingleton.SINGLETON)) .overrideWith(new DockerSwiftTestRule().getModule()) diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/RabbitMQJamesServerReprocessingTest.java b/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/RabbitMQJamesServerReprocessingTest.java index dc992fd..945cdb0 100644 --- a/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/RabbitMQJamesServerReprocessingTest.java +++ b/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/RabbitMQJamesServerReprocessingTest.java @@ -27,7 +27,6 @@ import org.apache.james.mailrepository.api.MailRepositoryUrl; import org.apache.james.modules.AwsS3BlobStoreExtension; import org.apache.james.modules.RabbitMQExtension; import org.apache.james.modules.TestJMAPServerModule; -import org.apache.james.modules.blobstore.BlobStoreConfiguration; import org.apache.james.modules.protocols.SmtpGuiceProbe; import org.apache.james.utils.MailRepositoryProbeImpl; import org.apache.james.utils.SMTPMessageSender; @@ -56,8 +55,7 @@ class RabbitMQJamesServerReprocessingTest { JamesServerExtension jamesServerExtension = CassandraRabbitMQJamesServerFixture .baseExtensionBuilder(rabbitMQExtension) .extension(new AwsS3BlobStoreExtension()) - .server(configuration -> GuiceJamesServer - .forConfiguration(configuration) + .server(configuration -> CassandraRabbitMQJamesServerMain.createServer(configuration) .overrideWith(new TestJMAPServerModule()) .overrideWith(binder -> binder.bind(WebAdminConfiguration.class).toInstance(WebAdminConfiguration.TEST_CONFIGURATION)) .overrideWith(JmapJamesServerContract.DOMAIN_LIST_CONFIGURATION_MODULE)) diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/WithCassandraBlobStore.java b/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/WithCassandraBlobStore.java index 0d996be..ca9c115 100644 --- a/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/WithCassandraBlobStore.java +++ b/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/WithCassandraBlobStore.java @@ -37,13 +37,16 @@ public class WithCassandraBlobStore implements BeforeAllCallback, AfterAllCallba private final JamesServerExtension jamesServerExtension; WithCassandraBlobStore() { - jamesServerExtension = new JamesServerBuilder() + jamesServerExtension = new JamesServerBuilder<CassandraRabbitMQJamesConfiguration>(tmpDir -> + CassandraRabbitMQJamesConfiguration.builder() + .workingDirectory(tmpDir) + .configurationFromClasspath() + .blobStore(BlobStoreConfiguration.cassandra()) + .build()) .extension(new DockerElasticSearchExtension()) .extension(new CassandraExtension()) .extension(new RabbitMQExtension()) - .server(configuration -> GuiceJamesServer - .forConfiguration(configuration) - .combineWith(CassandraRabbitMQJamesServerMain.modules(BlobStoreConfiguration.cassandra())) + .server(configuration -> CassandraRabbitMQJamesServerMain.createServer(configuration) .overrideWith(TestJMAPServerModule.limitToTenMessages()) .overrideWith(JmapJamesServerContract.DOMAIN_LIST_CONFIGURATION_MODULE)) .build(); diff --git a/server/container/guice/cassandra-rabbitmq-ldap-guice/src/test/java/org/apache/james/CassandraRabbitMQLdapJmapJamesServerTest.java b/server/container/guice/cassandra-rabbitmq-ldap-guice/src/test/java/org/apache/james/CassandraRabbitMQLdapJmapJamesServerTest.java index df6cc67..15e8766 100644 --- a/server/container/guice/cassandra-rabbitmq-ldap-guice/src/test/java/org/apache/james/CassandraRabbitMQLdapJmapJamesServerTest.java +++ b/server/container/guice/cassandra-rabbitmq-ldap-guice/src/test/java/org/apache/james/CassandraRabbitMQLdapJmapJamesServerTest.java @@ -80,7 +80,7 @@ class CassandraRabbitMQLdapJmapJamesServerTest { } JamesServerBuilder baseJamesServerExtensionBuilder(BlobStoreConfiguration blobStoreConfiguration) { - return new JamesServerBuilder() + return new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .extension(new DockerElasticSearchExtension()) .extension(new CassandraExtension()) .extension(new RabbitMQExtension()) diff --git a/server/container/guice/guice-common/src/main/java/org/apache/james/GuiceJamesServer.java b/server/container/guice/guice-common/src/main/java/org/apache/james/GuiceJamesServer.java index 84611d7..f149796 100644 --- a/server/container/guice/guice-common/src/main/java/org/apache/james/GuiceJamesServer.java +++ b/server/container/guice/guice-common/src/main/java/org/apache/james/GuiceJamesServer.java @@ -19,6 +19,7 @@ package org.apache.james; import java.util.Arrays; +import java.util.Collection; import java.util.List; import javax.annotation.PreDestroy; @@ -67,7 +68,11 @@ public class GuiceJamesServer { } public GuiceJamesServer combineWith(Module... modules) { - return new GuiceJamesServer(isStartedProbe, Modules.combine(Iterables.concat(Arrays.asList(module), Arrays.asList(modules)))); + return combineWith(Arrays.asList(modules)); + } + + public GuiceJamesServer combineWith(Collection<Module> modules) { + return new GuiceJamesServer(isStartedProbe, Modules.combine(Iterables.concat(Arrays.asList(module), modules))); } public GuiceJamesServer overrideWith(Module... overrides) { diff --git a/server/container/guice/guice-common/src/test/java/org/apache/james/JamesServerBuilder.java b/server/container/guice/guice-common/src/test/java/org/apache/james/JamesServerBuilder.java index dfed2b0..0a749fd 100644 --- a/server/container/guice/guice-common/src/test/java/org/apache/james/JamesServerBuilder.java +++ b/server/container/guice/guice-common/src/test/java/org/apache/james/JamesServerBuilder.java @@ -20,7 +20,6 @@ package org.apache.james; import java.io.File; -import java.io.UncheckedIOException; import java.util.Optional; import org.apache.james.server.core.configuration.Configuration; @@ -30,80 +29,75 @@ import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; import com.google.inject.Module; -public class JamesServerBuilder { +public class JamesServerBuilder<T extends Configuration> { private static final boolean DEFAULT_AUTO_START = true; @FunctionalInterface - public interface ConfigurationProvider { - Configuration buildConfiguration(File tempDirectory); + public interface ConfigurationProvider<T extends Configuration> { + T buildConfiguration(File tempDirectory); } @FunctionalInterface - public interface ServerProvider { - GuiceJamesServer buildServer(Configuration configuration); + public interface ServerProvider<T extends Configuration> { + GuiceJamesServer buildServer(T configuration); + } + + + public static ConfigurationProvider<Configuration.Basic> defaultConfigurationProvider() { + return tmpDir -> + Configuration.builder() + .workingDirectory(tmpDir) + .configurationFromClasspath() + .build(); } private final ImmutableList.Builder<GuiceModuleTestExtension> extensions; private final TemporaryFolderRegistrableExtension folderRegistrableExtension; private final ImmutableList.Builder<Module> overrideModules; private ServerProvider server; - private Optional<ConfigurationProvider> configuration; + private ConfigurationProvider configuration; private Optional<Boolean> autoStart; - public JamesServerBuilder() { - configuration = Optional.empty(); + public JamesServerBuilder(ConfigurationProvider configurationProvider) { + configuration = configurationProvider; extensions = ImmutableList.builder(); folderRegistrableExtension = new TemporaryFolderRegistrableExtension(); autoStart = Optional.empty(); overrideModules = ImmutableList.builder(); } - public JamesServerBuilder extensions(GuiceModuleTestExtension... extensions) { + public JamesServerBuilder<T> extensions(GuiceModuleTestExtension... extensions) { this.extensions.add(extensions); return this; } - public JamesServerBuilder extension(GuiceModuleTestExtension extension) { + public JamesServerBuilder<T> extension(GuiceModuleTestExtension extension) { return this.extensions(extension); } - public JamesServerBuilder configuration(ConfigurationProvider configuration) throws UncheckedIOException { - this.configuration = Optional.of(configuration); - return this; - } - - public JamesServerBuilder server(ServerProvider server) { + public JamesServerBuilder<T> server(ServerProvider<T> server) { this.server = server; return this; } - public JamesServerBuilder overrideServerModule(Module module) { + public JamesServerBuilder<T> overrideServerModule(Module module) { this.overrideModules.add(module); return this; } - public JamesServerBuilder disableAutoStart() { + public JamesServerBuilder<T> disableAutoStart() { this.autoStart = Optional.of(false); return this; } public JamesServerExtension build() { Preconditions.checkNotNull(server); - ConfigurationProvider configuration = this.configuration.orElse(defaultConfigurationProvider()); JamesServerExtension.AwaitCondition awaitCondition = () -> extensions.build().forEach(GuiceModuleTestExtension::await); return new JamesServerExtension(buildAggregateJunitExtension(), file -> overrideServerWithExtensionsModules(file, configuration), awaitCondition, autoStart.orElse(DEFAULT_AUTO_START)); } - private ConfigurationProvider defaultConfigurationProvider() { - return tmpDir -> - Configuration.builder() - .workingDirectory(tmpDir) - .configurationFromClasspath() - .build(); - } - private AggregateJunitExtension buildAggregateJunitExtension() { ImmutableList<GuiceModuleTestExtension> extensions = this.extensions.build(); return new AggregateJunitExtension( diff --git a/server/container/guice/jpa-guice/src/test/java/org/apache/james/JPAJamesServerTest.java b/server/container/guice/jpa-guice/src/test/java/org/apache/james/JPAJamesServerTest.java index 985f985..e9f4b65 100644 --- a/server/container/guice/jpa-guice/src/test/java/org/apache/james/JPAJamesServerTest.java +++ b/server/container/guice/jpa-guice/src/test/java/org/apache/james/JPAJamesServerTest.java @@ -40,7 +40,7 @@ import com.google.common.base.Strings; class JPAJamesServerTest implements JamesServerContract { @RegisterExtension - static JamesServerExtension jamesServerExtension = new JamesServerBuilder() + static JamesServerExtension jamesServerExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) .combineWith(JPAJamesServerMain.JPA_MODULE_AGGREGATE) .overrideWith(new TestJPAConfigurationModule(), DOMAIN_LIST_CONFIGURATION_MODULE)) diff --git a/server/container/guice/jpa-guice/src/test/java/org/apache/james/JPAJamesServerWithAuthenticatedDatabaseSqlValidationTest.java b/server/container/guice/jpa-guice/src/test/java/org/apache/james/JPAJamesServerWithAuthenticatedDatabaseSqlValidationTest.java index 63e950b..b5ff257 100644 --- a/server/container/guice/jpa-guice/src/test/java/org/apache/james/JPAJamesServerWithAuthenticatedDatabaseSqlValidationTest.java +++ b/server/container/guice/jpa-guice/src/test/java/org/apache/james/JPAJamesServerWithAuthenticatedDatabaseSqlValidationTest.java @@ -24,7 +24,7 @@ import org.junit.jupiter.api.extension.RegisterExtension; class JPAJamesServerWithAuthenticatedDatabaseSqlValidationTest extends JPAJamesServerWithSqlValidationTest { @RegisterExtension - static JamesServerExtension jamesServerExtension = new JamesServerBuilder() + static JamesServerExtension jamesServerExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) .combineWith(JPAJamesServerMain.JPA_MODULE_AGGREGATE) .overrideWith(new TestJPAConfigurationModuleWithSqlValidation.WithDatabaseAuthentication(), DOMAIN_LIST_CONFIGURATION_MODULE)) diff --git a/server/container/guice/jpa-guice/src/test/java/org/apache/james/JPAJamesServerWithNoDatabaseAuthenticaticationSqlValidationTest.java b/server/container/guice/jpa-guice/src/test/java/org/apache/james/JPAJamesServerWithNoDatabaseAuthenticaticationSqlValidationTest.java index 2f4a70d..77f01cb 100644 --- a/server/container/guice/jpa-guice/src/test/java/org/apache/james/JPAJamesServerWithNoDatabaseAuthenticaticationSqlValidationTest.java +++ b/server/container/guice/jpa-guice/src/test/java/org/apache/james/JPAJamesServerWithNoDatabaseAuthenticaticationSqlValidationTest.java @@ -24,7 +24,7 @@ import org.junit.jupiter.api.extension.RegisterExtension; class JPAJamesServerWithNoDatabaseAuthenticaticationSqlValidationTest extends JPAJamesServerWithSqlValidationTest { @RegisterExtension - static JamesServerExtension jamesServerExtension = new JamesServerBuilder() + static JamesServerExtension jamesServerExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) .combineWith(JPAJamesServerMain.JPA_MODULE_AGGREGATE) .overrideWith(new TestJPAConfigurationModuleWithSqlValidation.NoDatabaseAuthentication(), DOMAIN_LIST_CONFIGURATION_MODULE)) diff --git a/server/container/guice/jpa-guice/src/test/java/org/apache/james/JamesCapabilitiesServerTest.java b/server/container/guice/jpa-guice/src/test/java/org/apache/james/JamesCapabilitiesServerTest.java index 4da401b..741b79c 100644 --- a/server/container/guice/jpa-guice/src/test/java/org/apache/james/JamesCapabilitiesServerTest.java +++ b/server/container/guice/jpa-guice/src/test/java/org/apache/james/JamesCapabilitiesServerTest.java @@ -40,7 +40,7 @@ class JamesCapabilitiesServerTest { } @RegisterExtension - static JamesServerExtension jamesServerExtension = new JamesServerBuilder() + static JamesServerExtension jamesServerExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) .combineWith(JPAJamesServerMain.JPA_MODULE_AGGREGATE) .overrideWith(new TestJPAConfigurationModule()) diff --git a/server/container/guice/memory-guice/src/test/java/org/apache/james/DefaultMemoryJamesServerTest.java b/server/container/guice/memory-guice/src/test/java/org/apache/james/DefaultMemoryJamesServerTest.java index 4cab899..19f1ef6 100644 --- a/server/container/guice/memory-guice/src/test/java/org/apache/james/DefaultMemoryJamesServerTest.java +++ b/server/container/guice/memory-guice/src/test/java/org/apache/james/DefaultMemoryJamesServerTest.java @@ -33,7 +33,7 @@ import org.junit.jupiter.api.extension.RegisterExtension; class DefaultMemoryJamesServerTest { @RegisterExtension - static JamesServerExtension jamesServerExtension = new JamesServerBuilder() + static JamesServerExtension jamesServerExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) .combineWith(MemoryJamesServerMain.IN_MEMORY_SERVER_AGGREGATE_MODULE) .overrideWith(new TestJMAPServerModule()) diff --git a/server/container/guice/memory-guice/src/test/java/org/apache/james/GuiceJamesServerStartUpCheckTest.java b/server/container/guice/memory-guice/src/test/java/org/apache/james/GuiceJamesServerStartUpCheckTest.java index 528090e..4dc1247 100644 --- a/server/container/guice/memory-guice/src/test/java/org/apache/james/GuiceJamesServerStartUpCheckTest.java +++ b/server/container/guice/memory-guice/src/test/java/org/apache/james/GuiceJamesServerStartUpCheckTest.java @@ -112,7 +112,7 @@ class GuiceJamesServerStartUpCheckTest { } private static JamesServerBuilder extensionBuilder() { - return new JamesServerBuilder() + return new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) .combineWith(MemoryJamesServerMain.IN_MEMORY_SERVER_AGGREGATE_MODULE) .overrideWith(new TestJMAPServerModule())) diff --git a/server/container/guice/memory-guice/src/test/java/org/apache/james/GuiceJamesServerTest.java b/server/container/guice/memory-guice/src/test/java/org/apache/james/GuiceJamesServerTest.java index e629ce5..398a52d 100644 --- a/server/container/guice/memory-guice/src/test/java/org/apache/james/GuiceJamesServerTest.java +++ b/server/container/guice/memory-guice/src/test/java/org/apache/james/GuiceJamesServerTest.java @@ -18,7 +18,7 @@ class GuiceJamesServerTest { private static final Logger LOGGER = LoggerFactory.getLogger(GuiceJamesServerTest.class); private static JamesServerBuilder extensionBuilder() { - return new JamesServerBuilder() + return new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) .combineWith(MemoryJamesServerMain.IN_MEMORY_SERVER_AGGREGATE_MODULE) .overrideWith(new TestJMAPServerModule())) diff --git a/server/container/guice/memory-guice/src/test/java/org/apache/james/GuiceLifecycleHeathCheckTest.java b/server/container/guice/memory-guice/src/test/java/org/apache/james/GuiceLifecycleHeathCheckTest.java index 60373d4..fed501c 100644 --- a/server/container/guice/memory-guice/src/test/java/org/apache/james/GuiceLifecycleHeathCheckTest.java +++ b/server/container/guice/memory-guice/src/test/java/org/apache/james/GuiceLifecycleHeathCheckTest.java @@ -47,7 +47,7 @@ import reactor.core.scheduler.Schedulers; class GuiceLifecycleHeathCheckTest { private static JamesServerBuilder extensionBuilder() { - return new JamesServerBuilder() + return new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) .combineWith(MemoryJamesServerMain.IN_MEMORY_SERVER_AGGREGATE_MODULE) .overrideWith(new TestJMAPServerModule()) diff --git a/server/container/guice/memory-guice/src/test/java/org/apache/james/LinshareBlobExportMechanismProvidingTest.java b/server/container/guice/memory-guice/src/test/java/org/apache/james/LinshareBlobExportMechanismProvidingTest.java index a6e022b..1974441 100644 --- a/server/container/guice/memory-guice/src/test/java/org/apache/james/LinshareBlobExportMechanismProvidingTest.java +++ b/server/container/guice/memory-guice/src/test/java/org/apache/james/LinshareBlobExportMechanismProvidingTest.java @@ -29,7 +29,7 @@ class LinshareBlobExportMechanismProvidingTest { private static final LinshareGuiceExtension linshareGuiceExtension = new LinshareGuiceExtension(); @RegisterExtension - static JamesServerExtension jamesServerExtension = new JamesServerBuilder() + static JamesServerExtension jamesServerExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .extension(linshareGuiceExtension) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) .combineWith(MemoryJamesServerMain.IN_MEMORY_SERVER_AGGREGATE_MODULE)) diff --git a/server/container/guice/memory-guice/src/test/java/org/apache/james/MemoryJamesServerTest.java b/server/container/guice/memory-guice/src/test/java/org/apache/james/MemoryJamesServerTest.java index af54b78..7f01fe1 100644 --- a/server/container/guice/memory-guice/src/test/java/org/apache/james/MemoryJamesServerTest.java +++ b/server/container/guice/memory-guice/src/test/java/org/apache/james/MemoryJamesServerTest.java @@ -26,7 +26,7 @@ import org.junit.jupiter.api.extension.RegisterExtension; class MemoryJamesServerTest implements JamesServerContract { @RegisterExtension - static JamesServerExtension jamesServerExtension = new JamesServerBuilder() + static JamesServerExtension jamesServerExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) .combineWith(MemoryJamesServerMain.IN_MEMORY_SERVER_AGGREGATE_MODULE) .overrideWith(new TestJMAPServerModule()) diff --git a/server/container/guice/memory-guice/src/test/java/org/apache/james/MemoryJmapJamesServerTest.java b/server/container/guice/memory-guice/src/test/java/org/apache/james/MemoryJmapJamesServerTest.java index ce86dd0..ffb3128 100644 --- a/server/container/guice/memory-guice/src/test/java/org/apache/james/MemoryJmapJamesServerTest.java +++ b/server/container/guice/memory-guice/src/test/java/org/apache/james/MemoryJmapJamesServerTest.java @@ -34,7 +34,7 @@ import org.junit.jupiter.api.extension.RegisterExtension; class MemoryJmapJamesServerTest { private static JamesServerBuilder extensionBuilder() { - return new JamesServerBuilder() + return new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) .combineWith(MemoryJamesServerMain.IN_MEMORY_SERVER_AGGREGATE_MODULE) .overrideWith(new TestJMAPServerModule()) diff --git a/server/container/guice/memory-guice/src/test/java/org/apache/james/WebAdminRoutesExtensionTest.java b/server/container/guice/memory-guice/src/test/java/org/apache/james/WebAdminRoutesExtensionTest.java index 2c21112..76b19cf 100644 --- a/server/container/guice/memory-guice/src/test/java/org/apache/james/WebAdminRoutesExtensionTest.java +++ b/server/container/guice/memory-guice/src/test/java/org/apache/james/WebAdminRoutesExtensionTest.java @@ -35,7 +35,7 @@ import io.restassured.RestAssured; class WebAdminRoutesExtensionTest { @RegisterExtension - static JamesServerExtension jamesServerExtension = new JamesServerBuilder() + static JamesServerExtension jamesServerExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) .combineWith(MemoryJamesServerMain.IN_MEMORY_SERVER_AGGREGATE_MODULE) .overrideWith(new TestJMAPServerModule()) diff --git a/server/protocols/jmap-draft-integration-testing/cassandra-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraImapErrorTest.java b/server/protocols/jmap-draft-integration-testing/cassandra-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraImapErrorTest.java index b789c13..d8b849d 100644 --- a/server/protocols/jmap-draft-integration-testing/cassandra-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraImapErrorTest.java +++ b/server/protocols/jmap-draft-integration-testing/cassandra-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraImapErrorTest.java @@ -49,7 +49,7 @@ class CassandraImapErrorTest { private final CassandraExtension cassandraExtension = new CassandraExtension(); @RegisterExtension - JamesServerExtension serverExtension = new JamesServerBuilder() + JamesServerExtension serverExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .extension(new DockerElasticSearchExtension()) .extension(cassandraExtension) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) diff --git a/server/protocols/jmap-draft-integration-testing/cassandra-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraSendMDNMethodTest.java b/server/protocols/jmap-draft-integration-testing/cassandra-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraSendMDNMethodTest.java index 6989142..72a756e 100644 --- a/server/protocols/jmap-draft-integration-testing/cassandra-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraSendMDNMethodTest.java +++ b/server/protocols/jmap-draft-integration-testing/cassandra-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraSendMDNMethodTest.java @@ -37,7 +37,7 @@ import org.junit.jupiter.api.extension.RegisterExtension; public class CassandraSendMDNMethodTest extends SendMDNMethodTest { @RegisterExtension - JamesServerExtension testExtension = new JamesServerBuilder() + JamesServerExtension testExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .extension(new DockerElasticSearchExtension()) .extension(new CassandraExtension()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) diff --git a/server/protocols/jmap-draft-integration-testing/cassandra-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraSpamAssassinContractTest.java b/server/protocols/jmap-draft-integration-testing/cassandra-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraSpamAssassinContractTest.java index 093ac2c..b188a2c 100644 --- a/server/protocols/jmap-draft-integration-testing/cassandra-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraSpamAssassinContractTest.java +++ b/server/protocols/jmap-draft-integration-testing/cassandra-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraSpamAssassinContractTest.java @@ -37,7 +37,7 @@ class CassandraSpamAssassinContractTest implements SpamAssassinContract { private static final SpamAssassinModuleExtension spamAssassinExtension = new SpamAssassinModuleExtension(); @RegisterExtension - static JamesServerExtension testExtension = new JamesServerBuilder() + static JamesServerExtension testExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .extension(new DockerElasticSearchExtension()) .extension(new CassandraExtension()) .extension(spamAssassinExtension) diff --git a/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/MemorySendMDNMethodTest.java b/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/MemorySendMDNMethodTest.java index 39c2675..e1a7a69 100644 --- a/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/MemorySendMDNMethodTest.java +++ b/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/MemorySendMDNMethodTest.java @@ -38,7 +38,7 @@ import org.junit.jupiter.api.extension.RegisterExtension; public class MemorySendMDNMethodTest extends SendMDNMethodTest { @RegisterExtension - JamesServerExtension testExtension = new JamesServerBuilder() + JamesServerExtension testExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) .combineWith(MemoryJamesServerMain.IN_MEMORY_SERVER_AGGREGATE_MODULE) .overrideWith(new TestJMAPServerModule()) diff --git a/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/MemorySpamAssassinContractTest.java b/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/MemorySpamAssassinContractTest.java index 1e6da62..315ccaf 100644 --- a/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/MemorySpamAssassinContractTest.java +++ b/server/protocols/jmap-draft-integration-testing/memory-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/memory/MemorySpamAssassinContractTest.java @@ -34,7 +34,7 @@ import org.junit.jupiter.api.extension.RegisterExtension; class MemorySpamAssassinContractTest implements SpamAssassinContract { @RegisterExtension - static JamesServerExtension testExtension = new JamesServerBuilder() + static JamesServerExtension testExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .extension(new SpamAssassinModuleExtension()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) .combineWith(MemoryJamesServerMain.IN_MEMORY_SERVER_AGGREGATE_MODULE) diff --git a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/RabbitMQAwsS3SendMDNMethodTest.java b/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/RabbitMQAwsS3SendMDNMethodTest.java index e9e07d9..5928d55 100644 --- a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/RabbitMQAwsS3SendMDNMethodTest.java +++ b/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/RabbitMQAwsS3SendMDNMethodTest.java @@ -20,9 +20,9 @@ package org.apache.james.jmap.rabbitmq; import org.apache.james.CassandraExtension; +import org.apache.james.CassandraRabbitMQJamesConfiguration; import org.apache.james.CassandraRabbitMQJamesServerMain; import org.apache.james.DockerElasticSearchExtension; -import org.apache.james.GuiceJamesServer; import org.apache.james.JamesServerBuilder; import org.apache.james.JamesServerExtension; import org.apache.james.jmap.draft.methods.integration.SendMDNMethodTest; @@ -39,13 +39,17 @@ import org.junit.jupiter.api.extension.RegisterExtension; public class RabbitMQAwsS3SendMDNMethodTest extends SendMDNMethodTest { @RegisterExtension - JamesServerExtension testExtension = new JamesServerBuilder() + JamesServerExtension testExtension = new JamesServerBuilder<CassandraRabbitMQJamesConfiguration>(tmpDir -> + CassandraRabbitMQJamesConfiguration.builder() + .workingDirectory(tmpDir) + .configurationFromClasspath() + .blobStore(BlobStoreConfiguration.objectStorage()) + .build()) .extension(new DockerElasticSearchExtension()) .extension(new CassandraExtension()) .extension(new AwsS3BlobStoreExtension()) .extension(new RabbitMQExtension()) - .server(configuration -> GuiceJamesServer.forConfiguration(configuration) - .combineWith(CassandraRabbitMQJamesServerMain.modules(BlobStoreConfiguration.objectStorage())) + .server(configuration -> CassandraRabbitMQJamesServerMain.createServer(configuration) .overrideWith(binder -> binder.bind(TextExtractor.class).to(PDFTextExtractor.class)) .overrideWith(new TestJMAPServerModule())) .build(); diff --git a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/RabbitMQAwsS3SpamAssassinContractTest.java b/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/RabbitMQAwsS3SpamAssassinContractTest.java index 9add76d..1c688de 100644 --- a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/RabbitMQAwsS3SpamAssassinContractTest.java +++ b/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/RabbitMQAwsS3SpamAssassinContractTest.java @@ -19,9 +19,9 @@ package org.apache.james.jmap.rabbitmq; import org.apache.james.CassandraExtension; +import org.apache.james.CassandraRabbitMQJamesConfiguration; import org.apache.james.CassandraRabbitMQJamesServerMain; import org.apache.james.DockerElasticSearchExtension; -import org.apache.james.GuiceJamesServer; import org.apache.james.JamesServerBuilder; import org.apache.james.JamesServerExtension; import org.apache.james.jmap.draft.methods.integration.SpamAssassinContract; @@ -38,14 +38,18 @@ class RabbitMQAwsS3SpamAssassinContractTest implements SpamAssassinContract { private static final SpamAssassinModuleExtension spamAssassinExtension = new SpamAssassinModuleExtension(); @RegisterExtension - static JamesServerExtension testExtension = new JamesServerBuilder() + static JamesServerExtension testExtension = new JamesServerBuilder<CassandraRabbitMQJamesConfiguration>(tmpDir -> + CassandraRabbitMQJamesConfiguration.builder() + .workingDirectory(tmpDir) + .configurationFromClasspath() + .blobStore(BlobStoreConfiguration.objectStorage()) + .build()) .extension(new DockerElasticSearchExtension()) .extension(new CassandraExtension()) .extension(new RabbitMQExtension()) .extension(new AwsS3BlobStoreExtension()) .extension(spamAssassinExtension) - .server(configuration -> GuiceJamesServer.forConfiguration(configuration) - .combineWith(CassandraRabbitMQJamesServerMain.modules(BlobStoreConfiguration.objectStorage())) + .server(configuration -> CassandraRabbitMQJamesServerMain.createServer(configuration) .overrideWith(binder -> binder.bind(TextExtractor.class).to(PDFTextExtractor.class)) .overrideWith(new TestJMAPServerModule())) .build(); diff --git a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQAwsS3Stepdefs.java b/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQAwsS3Stepdefs.java index e26ced9..f9b4911 100644 --- a/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQAwsS3Stepdefs.java +++ b/server/protocols/jmap-draft-integration-testing/rabbitmq-jmap-draft-integration-testing/src/test/java/org/apache/james/jmap/rabbitmq/cucumber/awss3/RabbitMQAwsS3Stepdefs.java @@ -25,11 +25,11 @@ import javax.inject.Inject; import org.apache.activemq.store.PersistenceAdapter; import org.apache.activemq.store.memory.MemoryPersistenceAdapter; +import org.apache.james.CassandraRabbitMQJamesConfiguration; import org.apache.james.CassandraRabbitMQJamesServerMain; import org.apache.james.CleanupTasksPerformer; import org.apache.james.DockerCassandraRule; import org.apache.james.DockerElasticSearchRule; -import org.apache.james.GuiceJamesServer; import org.apache.james.jmap.draft.methods.integration.cucumber.ImapStepdefs; import org.apache.james.jmap.draft.methods.integration.cucumber.MainStepdefs; import org.apache.james.mailbox.cassandra.ids.CassandraMessageId; @@ -42,7 +42,6 @@ import org.apache.james.modules.TestRabbitMQModule; import org.apache.james.modules.blobstore.BlobStoreConfiguration; import org.apache.james.modules.objectstorage.aws.s3.DockerAwsS3TestRule; import org.apache.james.server.CassandraTruncateTableTask; -import org.apache.james.server.core.configuration.Configuration; import org.junit.rules.TemporaryFolder; import com.github.fge.lambdas.runnable.ThrowingRunnable; @@ -78,14 +77,14 @@ public class RabbitMQAwsS3Stepdefs { temporaryFolder.create(); mainStepdefs.messageIdFactory = new CassandraMessageId.Factory(); - Configuration configuration = Configuration.builder() - .workingDirectory(temporaryFolder.newFolder()) - .configurationFromClasspath() - .build(); - - mainStepdefs.jmapServer = GuiceJamesServer.forConfiguration(configuration) - .combineWith(CassandraRabbitMQJamesServerMain.modules(BlobStoreConfiguration.objectStorage())) - .overrideWith(new TestJMAPServerModule()) + CassandraRabbitMQJamesConfiguration configuration = CassandraRabbitMQJamesConfiguration.builder() + .workingDirectory(temporaryFolder.newFolder()) + .configurationFromClasspath() + .blobStore(BlobStoreConfiguration.objectStorage()) + .build(); + + mainStepdefs.jmapServer = CassandraRabbitMQJamesServerMain.createServer(configuration) + .overrideWith(new TestJMAPServerModule()) .overrideWith(new TestDockerESMetricReporterModule(elasticSearch.getDockerEs().getHttpHost())) .overrideWith(new TestRabbitMQModule(rabbitMQServer.dockerRabbitMQ())) .overrideWith(swiftServer.getModule()) diff --git a/server/protocols/jmap-rfc-8621-integration-tests/distributed-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/distributed/DistributedEchoMethodTest.java b/server/protocols/jmap-rfc-8621-integration-tests/distributed-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/distributed/DistributedEchoMethodTest.java index 8583337..0785c18 100644 --- a/server/protocols/jmap-rfc-8621-integration-tests/distributed-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/distributed/DistributedEchoMethodTest.java +++ b/server/protocols/jmap-rfc-8621-integration-tests/distributed-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/distributed/DistributedEchoMethodTest.java @@ -20,6 +20,7 @@ package org.apache.james.jmap.rfc8621.distributed; import org.apache.james.CassandraExtension; +import org.apache.james.CassandraRabbitMQJamesConfiguration; import org.apache.james.CassandraRabbitMQJamesServerMain; import org.apache.james.DockerElasticSearchExtension; import org.apache.james.GuiceJamesServer; @@ -29,18 +30,23 @@ import org.apache.james.jmap.rfc8621.contract.EchoMethodContract; import org.apache.james.modules.AwsS3BlobStoreExtension; import org.apache.james.modules.RabbitMQExtension; import org.apache.james.modules.TestJMAPServerModule; +import org.apache.james.modules.blobstore.BlobStoreConfiguration; import org.junit.jupiter.api.extension.RegisterExtension; public class DistributedEchoMethodTest implements EchoMethodContract { @RegisterExtension - static JamesServerExtension testExtension = new JamesServerBuilder() + static JamesServerExtension testExtension = new JamesServerBuilder<CassandraRabbitMQJamesConfiguration>(tmpDir -> + CassandraRabbitMQJamesConfiguration.builder() + .workingDirectory(tmpDir) + .configurationFromClasspath() + .blobStore(BlobStoreConfiguration.objectStorage()) + .build()) .extension(new DockerElasticSearchExtension()) .extension(new CassandraExtension()) .extension(new RabbitMQExtension()) .extension(new AwsS3BlobStoreExtension()) - .server(configuration -> GuiceJamesServer.forConfiguration(configuration) - .combineWith(CassandraRabbitMQJamesServerMain.MODULES) + .server(configuration -> CassandraRabbitMQJamesServerMain.createServer(configuration) .overrideWith(new TestJMAPServerModule())) .build(); } diff --git a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/ConsistencyTasksIntegrationTest.java b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/ConsistencyTasksIntegrationTest.java index c7f6bf6..732db78 100644 --- a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/ConsistencyTasksIntegrationTest.java +++ b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/ConsistencyTasksIntegrationTest.java @@ -40,6 +40,7 @@ import java.io.IOException; import java.time.Duration; import org.apache.james.CassandraExtension; +import org.apache.james.CassandraRabbitMQJamesConfiguration; import org.apache.james.CassandraRabbitMQJamesServerMain; import org.apache.james.DockerElasticSearchExtension; import org.apache.james.GuiceJamesServer; @@ -122,13 +123,17 @@ class ConsistencyTasksIntegrationTest { } @RegisterExtension - static JamesServerExtension testExtension = new JamesServerBuilder() + static JamesServerExtension testExtension = new JamesServerBuilder<CassandraRabbitMQJamesConfiguration>(tmpDir -> + CassandraRabbitMQJamesConfiguration.builder() + .workingDirectory(tmpDir) + .configurationFromClasspath() + .blobStore(BlobStoreConfiguration.objectStorage()) + .build()) .extension(new DockerElasticSearchExtension()) .extension(new CassandraExtension()) .extension(new AwsS3BlobStoreExtension()) .extension(new RabbitMQExtension()) - .server(configuration -> GuiceJamesServer.forConfiguration(configuration) - .combineWith(CassandraRabbitMQJamesServerMain.modules(BlobStoreConfiguration.objectStorage())) + .server(configuration -> CassandraRabbitMQJamesServerMain.createServer(configuration) .overrideWith(new WebadminIntegrationTestModule()) // Enforce a single eventBus retry. Required as Current Quotas are handled by the eventBus. .overrideWith(binder -> binder.bind(RetryBackoffConfiguration.class) diff --git a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/FixingGhostMailboxTest.java b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/FixingGhostMailboxTest.java index 2f4beb1..94f85fd 100644 --- a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/FixingGhostMailboxTest.java +++ b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/FixingGhostMailboxTest.java @@ -43,6 +43,7 @@ import java.nio.charset.StandardCharsets; import java.util.concurrent.TimeUnit; import org.apache.james.CassandraExtension; +import org.apache.james.CassandraRabbitMQJamesConfiguration; import org.apache.james.CassandraRabbitMQJamesServerMain; import org.apache.james.DockerElasticSearchExtension; import org.apache.james.GuiceJamesServer; @@ -109,13 +110,17 @@ class FixingGhostMailboxTest { private static final Duration THIRTY_SECONDS = new Duration(30, TimeUnit.SECONDS); @RegisterExtension - static JamesServerExtension testExtension = new JamesServerBuilder() + static JamesServerExtension testExtension = new JamesServerBuilder<CassandraRabbitMQJamesConfiguration>(tmpDir -> + CassandraRabbitMQJamesConfiguration.builder() + .workingDirectory(tmpDir) + .configurationFromClasspath() + .blobStore(BlobStoreConfiguration.objectStorage()) + .build()) .extension(new DockerElasticSearchExtension()) .extension(new CassandraExtension()) .extension(new AwsS3BlobStoreExtension()) .extension(new RabbitMQExtension()) - .server(configuration -> GuiceJamesServer.forConfiguration(configuration) - .combineWith(CassandraRabbitMQJamesServerMain.modules(BlobStoreConfiguration.objectStorage())) + .server(configuration -> CassandraRabbitMQJamesServerMain.createServer(configuration) .overrideWith(new TestJMAPServerModule()) .overrideWith(new WebadminIntegrationTestModule())) .build(); diff --git a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQAuthorizedEndpointsTest.java b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQAuthorizedEndpointsTest.java index db84cb2..3e705ba 100644 --- a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQAuthorizedEndpointsTest.java +++ b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQAuthorizedEndpointsTest.java @@ -20,9 +20,9 @@ package org.apache.james.webadmin.integration.rabbitmq; import org.apache.james.CassandraExtension; +import org.apache.james.CassandraRabbitMQJamesConfiguration; import org.apache.james.CassandraRabbitMQJamesServerMain; import org.apache.james.DockerElasticSearchExtension; -import org.apache.james.GuiceJamesServer; import org.apache.james.JamesServerBuilder; import org.apache.james.JamesServerExtension; import org.apache.james.junit.categories.BasicFeature; @@ -39,13 +39,17 @@ import org.junit.jupiter.api.extension.RegisterExtension; class RabbitMQAuthorizedEndpointsTest extends AuthorizedEndpointsTest { @RegisterExtension - static JamesServerExtension testExtension = new JamesServerBuilder() + static JamesServerExtension testExtension = new JamesServerBuilder<CassandraRabbitMQJamesConfiguration>(tmpDir -> + CassandraRabbitMQJamesConfiguration.builder() + .workingDirectory(tmpDir) + .configurationFromClasspath() + .blobStore(BlobStoreConfiguration.objectStorage()) + .build()) .extension(new DockerElasticSearchExtension()) .extension(new CassandraExtension()) .extension(new AwsS3BlobStoreExtension()) .extension(new RabbitMQExtension()) - .server(configuration -> GuiceJamesServer.forConfiguration(configuration) - .combineWith(CassandraRabbitMQJamesServerMain.modules(BlobStoreConfiguration.objectStorage())) + .server(configuration -> CassandraRabbitMQJamesServerMain.createServer(configuration) .overrideWith(new UnauthorizedModule()) .overrideWith(new WebadminIntegrationTestModule())) .build(); diff --git a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQEventDeadLettersIntegrationTest.java b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQEventDeadLettersIntegrationTest.java index 16aeca7..ba29e44 100644 --- a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQEventDeadLettersIntegrationTest.java +++ b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQEventDeadLettersIntegrationTest.java @@ -37,6 +37,7 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; import org.apache.james.CassandraExtension; +import org.apache.james.CassandraRabbitMQJamesConfiguration; import org.apache.james.CassandraRabbitMQJamesServerMain; import org.apache.james.DockerElasticSearchExtension; import org.apache.james.GuiceJamesServer; @@ -199,14 +200,18 @@ class RabbitMQEventDeadLettersIntegrationTest { private static RabbitMQExtension RABBIT_MQ_EXTENSION = new RabbitMQExtension(); @RegisterExtension - static JamesServerExtension testExtension = new JamesServerBuilder() + static JamesServerExtension testExtension = new JamesServerBuilder<CassandraRabbitMQJamesConfiguration>(tmpDir -> + CassandraRabbitMQJamesConfiguration.builder() + .workingDirectory(tmpDir) + .configurationFromClasspath() + .blobStore(BlobStoreConfiguration.objectStorage()) + .build()) .extension(new DockerElasticSearchExtension()) .extension(new CassandraExtension()) .extension(new AwsS3BlobStoreExtension()) .extension(RABBIT_MQ_EXTENSION) .extension(new RetryEventsListenerExtension()) - .server(configuration -> GuiceJamesServer.forConfiguration(configuration) - .combineWith(CassandraRabbitMQJamesServerMain.modules(BlobStoreConfiguration.objectStorage())) + .server(configuration -> CassandraRabbitMQJamesServerMain.createServer(configuration) .overrideWith(new WebadminIntegrationTestModule()) .overrideWith(binder -> binder.bind(RetryBackoffConfiguration.class) .toInstance(RetryBackoffConfiguration.builder() diff --git a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQFastViewProjectionHealthCheckIntegrationTest.java b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQFastViewProjectionHealthCheckIntegrationTest.java index 4010e06..f075d89 100644 --- a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQFastViewProjectionHealthCheckIntegrationTest.java +++ b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQFastViewProjectionHealthCheckIntegrationTest.java @@ -20,9 +20,9 @@ package org.apache.james.webadmin.integration.rabbitmq; import org.apache.james.CassandraExtension; +import org.apache.james.CassandraRabbitMQJamesConfiguration; import org.apache.james.CassandraRabbitMQJamesServerMain; import org.apache.james.DockerElasticSearchExtension; -import org.apache.james.GuiceJamesServer; import org.apache.james.JamesServerBuilder; import org.apache.james.JamesServerExtension; import org.apache.james.modules.AwsS3BlobStoreExtension; @@ -34,15 +34,18 @@ import org.apache.james.webadmin.integration.WebadminIntegrationTestModule; import org.junit.jupiter.api.extension.RegisterExtension; class RabbitMQFastViewProjectionHealthCheckIntegrationTest extends FastViewProjectionHealthCheckIntegrationContract { - @RegisterExtension - static JamesServerExtension testExtension = new JamesServerBuilder() + static JamesServerExtension testExtension = new JamesServerBuilder<CassandraRabbitMQJamesConfiguration>(tmpDir -> + CassandraRabbitMQJamesConfiguration.builder() + .workingDirectory(tmpDir) + .configurationFromClasspath() + .blobStore(BlobStoreConfiguration.objectStorage()) + .build()) .extension(new DockerElasticSearchExtension()) .extension(new CassandraExtension()) .extension(new AwsS3BlobStoreExtension()) .extension(new RabbitMQExtension()) - .server(configuration -> GuiceJamesServer.forConfiguration(configuration) - .combineWith(CassandraRabbitMQJamesServerMain.modules(BlobStoreConfiguration.objectStorage())) + .server(configuration -> CassandraRabbitMQJamesServerMain.createServer(configuration) .overrideWith(new TestJMAPServerModule()) .overrideWith(new WebadminIntegrationTestModule())) .build(); diff --git a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQForwardIntegrationTest.java b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQForwardIntegrationTest.java index dfa93ad..21b3475 100644 --- a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQForwardIntegrationTest.java +++ b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQForwardIntegrationTest.java @@ -20,9 +20,9 @@ package org.apache.james.webadmin.integration.rabbitmq; import org.apache.james.CassandraExtension; +import org.apache.james.CassandraRabbitMQJamesConfiguration; import org.apache.james.CassandraRabbitMQJamesServerMain; import org.apache.james.DockerElasticSearchExtension; -import org.apache.james.GuiceJamesServer; import org.apache.james.JamesServerBuilder; import org.apache.james.JamesServerExtension; import org.apache.james.modules.AwsS3BlobStoreExtension; @@ -34,15 +34,18 @@ import org.apache.james.webadmin.integration.WebadminIntegrationTestModule; import org.junit.jupiter.api.extension.RegisterExtension; class RabbitMQForwardIntegrationTest extends ForwardIntegrationTest { - @RegisterExtension - static JamesServerExtension testExtension = new JamesServerBuilder() + static JamesServerExtension testExtension = new JamesServerBuilder<CassandraRabbitMQJamesConfiguration>(tmpDir -> + CassandraRabbitMQJamesConfiguration.builder() + .workingDirectory(tmpDir) + .configurationFromClasspath() + .blobStore(BlobStoreConfiguration.objectStorage()) + .build()) .extension(new DockerElasticSearchExtension()) .extension(new CassandraExtension()) .extension(new AwsS3BlobStoreExtension()) .extension(new RabbitMQExtension()) - .server(configuration -> GuiceJamesServer.forConfiguration(configuration) - .combineWith(CassandraRabbitMQJamesServerMain.modules(BlobStoreConfiguration.objectStorage())) + .server(configuration -> CassandraRabbitMQJamesServerMain.createServer(configuration) .overrideWith(new TestJMAPServerModule()) .overrideWith(new WebadminIntegrationTestModule())) .build(); diff --git a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQJmapExtension.java b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQJmapExtension.java index 57ac262..3854232 100644 --- a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQJmapExtension.java +++ b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQJmapExtension.java @@ -23,6 +23,7 @@ import java.util.Optional; import java.util.function.Consumer; import java.util.function.Supplier; +import org.apache.james.CassandraRabbitMQJamesConfiguration; import org.apache.james.CassandraRabbitMQJamesServerMain; import org.apache.james.CleanupTasksPerformer; import org.apache.james.DockerCassandraRule; @@ -35,7 +36,6 @@ import org.apache.james.modules.TestDockerESMetricReporterModule; import org.apache.james.modules.TestRabbitMQModule; import org.apache.james.modules.blobstore.BlobStoreConfiguration; import org.apache.james.modules.objectstorage.aws.s3.DockerAwsS3TestRule; -import org.apache.james.server.core.configuration.Configuration; import org.apache.james.util.FunctionalUtils; import org.apache.james.util.Runnables; import org.apache.james.webadmin.integration.UnauthorizedModule; @@ -148,13 +148,13 @@ public class RabbitMQJmapExtension implements BeforeAllCallback, AfterAllCallbac } private GuiceJamesServer james() throws IOException { - Configuration configuration = Configuration.builder() - .workingDirectory(temporaryFolder.newFolder()) - .configurationFromClasspath() - .build(); + CassandraRabbitMQJamesConfiguration configuration = CassandraRabbitMQJamesConfiguration.builder() + .workingDirectory(temporaryFolder.newFolder()) + .configurationFromClasspath() + .blobStore(BlobStoreConfiguration.objectStorage()) + .build(); - return GuiceJamesServer.forConfiguration(configuration) - .combineWith(CassandraRabbitMQJamesServerMain.modules(BlobStoreConfiguration.objectStorage())) + return CassandraRabbitMQJamesServerMain.createServer(configuration) .overrideWith(binder -> binder.bind(TextExtractor.class).to(PDFTextExtractor.class)) .overrideWith(new TestDockerESMetricReporterModule(elasticSearchRule.getDockerEs().getHttpHost())) .overrideWith(cassandra.getModule()) diff --git a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQJwtFilterIntegrationTest.java b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQJwtFilterIntegrationTest.java index 62a3267..57d3f34 100644 --- a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQJwtFilterIntegrationTest.java +++ b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQJwtFilterIntegrationTest.java @@ -20,9 +20,9 @@ package org.apache.james.webadmin.integration.rabbitmq; import org.apache.james.CassandraExtension; +import org.apache.james.CassandraRabbitMQJamesConfiguration; import org.apache.james.CassandraRabbitMQJamesServerMain; import org.apache.james.DockerElasticSearchExtension; -import org.apache.james.GuiceJamesServer; import org.apache.james.JamesServerBuilder; import org.apache.james.JamesServerExtension; import org.apache.james.jwt.JwtConfiguration; @@ -36,15 +36,18 @@ import org.apache.james.webadmin.integration.WebadminIntegrationTestModule; import org.junit.jupiter.api.extension.RegisterExtension; class RabbitMQJwtFilterIntegrationTest extends JwtFilterIntegrationTest { - @RegisterExtension - static JamesServerExtension testExtension = new JamesServerBuilder() + static JamesServerExtension testExtension = new JamesServerBuilder<CassandraRabbitMQJamesConfiguration>(tmpDir -> + CassandraRabbitMQJamesConfiguration.builder() + .workingDirectory(tmpDir) + .configurationFromClasspath() + .blobStore(BlobStoreConfiguration.objectStorage()) + .build()) .extension(new DockerElasticSearchExtension()) .extension(new CassandraExtension()) .extension(new AwsS3BlobStoreExtension()) .extension(new RabbitMQExtension()) - .server(configuration -> GuiceJamesServer.forConfiguration(configuration) - .combineWith(CassandraRabbitMQJamesServerMain.modules(BlobStoreConfiguration.objectStorage())) + .server(configuration -> CassandraRabbitMQJamesServerMain.createServer(configuration) .overrideWith(binder -> binder.bind(AuthenticationFilter.class).to(JwtFilter.class)) .overrideWith(binder -> binder.bind(JwtConfiguration.class).toInstance(jwtConfiguration())) .overrideWith(new WebadminIntegrationTestModule())) diff --git a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQReindexingWithEventDeadLettersTest.java b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQReindexingWithEventDeadLettersTest.java index 0693461..bac2a47 100644 --- a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQReindexingWithEventDeadLettersTest.java +++ b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQReindexingWithEventDeadLettersTest.java @@ -33,6 +33,7 @@ import static org.awaitility.Duration.ONE_HUNDRED_MILLISECONDS; import java.util.List; import org.apache.james.CassandraExtension; +import org.apache.james.CassandraRabbitMQJamesConfiguration; import org.apache.james.CassandraRabbitMQJamesServerMain; import org.apache.james.DockerElasticSearchExtension; import org.apache.james.GuiceJamesServer; @@ -80,20 +81,21 @@ class RabbitMQReindexingWithEventDeadLettersTest { private static final DockerElasticSearchExtension dockerElasticSearch = new DockerElasticSearchExtension().withRequestTimeout(java.time.Duration.ofSeconds(5)); - private static final JamesServerBuilder.ServerProvider CONFIGURATION_BUILDER = configuration -> GuiceJamesServer - .forConfiguration(configuration) - .combineWith(CassandraRabbitMQJamesServerMain.modules(BlobStoreConfiguration.objectStorage())) - .overrideWith(new TestJMAPServerModule()) - .overrideWith(JmapJamesServerContract.DOMAIN_LIST_CONFIGURATION_MODULE) - .overrideWith(new WebadminIntegrationTestModule()); - @RegisterExtension - static JamesServerExtension testExtension = new JamesServerBuilder() + static JamesServerExtension testExtension = new JamesServerBuilder<CassandraRabbitMQJamesConfiguration>(tmpDir -> + CassandraRabbitMQJamesConfiguration.builder() + .workingDirectory(tmpDir) + .configurationFromClasspath() + .blobStore(BlobStoreConfiguration.objectStorage()) + .build()) .extension(dockerElasticSearch) .extension(new CassandraExtension()) .extension(new RabbitMQExtension()) .extension(new AwsS3BlobStoreExtension(PayloadCodecFactory.AES256)) - .server(CONFIGURATION_BUILDER) + .server(configuration -> CassandraRabbitMQJamesServerMain.createServer(configuration) + .overrideWith(new TestJMAPServerModule()) + .overrideWith(JmapJamesServerContract.DOMAIN_LIST_CONFIGURATION_MODULE) + .overrideWith(new WebadminIntegrationTestModule())) .build(); private RequestSpecification webAdminApi; diff --git a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQWebAdminServerIntegrationTest.java b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQWebAdminServerIntegrationTest.java index 69578e6..8e1ba0d 100644 --- a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQWebAdminServerIntegrationTest.java +++ b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQWebAdminServerIntegrationTest.java @@ -30,9 +30,9 @@ import static org.hamcrest.Matchers.hasSize; import static org.hamcrest.Matchers.is; import org.apache.james.CassandraExtension; +import org.apache.james.CassandraRabbitMQJamesConfiguration; import org.apache.james.CassandraRabbitMQJamesServerMain; import org.apache.james.DockerElasticSearchExtension; -import org.apache.james.GuiceJamesServer; import org.apache.james.JamesServerBuilder; import org.apache.james.JamesServerExtension; import org.apache.james.backends.cassandra.versions.CassandraSchemaVersionManager; @@ -59,13 +59,17 @@ import io.restassured.http.ContentType; class RabbitMQWebAdminServerIntegrationTest extends WebAdminServerIntegrationTest { @RegisterExtension - static JamesServerExtension testExtension = new JamesServerBuilder() + static JamesServerExtension testExtension = new JamesServerBuilder<CassandraRabbitMQJamesConfiguration>(tmpDir -> + CassandraRabbitMQJamesConfiguration.builder() + .workingDirectory(tmpDir) + .configurationFromClasspath() + .blobStore(BlobStoreConfiguration.objectStorage()) + .build()) .extension(new DockerElasticSearchExtension()) .extension(new CassandraExtension()) .extension(new AwsS3BlobStoreExtension()) .extension(new RabbitMQExtension()) - .server(configuration -> GuiceJamesServer.forConfiguration(configuration) - .combineWith(CassandraRabbitMQJamesServerMain.modules(BlobStoreConfiguration.objectStorage())) + .server(configuration -> CassandraRabbitMQJamesServerMain.createServer(configuration) .overrideWith(new WebadminIntegrationTestModule())) .build(); diff --git a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQWebAdminServerTaskSerializationIntegrationTest.java b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQWebAdminServerTaskSerializationIntegrationTest.java index bfbf653f..855ee86 100644 --- a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQWebAdminServerTaskSerializationIntegrationTest.java +++ b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQWebAdminServerTaskSerializationIntegrationTest.java @@ -38,6 +38,7 @@ import java.util.stream.Stream; import javax.mail.Flags; import org.apache.james.CassandraExtension; +import org.apache.james.CassandraRabbitMQJamesConfiguration; import org.apache.james.CassandraRabbitMQJamesServerMain; import org.apache.james.DockerElasticSearchExtension; import org.apache.james.GuiceJamesServer; @@ -97,13 +98,17 @@ import io.restassured.http.ContentType; class RabbitMQWebAdminServerTaskSerializationIntegrationTest { @RegisterExtension - static JamesServerExtension testExtension = new JamesServerBuilder() + static JamesServerExtension testExtension = new JamesServerBuilder<CassandraRabbitMQJamesConfiguration>(tmpDir -> + CassandraRabbitMQJamesConfiguration.builder() + .workingDirectory(tmpDir) + .configurationFromClasspath() + .blobStore(BlobStoreConfiguration.objectStorage()) + .build()) .extension(new DockerElasticSearchExtension()) .extension(new CassandraExtension()) .extension(new AwsS3BlobStoreExtension()) .extension(new RabbitMQExtension()) - .server(configuration -> GuiceJamesServer.forConfiguration(configuration) - .combineWith(CassandraRabbitMQJamesServerMain.modules(BlobStoreConfiguration.objectStorage())) + .server(configuration -> CassandraRabbitMQJamesServerMain.createServer(configuration) .overrideWith(new WebadminIntegrationTestModule())) .build(); diff --git a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/vault/RabbitMQDeletedMessageVaultIntegrationTest.java b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/vault/RabbitMQDeletedMessageVaultIntegrationTest.java index e0f3d67..ff6780f 100644 --- a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/vault/RabbitMQDeletedMessageVaultIntegrationTest.java +++ b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/vault/RabbitMQDeletedMessageVaultIntegrationTest.java @@ -20,9 +20,9 @@ package org.apache.james.webadmin.integration.rabbitmq.vault; import org.apache.james.CassandraExtension; +import org.apache.james.CassandraRabbitMQJamesConfiguration; import org.apache.james.CassandraRabbitMQJamesServerMain; import org.apache.james.DockerElasticSearchExtension; -import org.apache.james.GuiceJamesServer; import org.apache.james.JamesServerBuilder; import org.apache.james.JamesServerExtension; import org.apache.james.modules.AwsS3BlobStoreExtension; @@ -39,14 +39,18 @@ class RabbitMQDeletedMessageVaultIntegrationTest extends DeletedMessageVaultInte private static final DockerElasticSearchExtension ES_EXTENSION = new DockerElasticSearchExtension(); @RegisterExtension - static JamesServerExtension testExtension = new JamesServerBuilder() + static JamesServerExtension testExtension = new JamesServerBuilder<CassandraRabbitMQJamesConfiguration>(tmpDir -> + CassandraRabbitMQJamesConfiguration.builder() + .workingDirectory(tmpDir) + .configurationFromClasspath() + .blobStore(BlobStoreConfiguration.objectStorage()) + .build()) .extension(ES_EXTENSION) .extension(new CassandraExtension()) .extension(new AwsS3BlobStoreExtension()) .extension(new RabbitMQExtension()) .extension(new ClockExtension()) - .server(configuration -> GuiceJamesServer.forConfiguration(configuration) - .combineWith(CassandraRabbitMQJamesServerMain.modules(BlobStoreConfiguration.objectStorage())) + .server(configuration -> CassandraRabbitMQJamesServerMain.createServer(configuration) .overrideWith(new TestJMAPServerModule()) .overrideWith(new TestDeleteMessageVaultPreDeletionHookModule()) .overrideWith(new WebadminIntegrationTestModule())) diff --git a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/vault/RabbitMQLinshareBlobExportMechanismIntegrationTest.java b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/vault/RabbitMQLinshareBlobExportMechanismIntegrationTest.java index 179d642..36ee9a1 100644 --- a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/vault/RabbitMQLinshareBlobExportMechanismIntegrationTest.java +++ b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/vault/RabbitMQLinshareBlobExportMechanismIntegrationTest.java @@ -20,9 +20,9 @@ package org.apache.james.webadmin.integration.rabbitmq.vault; import org.apache.james.CassandraExtension; +import org.apache.james.CassandraRabbitMQJamesConfiguration; import org.apache.james.CassandraRabbitMQJamesServerMain; import org.apache.james.DockerElasticSearchExtension; -import org.apache.james.GuiceJamesServer; import org.apache.james.JamesServerBuilder; import org.apache.james.JamesServerExtension; import org.apache.james.backends.rabbitmq.DockerRabbitMQSingleton; @@ -41,14 +41,18 @@ import org.junit.jupiter.api.extension.RegisterExtension; class RabbitMQLinshareBlobExportMechanismIntegrationTest extends LinshareBlobExportMechanismIntegrationTest { @RegisterExtension - static JamesServerExtension testExtension = new JamesServerBuilder() + static JamesServerExtension testExtension = new JamesServerBuilder<CassandraRabbitMQJamesConfiguration>(tmpDir -> + CassandraRabbitMQJamesConfiguration.builder() + .workingDirectory(tmpDir) + .configurationFromClasspath() + .blobStore(BlobStoreConfiguration.objectStorage()) + .build()) .extension(new DockerElasticSearchExtension()) .extension(new CassandraExtension()) .extension(new RabbitMQExtension()) .extension(new AwsS3BlobStoreExtension()) .extension(new LinshareGuiceExtension()) - .server(configuration -> GuiceJamesServer.forConfiguration(configuration) - .combineWith(CassandraRabbitMQJamesServerMain.modules(BlobStoreConfiguration.objectStorage())) + .server(configuration -> CassandraRabbitMQJamesServerMain.createServer(configuration) .overrideWith(binder -> binder.bind(TextExtractor.class).to(PDFTextExtractor.class)) .overrideWith(new TestJMAPServerModule()) .overrideWith(new TestRabbitMQModule(DockerRabbitMQSingleton.SINGLETON)) diff --git a/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryAuthorizedEndpointsTest.java b/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryAuthorizedEndpointsTest.java index 42eb364..c1aa2f8 100644 --- a/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryAuthorizedEndpointsTest.java +++ b/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryAuthorizedEndpointsTest.java @@ -31,7 +31,7 @@ import org.junit.jupiter.api.extension.RegisterExtension; class MemoryAuthorizedEndpointsTest extends AuthorizedEndpointsTest { @RegisterExtension - static JamesServerExtension jamesServerExtension = new JamesServerBuilder() + static JamesServerExtension jamesServerExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) .combineWith(MemoryJamesServerMain.IN_MEMORY_SERVER_AGGREGATE_MODULE) .overrideWith(new WebadminIntegrationTestModule()) diff --git a/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryFastViewProjectionHealthCheckIntegrationTest.java b/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryFastViewProjectionHealthCheckIntegrationTest.java index 368dbe7..d575c09 100644 --- a/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryFastViewProjectionHealthCheckIntegrationTest.java +++ b/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryFastViewProjectionHealthCheckIntegrationTest.java @@ -30,7 +30,7 @@ import org.junit.jupiter.api.extension.RegisterExtension; class MemoryFastViewProjectionHealthCheckIntegrationTest extends FastViewProjectionHealthCheckIntegrationContract { @RegisterExtension - static JamesServerExtension jamesServerExtension = new JamesServerBuilder() + static JamesServerExtension jamesServerExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) .combineWith(MemoryJamesServerMain.IN_MEMORY_SERVER_AGGREGATE_MODULE) .overrideWith(new TestJMAPServerModule()) diff --git a/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryForwardIntegrationTest.java b/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryForwardIntegrationTest.java index 710bb09..6a157c3 100644 --- a/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryForwardIntegrationTest.java +++ b/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryForwardIntegrationTest.java @@ -31,7 +31,7 @@ import org.junit.jupiter.api.extension.RegisterExtension; class MemoryForwardIntegrationTest extends ForwardIntegrationTest { @RegisterExtension - static JamesServerExtension jamesServerExtension = new JamesServerBuilder() + static JamesServerExtension jamesServerExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) .combineWith(MemoryJamesServerMain.IN_MEMORY_SERVER_AGGREGATE_MODULE) .overrideWith(new TestJMAPServerModule()) diff --git a/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryJwtFilterIntegrationTest.java b/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryJwtFilterIntegrationTest.java index f62bd7b..2ee1a30 100644 --- a/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryJwtFilterIntegrationTest.java +++ b/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryJwtFilterIntegrationTest.java @@ -33,7 +33,7 @@ import org.junit.jupiter.api.extension.RegisterExtension; class MemoryJwtFilterIntegrationTest extends JwtFilterIntegrationTest { @RegisterExtension - static JamesServerExtension jamesServerExtension = new JamesServerBuilder() + static JamesServerExtension jamesServerExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) .combineWith(MemoryJamesServerMain.IN_MEMORY_SERVER_AGGREGATE_MODULE) .overrideWith(new WebadminIntegrationTestModule()) diff --git a/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryUnauthorizedEndpointsTest.java b/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryUnauthorizedEndpointsTest.java index 7a8a1ca..83a030a 100644 --- a/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryUnauthorizedEndpointsTest.java +++ b/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryUnauthorizedEndpointsTest.java @@ -32,7 +32,7 @@ import org.junit.jupiter.api.extension.RegisterExtension; class MemoryUnauthorizedEndpointsTest extends UnauthorizedEndpointsTest { @RegisterExtension - static JamesServerExtension jamesServerExtension = new JamesServerBuilder() + static JamesServerExtension jamesServerExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) .combineWith(MemoryJamesServerMain.IN_MEMORY_SERVER_AGGREGATE_MODULE) .overrideWith(new TestDeleteMessageVaultPreDeletionHookModule()) diff --git a/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryWebAdminServerIntegrationTest.java b/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryWebAdminServerIntegrationTest.java index 323c77a..05756dd 100644 --- a/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryWebAdminServerIntegrationTest.java +++ b/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/MemoryWebAdminServerIntegrationTest.java @@ -30,7 +30,7 @@ import org.junit.jupiter.api.extension.RegisterExtension; class MemoryWebAdminServerIntegrationTest extends WebAdminServerIntegrationTest { @RegisterExtension - static JamesServerExtension jamesServerExtension = new JamesServerBuilder() + static JamesServerExtension jamesServerExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) .combineWith(MemoryJamesServerMain.IN_MEMORY_SERVER_AGGREGATE_MODULE) .overrideWith(new WebadminIntegrationTestModule())) diff --git a/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/vault/MemoryDeletedMessageVaultIntegrationTest.java b/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/vault/MemoryDeletedMessageVaultIntegrationTest.java index 0fc9703..1dd785e 100644 --- a/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/vault/MemoryDeletedMessageVaultIntegrationTest.java +++ b/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/vault/MemoryDeletedMessageVaultIntegrationTest.java @@ -32,7 +32,7 @@ import org.junit.jupiter.api.extension.RegisterExtension; class MemoryDeletedMessageVaultIntegrationTest extends DeletedMessageVaultIntegrationTest { @RegisterExtension - static JamesServerExtension jamesServerExtension = new JamesServerBuilder() + static JamesServerExtension jamesServerExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .extension(new ClockExtension()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) .combineWith(MemoryJamesServerMain.IN_MEMORY_SERVER_AGGREGATE_MODULE) diff --git a/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/vault/MemoryLinshareBlobExportMechanismIntegrationTest.java b/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/vault/MemoryLinshareBlobExportMechanismIntegrationTest.java index aae0ec5..547ddf0 100644 --- a/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/vault/MemoryLinshareBlobExportMechanismIntegrationTest.java +++ b/server/protocols/webadmin-integration-test/memory-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/memory/vault/MemoryLinshareBlobExportMechanismIntegrationTest.java @@ -32,7 +32,7 @@ import org.junit.jupiter.api.extension.RegisterExtension; class MemoryLinshareBlobExportMechanismIntegrationTest extends LinshareBlobExportMechanismIntegrationTest { @RegisterExtension - static JamesServerExtension jamesServerExtension = new JamesServerBuilder() + static JamesServerExtension jamesServerExtension = new JamesServerBuilder<>(JamesServerBuilder.defaultConfigurationProvider()) .extension(new LinshareGuiceExtension()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) .combineWith(MemoryJamesServerMain.IN_MEMORY_SERVER_AGGREGATE_MODULE) --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org