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 10cbd3ea1e12b81789f9f1bdf6066b5c5ded4fea Author: Benoit Tellier <[email protected]> AuthorDate: Thu Apr 16 09:51:58 2020 +0700 JAMES-3139 Speed up integration tests for Distributed James Decrease wait delays, timeouts, and retry count to fasten our integration tests This is a generalisation of a cryptic optimization performed for RabbitMQEventDeadLettersIntegrationTest --- .../java/org/apache/james/modules/TestRabbitMQModule.java | 14 ++++++++++++++ .../rabbitmq/RabbitMQEventDeadLettersIntegrationTest.java | 12 +----------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/modules/TestRabbitMQModule.java b/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/modules/TestRabbitMQModule.java index 35438ac..47012aa 100644 --- a/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/modules/TestRabbitMQModule.java +++ b/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/modules/TestRabbitMQModule.java @@ -39,6 +39,13 @@ import com.google.inject.Provides; import com.google.inject.multibindings.Multibinder; public class TestRabbitMQModule extends AbstractModule { + private static final int MAX_THREE_RETRIES = 3; + private static final int MIN_DELAY_OF_ONE_HUNDRED_MILLISECONDS = 100; + private static final int CONNECTION_TIMEOUT_OF_ONE_SECOND = 1000; + private static final int CHANNEL_RPC_TIMEOUT_OF_ONE_SECOND = 1000; + private static final int HANDSHAKE_TIMEOUT_OF_ONE_SECOND = 1000; + private static final int SHUTDOWN_TIMEOUT_OF_ONE_SECOND = 1000; + private static final int NETWORK_RECOVERY_INTERVAL_OF_ONE_SECOND = 1000; private final DockerRabbitMQ rabbitMQ; @@ -67,6 +74,13 @@ public class TestRabbitMQModule extends AbstractModule { .amqpUri(rabbitMQ.amqpUri()) .managementUri(rabbitMQ.managementUri()) .managementCredentials(DEFAULT_MANAGEMENT_CREDENTIAL) + .maxRetries(MAX_THREE_RETRIES) + .minDelayInMs(MIN_DELAY_OF_ONE_HUNDRED_MILLISECONDS) + .connectionTimeoutInMs(CONNECTION_TIMEOUT_OF_ONE_SECOND) + .channelRpcTimeoutInMs(CHANNEL_RPC_TIMEOUT_OF_ONE_SECOND) + .handshakeTimeoutInMs(HANDSHAKE_TIMEOUT_OF_ONE_SECOND) + .shutdownTimeoutInMs(SHUTDOWN_TIMEOUT_OF_ONE_SECOND) + .networkRecoveryIntervalInMs(NETWORK_RECOVERY_INTERVAL_OF_ONE_SECOND) .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 58f4772..b8cbbd0 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 @@ -29,7 +29,6 @@ import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.Matchers.containsInAnyOrder; import static org.hamcrest.Matchers.hasSize; -import java.net.URISyntaxException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -45,7 +44,6 @@ import org.apache.james.GuiceModuleTestExtension; import org.apache.james.JamesServerBuilder; import org.apache.james.JamesServerExtension; import org.apache.james.backends.rabbitmq.DockerRabbitMQ; -import org.apache.james.backends.rabbitmq.RabbitMQConnectionFactory; import org.apache.james.core.Username; import org.apache.james.junit.categories.BasicFeature; import org.apache.james.mailbox.DefaultMailboxes; @@ -203,15 +201,7 @@ class RabbitMQEventDeadLettersIntegrationTest { .extension(new RetryEventsListenerExtension()) .server(configuration -> GuiceJamesServer.forConfiguration(configuration) .combineWith(CassandraRabbitMQJamesServerMain.MODULES) - .overrideWith(new WebadminIntegrationTestModule()) - .overrideWith(binder -> { - try { - binder.bind(RabbitMQConnectionFactory.class) - .toInstance(RABBIT_MQ_EXTENSION.dockerRabbitMQ().createRabbitConnectionFactory()); - } catch (URISyntaxException e) { - throw new RuntimeException(e); - } - })) + .overrideWith(new WebadminIntegrationTestModule())) .build(); //This value is duplicated from default configuration to ensure we keep the same behavior over time --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
