You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2019/01/21 03:06:21 UTC

[3/5] james-project git commit: MAILBOX-371 Test out of order registrations

MAILBOX-371 Test out of order registrations


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/7f2f8fec
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/7f2f8fec
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/7f2f8fec

Branch: refs/heads/master
Commit: 7f2f8fec82118a8a8a31917bf779e2674f2f2cb2
Parents: a760297
Author: Benoit Tellier <bt...@linagora.com>
Authored: Fri Jan 18 12:07:31 2019 +0700
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Mon Jan 21 10:04:49 2019 +0700

----------------------------------------------------------------------
 .../james/mailbox/events/GroupContract.java     | 24 ++++++++++++++++++++
 .../james/mailbox/events/KeyContract.java       | 24 ++++++++++++++++++++
 2 files changed, 48 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/7f2f8fec/mailbox/api/src/test/java/org/apache/james/mailbox/events/GroupContract.java
----------------------------------------------------------------------
diff --git a/mailbox/api/src/test/java/org/apache/james/mailbox/events/GroupContract.java b/mailbox/api/src/test/java/org/apache/james/mailbox/events/GroupContract.java
index 93194e4..ac15639 100644
--- a/mailbox/api/src/test/java/org/apache/james/mailbox/events/GroupContract.java
+++ b/mailbox/api/src/test/java/org/apache/james/mailbox/events/GroupContract.java
@@ -73,6 +73,18 @@ public interface GroupContract {
         }
 
         @Test
+        default void registerShouldNotDispatchPastEventsForGroups() throws Exception {
+            MailboxListener listener = newListener();
+
+            eventBus().dispatch(EVENT, NO_KEYS).block();
+
+            eventBus().register(listener, GROUP_A);
+
+            verify(listener, after(FIVE_HUNDRED_MS).never())
+                .event(any());
+        }
+
+        @Test
         default void listenerGroupShouldReceiveEvents() throws Exception {
             MailboxListener listener = newListener();
 
@@ -254,5 +266,17 @@ public interface GroupContract {
             verify(mailboxListener, after(FIVE_HUNDRED_MS).never())
                 .event(any());
         }
+
+        @Test
+        default void registerShouldNotDispatchPastEventsForGroupsInADistributedContext() throws Exception {
+            MailboxListener listener = newListener();
+
+            eventBus().dispatch(EVENT, NO_KEYS).block();
+
+            eventBus2().register(listener, GROUP_A);
+
+            verify(listener, after(FIVE_HUNDRED_MS).never())
+                .event(any());
+        }
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/7f2f8fec/mailbox/api/src/test/java/org/apache/james/mailbox/events/KeyContract.java
----------------------------------------------------------------------
diff --git a/mailbox/api/src/test/java/org/apache/james/mailbox/events/KeyContract.java b/mailbox/api/src/test/java/org/apache/james/mailbox/events/KeyContract.java
index 6e82af0..317925a 100644
--- a/mailbox/api/src/test/java/org/apache/james/mailbox/events/KeyContract.java
+++ b/mailbox/api/src/test/java/org/apache/james/mailbox/events/KeyContract.java
@@ -164,6 +164,18 @@ public interface KeyContract extends EventBusContract {
         }
 
         @Test
+        default void registerShouldNotDispatchPastEvents() throws Exception {
+            MailboxListener listener = newListener();
+
+            eventBus().dispatch(EVENT, ImmutableSet.of(KEY_1)).block();
+
+            eventBus().register(listener, KEY_1);
+
+            verify(listener, after(FIVE_HUNDRED_MS).never())
+                .event(any());
+        }
+
+        @Test
         default void callingAllUnregisterMethodShouldUnregisterTheListener() throws Exception {
             MailboxListener listener = newListener();
             Registration registration = eventBus().register(listener, KEY_1);
@@ -321,5 +333,17 @@ public interface KeyContract extends EventBusContract {
             verify(mailboxListener2, timeout(ONE_SECOND).times(1)).event(any());
         }
 
+        @Test
+        default void registerShouldNotDispatchPastEventsInDistributedContext() throws Exception {
+            MailboxListener listener = newListener();
+
+            eventBus2().dispatch(EVENT, ImmutableSet.of(KEY_1)).block();
+
+            eventBus().register(listener, KEY_1);
+
+            verify(listener, after(FIVE_HUNDRED_MS).never())
+                .event(any());
+        }
+
     }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org