Mock the Region.removeAll(:Collection<K>) operation.
This commit is contained in:
@@ -2797,6 +2797,19 @@ public abstract class GemFireMockObjectsSupport extends MockObjectsSupport {
|
||||
return invalidatedKeys.remove(key) ? null : value;
|
||||
});
|
||||
|
||||
// Region.removeAll(:Collection<K>)
|
||||
doAnswer(invocation -> {
|
||||
|
||||
Collection<K> keys = invocation.getArgument(0);
|
||||
|
||||
CollectionUtils.nullSafeCollection(keys).stream()
|
||||
.filter(Objects::nonNull)
|
||||
.forEach(mockRegion::remove);
|
||||
|
||||
return null;
|
||||
|
||||
}).when(mockRegion).removeAll(any(Collection.class));
|
||||
|
||||
// Region.size()
|
||||
doAnswer(invocation -> data.size()).when(mockRegion).size();
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@ import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.doThrow;
|
||||
import static org.mockito.Mockito.inOrder;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.verifyNoInteractions;
|
||||
@@ -570,7 +571,7 @@ public class MockRegionDataAccessOperationsAndEventsUnitTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void regionGetAllForKeysIsCorrect() {
|
||||
public void regionGetAllKeysIsCorrect() {
|
||||
|
||||
Map<Object, Object> expectedResults = MapBuilder.newMapBuilder()
|
||||
.put(1, "ONE")
|
||||
@@ -726,4 +727,24 @@ public class MockRegionDataAccessOperationsAndEventsUnitTests {
|
||||
verify(this.mockRegion, times(1)).put(eq(1), eq("TEST"));
|
||||
verify(this.mockRegion, times(1)).put(eq(2), eq("MOCK"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void regionRemoveAllKeysIsCorrect() {
|
||||
|
||||
this.mockRegion.put(1, "TEST");
|
||||
this.mockRegion.put(2, "MOCK");
|
||||
this.mockRegion.put(3, "NULL");
|
||||
|
||||
assertThat(this.mockRegion).hasSize(3);
|
||||
|
||||
this.mockRegion.removeAll(Arrays.asList(1, 2));
|
||||
|
||||
assertThat(this.mockRegion).hasSize(1);
|
||||
assertThat(this.mockRegion).doesNotContainKeys(1, 2);
|
||||
assertThat(this.mockRegion.get(3)).isEqualTo("NULL");
|
||||
|
||||
verify(this.mockRegion, times(1)).remove(eq(1));
|
||||
verify(this.mockRegion, times(1)).remove(eq(2));
|
||||
verify(this.mockRegion, never()).remove(eq(3));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,11 +36,20 @@ import org.apache.geode.cache.asyncqueue.AsyncEventQueueFactory;
|
||||
import org.apache.geode.cache.server.ClientSubscriptionConfig;
|
||||
|
||||
/**
|
||||
* Unit tests for {@link GemFireMockObjectsSupport}.
|
||||
* Unit Tests for {@link GemFireMockObjectsSupport}.
|
||||
*
|
||||
* @author John Blum
|
||||
* @see org.junit.Test
|
||||
* @see org.mockito.Mockito
|
||||
* @see org.apache.geode.cache.AttributesMutator
|
||||
* @see org.apache.geode.cache.Cache
|
||||
* @see org.apache.geode.cache.Region
|
||||
* @see org.apache.geode.cache.RegionAttributes
|
||||
* @see org.apache.geode.cache.RegionService
|
||||
* @see org.apache.geode.cache.asyncqueue.AsyncEventListener
|
||||
* @see org.apache.geode.cache.asyncqueue.AsyncEventQueue
|
||||
* @see org.apache.geode.cache.asyncqueue.AsyncEventQueueFactory
|
||||
* @see org.apache.geode.cache.server.ClientSubscriptionConfig
|
||||
* @see org.springframework.data.gemfire.tests.mock.GemFireMockObjectsSupport
|
||||
* @since 1.0.0
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user