This is an automated email from the ASF dual-hosted git repository. rouazana pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit f817bb009760067353f44e67d05fba7710220eef Author: Matthieu Baechler <matth...@apache.org> AuthorDate: Wed Oct 2 11:11:26 2019 +0200 JAMES-2908 Demonstrate JAMES-2907 issue and disable broken tests --- .../mailbox/events/ErrorHandlingContract.java | 32 ++++++++++++++++++---- .../EventDeadLettersIntegrationTest.java | 2 ++ 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/mailbox/api/src/test/java/org/apache/james/mailbox/events/ErrorHandlingContract.java b/mailbox/api/src/test/java/org/apache/james/mailbox/events/ErrorHandlingContract.java index 6acba59..b950685 100644 --- a/mailbox/api/src/test/java/org/apache/james/mailbox/events/ErrorHandlingContract.java +++ b/mailbox/api/src/test/java/org/apache/james/mailbox/events/ErrorHandlingContract.java @@ -38,6 +38,7 @@ import java.util.concurrent.atomic.AtomicBoolean; import org.apache.james.mailbox.util.EventCollector; import org.assertj.core.api.SoftAssertions; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import com.google.common.collect.ImmutableSet; @@ -279,12 +280,31 @@ interface ErrorHandlingContract extends EventBusContract { eventBus().register(eventCollector, GROUP_A); eventBus().reDeliver(GROUP_A, EVENT).block(); - WAIT_CONDITION.untilAsserted(() -> assertThat(deadLetter().failedIds(GROUP_A) - .flatMap(insertionId -> deadLetter().failedEvent(GROUP_A, insertionId)) - .toIterable()) - .containsOnly(EVENT)); - assertThat(eventCollector.getEvents()) - .isEmpty(); + WAIT_CONDITION.untilAsserted(() -> + assertThat( + deadLetter() + .failedIds(GROUP_A) + .flatMap(insertionId -> deadLetter().failedEvent(GROUP_A, insertionId)) + .toIterable()) + .containsOnly(EVENT)); + assertThat(eventCollector.getEvents()).isEmpty(); + } + + @Disabled("JAMES-2907 redeliver should work as initial dispatch") + @Test + default void retryShouldDeliverAsManyTimesAsInitialDeliveryAttempt() { + EventCollector eventCollector = eventCollector(); + + doThrow(new RuntimeException()) + .doThrow(new RuntimeException()) + .doThrow(new RuntimeException()) + .doCallRealMethod() + .when(eventCollector).event(EVENT); + + eventBus().register(eventCollector, GROUP_A); + eventBus().reDeliver(GROUP_A, EVENT).block(); + + WAIT_CONDITION.untilAsserted(() -> assertThat(eventCollector.getEvents()).isNotEmpty()); } @Test diff --git a/server/protocols/webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/EventDeadLettersIntegrationTest.java b/server/protocols/webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/EventDeadLettersIntegrationTest.java index 082e3d7..5af52b2 100644 --- a/server/protocols/webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/EventDeadLettersIntegrationTest.java +++ b/server/protocols/webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/EventDeadLettersIntegrationTest.java @@ -55,6 +55,7 @@ import org.awaitility.core.ConditionFactory; import org.eclipse.jetty.http.HttpStatus; import org.junit.After; import org.junit.Before; +import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; @@ -463,6 +464,7 @@ public class EventDeadLettersIntegrationTest { awaitAtMostTenSeconds.until(() -> retryEventsListener.getSuccessfulEvents().size() == 2); } + @Ignore("retry rest API delivers only once, see JAMES-2907. We need same retry cound for this test to work") @Test public void failedEventShouldStillBeInDeadLettersAfterFailedRedelivery() { retryEventsListener.setRetriesBeforeSuccess(8); --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org