From 7532d3a9930e082a1ff8ed122a51bdca92969430 Mon Sep 17 00:00:00 2001 From: John Blum Date: Tue, 29 Oct 2019 13:04:05 -0700 Subject: [PATCH] Add Mock Object support for Apache Geode's AEQ pause and resume event disptaching functionality. --- .../gemfire/tests/mock/GemFireMockObjectsSupport.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/spring-data-geode-test/src/main/java/org/springframework/data/gemfire/tests/mock/GemFireMockObjectsSupport.java b/spring-data-geode-test/src/main/java/org/springframework/data/gemfire/tests/mock/GemFireMockObjectsSupport.java index baf7f54..f0cd772 100644 --- a/spring-data-geode-test/src/main/java/org/springframework/data/gemfire/tests/mock/GemFireMockObjectsSupport.java +++ b/spring-data-geode-test/src/main/java/org/springframework/data/gemfire/tests/mock/GemFireMockObjectsSupport.java @@ -69,6 +69,9 @@ import java.util.function.Function; import java.util.function.Supplier; import java.util.stream.Collectors; +import org.mockito.ArgumentMatchers; +import org.mockito.stubbing.Answer; + import org.apache.geode.cache.AttributesMutator; import org.apache.geode.cache.Cache; import org.apache.geode.cache.CacheFactory; @@ -141,8 +144,6 @@ import org.apache.geode.internal.cache.PoolManagerImpl; import org.apache.geode.pdx.PdxSerializer; import org.apache.lucene.analysis.Analyzer; -import org.mockito.ArgumentMatchers; -import org.mockito.stubbing.Answer; import org.springframework.beans.factory.DisposableBean; import org.springframework.data.gemfire.IndexType; @@ -797,6 +798,7 @@ public abstract class GemFireMockObjectsSupport extends MockObjectsSupport { AtomicBoolean diskSynchronous = new AtomicBoolean(true); AtomicBoolean forwardExpirationDestroy = new AtomicBoolean(false); AtomicBoolean parallel = new AtomicBoolean(false); + AtomicBoolean pauseEventDispatching = new AtomicBoolean(false); AtomicBoolean persistent = new AtomicBoolean(false); AtomicInteger batchSize = new AtomicInteger(100); @@ -854,6 +856,9 @@ public abstract class GemFireMockObjectsSupport extends MockObjectsSupport { return mockAsyncEventQueueFactory; }); + when(mockAsyncEventQueueFactory.pauseEventDispatching()) + .thenAnswer(newSetter(pauseEventDispatching, true, mockAsyncEventQueueFactory)); + when(mockAsyncEventQueueFactory.removeGatewayEventFilter(any(GatewayEventFilter.class))).thenAnswer(invocation -> { gatewayEventFilters.remove(invocation.getArgument(0)); @@ -887,6 +892,8 @@ public abstract class GemFireMockObjectsSupport extends MockObjectsSupport { when(mockAsyncEventQueue.getMaximumQueueMemory()).thenAnswer(newGetter(maximumQueueMemory)); when(mockAsyncEventQueue.getOrderPolicy()).thenAnswer(newGetter(orderPolicy)); + doAnswer(newGetter(pauseEventDispatching)).when(mockAsyncEventQueue).resumeEventDispatching(); + when(mockAsyncEventQueue.size()).thenReturn(0); return mockAsyncEventQueue;