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 <[email protected]>
Authored: Fri Jan 18 12:07:31 2019 +0700
Committer: Benoit Tellier <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to