Fix issue with checking if the event should be consumed
Bug: Issue 14835
Change-Id: Ie9fe3c84cbf8634748bd8583a3a6513379bee050
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/AbstractSubcriber.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/AbstractSubcriber.java
index a3bd4e9..1f3b092 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/AbstractSubcriber.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/AbstractSubcriber.java
@@ -68,7 +68,7 @@
String sourceInstanceId = event.instanceId;
if ((Strings.isNullOrEmpty(sourceInstanceId) || instanceId.equals(sourceInstanceId))
- && !shouldConsumeEvent(event)) {
+ || !shouldConsumeEvent(event)) {
if (Strings.isNullOrEmpty(sourceInstanceId)) {
logger.atWarning().log(
String.format(
diff --git a/src/test/java/com/googlesource/gerrit/plugins/multisite/consumer/AbstractSubscriberTestBase.java b/src/test/java/com/googlesource/gerrit/plugins/multisite/consumer/AbstractSubscriberTestBase.java
index 2aa81e6..034f7ee 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/multisite/consumer/AbstractSubscriberTestBase.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/multisite/consumer/AbstractSubscriberTestBase.java
@@ -28,7 +28,8 @@
@RunWith(MockitoJUnitRunner.class)
@Ignore
public abstract class AbstractSubscriberTestBase {
- protected static final String INSTANCE_ID = "node-instance-id";
+ protected static final String NODE_INSTANCE_ID = "node-instance-id";
+ protected static final String INSTANCE_ID = "other-node-instance-id";
protected static final String PROJECT_NAME = "project-name";
@Mock protected DroppedEventListener droppedEventListeners;
@@ -71,6 +72,23 @@
}
}
+ @SuppressWarnings("unchecked")
+ @Test
+ public void shouldSkipLocalEvents()
+ throws IOException, PermissionBackendException, CacheNotFoundException {
+ for (Event event : events()) {
+ event.instanceId = NODE_INSTANCE_ID;
+ when(projectsFilter.matches(any(String.class))).thenReturn(true);
+
+ objectUnderTest.getConsumer().accept(event);
+
+ verify(projectsFilter, never()).matches(PROJECT_NAME);
+ verify(eventRouter, never()).route(event);
+ verify(droppedEventListeners, times(1)).onEventDropped(event);
+ reset(projectsFilter, eventRouter, droppedEventListeners);
+ }
+ }
+
protected abstract AbstractSubcriber objectUnderTest();
protected abstract List<Event> events();
diff --git a/src/test/java/com/googlesource/gerrit/plugins/multisite/consumer/BatchIndexEventSubscriberTest.java b/src/test/java/com/googlesource/gerrit/plugins/multisite/consumer/BatchIndexEventSubscriberTest.java
index 0ab06d0..5031f36 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/multisite/consumer/BatchIndexEventSubscriberTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/multisite/consumer/BatchIndexEventSubscriberTest.java
@@ -68,7 +68,7 @@
return new BatchIndexEventSubscriber(
(IndexEventRouter) eventRouter,
asDynamicSet(droppedEventListeners),
- INSTANCE_ID,
+ NODE_INSTANCE_ID,
msgLog,
subscriberMetrics,
cfg,
diff --git a/src/test/java/com/googlesource/gerrit/plugins/multisite/consumer/IndexEventSubscriberTest.java b/src/test/java/com/googlesource/gerrit/plugins/multisite/consumer/IndexEventSubscriberTest.java
index 610f8de..70f811b 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/multisite/consumer/IndexEventSubscriberTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/multisite/consumer/IndexEventSubscriberTest.java
@@ -68,7 +68,7 @@
return new IndexEventSubscriber(
(IndexEventRouter) eventRouter,
asDynamicSet(droppedEventListeners),
- INSTANCE_ID,
+ NODE_INSTANCE_ID,
msgLog,
subscriberMetrics,
cfg,
diff --git a/src/test/java/com/googlesource/gerrit/plugins/multisite/consumer/ProjectUpdateEventSubscriberTest.java b/src/test/java/com/googlesource/gerrit/plugins/multisite/consumer/ProjectUpdateEventSubscriberTest.java
index c6f74c8..201ee81 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/multisite/consumer/ProjectUpdateEventSubscriberTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/multisite/consumer/ProjectUpdateEventSubscriberTest.java
@@ -41,7 +41,7 @@
return new ProjectUpdateEventSubscriber(
(ProjectListUpdateRouter) eventRouter,
asDynamicSet(droppedEventListeners),
- INSTANCE_ID,
+ NODE_INSTANCE_ID,
msgLog,
subscriberMetrics,
cfg,
diff --git a/src/test/java/com/googlesource/gerrit/plugins/multisite/consumer/StreamEventSubscriberTest.java b/src/test/java/com/googlesource/gerrit/plugins/multisite/consumer/StreamEventSubscriberTest.java
index b6b6337..cd15bb7 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/multisite/consumer/StreamEventSubscriberTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/multisite/consumer/StreamEventSubscriberTest.java
@@ -48,7 +48,7 @@
return new StreamEventSubscriber(
(StreamEventRouter) eventRouter,
asDynamicSet(droppedEventListeners),
- INSTANCE_ID,
+ NODE_INSTANCE_ID,
msgLog,
subscriberMetrics,
cfg,