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 53a216b..ae89a14 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 @@ -2751,6 +2751,18 @@ public abstract class GemFireMockObjectsSupport extends MockObjectsSupport { }).when(mockRegion).put(any(), any()); + // Map.putAll(:Map) / Region.putAll(:Map) + doAnswer(invocation -> { + + Map map = invocation.getArgument(0); + + CollectionUtils.nullSafeMap(map).entrySet() + .forEach(entry -> mockRegion.put(entry.getKey(), entry.getValue())); + + return null; + + }).when(mockRegion).putAll(any(Map.class)); + // Region.remove(key) when(mockRegion.remove(any())).thenAnswer(invocation -> { diff --git a/spring-data-geode-test/src/test/java/org/springframework/data/gemfire/tests/MockRegionDataAccessOperationsAndEventsUnitTests.java b/spring-data-geode-test/src/test/java/org/springframework/data/gemfire/tests/MockRegionDataAccessOperationsAndEventsUnitTests.java index 7227875..e719ae3 100644 --- a/spring-data-geode-test/src/test/java/org/springframework/data/gemfire/tests/MockRegionDataAccessOperationsAndEventsUnitTests.java +++ b/spring-data-geode-test/src/test/java/org/springframework/data/gemfire/tests/MockRegionDataAccessOperationsAndEventsUnitTests.java @@ -707,4 +707,23 @@ public class MockRegionDataAccessOperationsAndEventsUnitTests { verify(this.mockRegion, times(1)).invalidate(eq(1)); } + + @Test + public void mapRegionPutAllIsCorrect() { + + Map map = MapBuilder.newMapBuilder() + .put(1, "TEST") + .put(2, "MOCK") + .build(); + + assertThat(this.mockRegion).isEmpty(); + + this.mockRegion.putAll(map); + + assertThat(this.mockRegion).hasSize(map.size()); + assertThat(this.mockRegion.getAll(map.keySet())).isEqualTo(map); + + verify(this.mockRegion, times(1)).put(eq(1), eq("TEST")); + verify(this.mockRegion, times(1)).put(eq(2), eq("MOCK")); + } }