Mock the Region.getParentRegion() operation for sub-Regions.
This commit is contained in:
@@ -623,7 +623,7 @@ public abstract class GemFireMockObjectsSupport extends MockObjectsSupport {
|
||||
|
||||
int lastIndexOfRegionSeparator = it.lastIndexOf(Region.SEPARATOR);
|
||||
|
||||
return lastIndexOfRegionSeparator < 0 ? it : it.substring(lastIndexOfRegionSeparator);
|
||||
return lastIndexOfRegionSeparator < 0 ? it : it.substring(lastIndexOfRegionSeparator + 1);
|
||||
})
|
||||
.filter(it -> !it.isEmpty())
|
||||
.orElseThrow(() -> newIllegalArgumentException("Region name [%s] is required", regionName));
|
||||
@@ -2777,6 +2777,8 @@ public abstract class GemFireMockObjectsSupport extends MockObjectsSupport {
|
||||
|
||||
Region<K, V> mockSubRegion = mockRegion(parent.getRegionService(), subRegionName, regionAttributes);
|
||||
|
||||
doReturn(parent).when(mockSubRegion).getParentRegion();
|
||||
|
||||
parent.subregions(false).add(mockSubRegion);
|
||||
|
||||
return mockSubRegion;
|
||||
|
||||
@@ -465,7 +465,7 @@ public class MockRegionDataAccessOperationsAndEventsUnitTests {
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("all")
|
||||
public void mockingPutIfAbsentWorksAsExpected() {
|
||||
public void mockingUnsupportedPutIfAbsentWorksAsExpected() {
|
||||
|
||||
doAnswer(invocation -> {
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ package org.springframework.data.gemfire.tests.mock;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
@@ -119,6 +120,26 @@ public class GemFireMockObjectsSupportUnitTests {
|
||||
assertThat(mockClientSubscriptionConfig.getEvictionPolicy()).isEqualTo("entry");
|
||||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings({ "rawtypes", "unchecked" })
|
||||
public void mockSubRegionIsCorrect() {
|
||||
|
||||
Region mockRegion = mock(Region.class);
|
||||
|
||||
doReturn("MockRegion").when(mockRegion).getName();
|
||||
doReturn("/MockRegion").when(mockRegion).getFullPath();
|
||||
|
||||
RegionAttributes mockRegionAttributes = mock(RegionAttributes.class);
|
||||
|
||||
Region mockSubRegion = GemFireMockObjectsSupport.mockSubRegion(mockRegion, "MockSubRegion",
|
||||
mockRegionAttributes);
|
||||
|
||||
assertThat(mockSubRegion).isNotNull();
|
||||
assertThat(mockSubRegion.getName()).isEqualTo("MockSubRegion");
|
||||
assertThat(mockSubRegion.getFullPath()).isEqualTo("/MockRegion/MockSubRegion");
|
||||
assertThat(mockSubRegion.getParentRegion()).isEqualTo(mockRegion);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void regionAttributesMutatorGetRegionReturnsRegion() {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user