Mock the Pool.getQueryService() method.

This commit is contained in:
John Blum
2021-09-13 12:09:01 -07:00
parent 227f96e900
commit 933721a969

View File

@@ -1995,6 +1995,8 @@ public abstract class GemFireMockObjectsSupport extends MockObjectsSupport {
Pool mockPool = mock(Pool.class, name);
AtomicReference<QueryService> queryService = new AtomicReference<>(null);
AtomicBoolean destroyed = new AtomicBoolean(false);
doAnswer(invocationOnMock -> {
@@ -2033,6 +2035,12 @@ public abstract class GemFireMockObjectsSupport extends MockObjectsSupport {
when(mockPool.getSubscriptionRedundancy()).thenReturn(subscriptionRedundancy.get());
when(mockPool.getThreadLocalConnections()).thenReturn(threadLocalConnections.get());
doAnswer(getQueryServiceInvocation ->
resolveAnyGemFireCache()
.map(GemFireCache::getQueryService)
.orElseGet(() -> queryService.updateAndGet(it -> it != null ? it : mockQueryService()))
).when(mockPool).getQueryService();
register(mockPool);
return mockPool;
@@ -3698,6 +3706,8 @@ public abstract class GemFireMockObjectsSupport extends MockObjectsSupport {
Pool mockDefaultPool = mockPoolFactory.create("DEFAULT");
doAnswer(invocation -> mockClientCache.getQueryService()).when(mockDefaultPool).getQueryService();
when(mockClientCache.getCurrentServers()).thenAnswer(invocation ->
Collections.unmodifiableSet(new HashSet<>(mockClientCache.getDefaultPool().getServers())));