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