Mock the Region.localClear() operation; call mock Region.clear().

This commit is contained in:
John Blum
2020-09-16 13:32:07 -07:00
parent 1a10296740
commit ab686fe92c
2 changed files with 22 additions and 1 deletions

View File

@@ -2686,6 +2686,12 @@ public abstract class GemFireMockObjectsSupport extends MockObjectsSupport {
// Map.keySet() / Region.keySet()
doAnswer(invocation -> Collections.unmodifiableSet(data.keySet())).when(mockRegion).keySet();
// Region.localClear()
doAnswer(invocation -> {
mockRegion.clear();
return null;
}).when(mockRegion).localClear();
// Region.put(key, value)
when(mockRegion.put(any(), any())).thenAnswer(invocation -> {

View File

@@ -49,7 +49,6 @@ import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;
import org.mockito.stubbing.Answer;
import org.apache.geode.UnmodifiableException;
import org.apache.geode.cache.CacheListener;
import org.apache.geode.cache.CacheLoader;
import org.apache.geode.cache.CacheWriter;
@@ -678,4 +677,20 @@ public class MockRegionDataAccessOperationsAndEventsUnitTests {
public void mapRegionKeySetIsUnmodifiable() {
this.mockRegion.keySet().add(1);
}
@Test
public void regionLocalClearCallsRegionClear() {
assertThat(this.mockRegion).isEmpty();
this.mockRegion.put(1, "TEST");
assertThat(this.mockRegion).hasSize(1);
this.mockRegion.localClear();
assertThat(this.mockRegion).isEmpty();
verify(this.mockRegion, times(1)).clear();
}
}