You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by kl...@apache.org on 2019/04/04 22:43:28 UTC

[geode] branch develop updated: GEODE-6598: Fix alertMessageIsReceivedByManager test (#3410)

This is an automated email from the ASF dual-hosted git repository.

klund pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
     new 20bb490  GEODE-6598: Fix alertMessageIsReceivedByManager test (#3410)
20bb490 is described below

commit 20bb490948394d30956cbcfdd1f110d0f43c070b
Author: Kirk Lund <kl...@apache.org>
AuthorDate: Thu Apr 4 15:43:03 2019 -0700

    GEODE-6598: Fix alertMessageIsReceivedByManager test (#3410)
    
    Implement the test alertMessageIsReceivedByManager correctly. The
    Manager VM should receive the AlertListenerMessage and its message
    should match the alert message.
---
 .../AlertingServiceWithoutListenerDistributedTest.java        | 11 ++++++++++-
 .../geode/internal/admin/remote/AlertListenerMessage.java     |  5 +++++
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/alerting/AlertingServiceWithoutListenerDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/alerting/AlertingServiceWithoutListenerDistributedTest.java
index 4b6d21a..07f6401 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/alerting/AlertingServiceWithoutListenerDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/alerting/AlertingServiceWithoutListenerDistributedTest.java
@@ -33,7 +33,9 @@ import static org.apache.geode.test.dunit.VM.getVM;
 import static org.apache.geode.test.dunit.VM.toArray;
 import static org.apache.geode.test.dunit.internal.DUnitLauncher.getDistributedSystemProperties;
 import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.ArgumentCaptor.forClass;
 import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 
 import java.io.Serializable;
@@ -47,6 +49,7 @@ import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
+import org.mockito.ArgumentCaptor;
 
 import org.apache.geode.cache.CacheFactory;
 import org.apache.geode.distributed.DistributedMember;
@@ -146,7 +149,13 @@ public class AlertingServiceWithoutListenerDistributedTest implements Serializab
   public void alertMessageIsReceivedByManager() {
     memberVM.invoke(() -> logger.fatal(alertMessage));
 
-    managerVM.invoke(() -> verifyNoMoreInteractions(messageListener));
+    managerVM.invoke(() -> {
+      await().untilAsserted(() -> {
+        ArgumentCaptor<AlertListenerMessage> captor = forClass(AlertListenerMessage.class);
+        verify(messageListener).received(captor.capture());
+        assertThat(captor.getValue().getMessage()).isEqualTo(alertMessage);
+      });
+    });
   }
 
   @Test
diff --git a/geode-core/src/main/java/org/apache/geode/internal/admin/remote/AlertListenerMessage.java b/geode-core/src/main/java/org/apache/geode/internal/admin/remote/AlertListenerMessage.java
index a05a842..e471fff 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/admin/remote/AlertListenerMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/admin/remote/AlertListenerMessage.java
@@ -158,6 +158,11 @@ public class AlertListenerMessage extends PooledDistributionMessage implements A
   }
 
   @VisibleForTesting
+  public String getMessage() {
+    return message;
+  }
+
+  @VisibleForTesting
   public static void addListener(Listener listener) {
     listenerRef.compareAndSet(null, listener);
   }