From b2cf973a52d2bdc064971dbfe6d759fe8bffa80c Mon Sep 17 00:00:00 2001 From: John Blum Date: Fri, 22 Jul 2022 14:39:35 -0700 Subject: [PATCH] Refactor the RegionExpirationAttributesNamespaceIntegrationTests. See: https://github.com/spring-projects/spring-data-geode/issues/616. See: https://stackoverflow.com/questions/73082303/gfeentry-ttl-and-gfeentry-ttielements-are-not-allowed-under-gfereplicate. Closes #616. --- ...onAttributesNamespaceIntegrationTests.java | 46 +++++++++++++------ ...butesNamespaceIntegrationTests-context.xml | 12 ++++- 2 files changed, 43 insertions(+), 15 deletions(-) diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/RegionExpirationAttributesNamespaceIntegrationTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/RegionExpirationAttributesNamespaceIntegrationTests.java index 4e7d9d6d..669da3d7 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/RegionExpirationAttributesNamespaceIntegrationTests.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/RegionExpirationAttributesNamespaceIntegrationTests.java @@ -21,11 +21,17 @@ import static org.mockito.Mockito.mock; import org.junit.Test; import org.junit.runner.RunWith; +import org.apache.geode.cache.CacheListener; +import org.apache.geode.cache.CacheLoader; +import org.apache.geode.cache.CacheLoaderException; import org.apache.geode.cache.CustomExpiry; import org.apache.geode.cache.DataPolicy; import org.apache.geode.cache.ExpirationAction; import org.apache.geode.cache.ExpirationAttributes; +import org.apache.geode.cache.LoaderHelper; import org.apache.geode.cache.Region; +import org.apache.geode.cache.util.CacheListenerAdapter; +import org.apache.geode.cache.util.CacheWriterAdapter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; @@ -69,23 +75,24 @@ public class RegionExpirationAttributesNamespaceIntegrationTests extends Integra @Qualifier("LocalExample") private Region localExample; - private void assertRegionMetaData(final Region region, final String regionName, final DataPolicy dataPolicy) { + private void assertRegionMetaData(Region region, String regionName, DataPolicy dataPolicy) { assertRegionMetaData(region, regionName, Region.SEPARATOR + regionName, dataPolicy); } - private void assertRegionMetaData(Region region, String regionName, String regionFullPath, - DataPolicy dataPolicy) { + private void assertRegionMetaData(Region region, + String regionName, String regionFullPath, DataPolicy dataPolicy) { assertThat(region) - .as(String.format("The '%1$s' Region was not properly configured and initialized", regionName)) + .describedAs("The '%s' Region was not properly configured and initialized", regionName) .isNotNull(); + assertThat(region.getName()).isEqualTo(regionName); assertThat(region.getFullPath()).isEqualTo(regionFullPath); assertThat(region.getAttributes()).isNotNull(); assertThat(region.getAttributes().getDataPolicy()).isEqualTo(dataPolicy); } - private void assertNoExpiration(final ExpirationAttributes expirationAttributes) { + private void assertNoExpiration(ExpirationAttributes expirationAttributes) { if (expirationAttributes != null) { //assertEquals(ExpirationAction.INVALIDATE, expirationAttributes.getAction()); @@ -111,7 +118,7 @@ public class RegionExpirationAttributesNamespaceIntegrationTests extends Integra } @Test - public void testReplicateExampleExpirationAttributes() { + public void exampleReplicateRegionExpirationAttributesAreCorrect() { assertRegionMetaData(replicateExample, "ReplicateExample", DataPolicy.REPLICATE); assertExpirationAttributes(replicateExample.getAttributes().getEntryTimeToLive(), @@ -123,7 +130,7 @@ public class RegionExpirationAttributesNamespaceIntegrationTests extends Integra } @Test - public void testPreloadedExampleExpirationAttributes() { + public void examplePreloadedRegionExpirationAttributesAreCorrect() { assertRegionMetaData(preloadedExample, "PreloadedExample", DataPolicy.PRELOADED); assertExpirationAttributes(preloadedExample.getAttributes().getEntryTimeToLive(), @@ -134,7 +141,7 @@ public class RegionExpirationAttributesNamespaceIntegrationTests extends Integra } @Test - public void testPartitionExampleExpirationAttributes() { + public void examplePartitionRegionExpirationAttributesAreCorrect() { assertRegionMetaData(partitionExample, "PartitionExample", DataPolicy.PARTITION); assertExpirationAttributes(partitionExample.getAttributes().getEntryTimeToLive(), @@ -146,7 +153,7 @@ public class RegionExpirationAttributesNamespaceIntegrationTests extends Integra } @Test - public void testLocalExampleExpirationAttributes() { + public void exampleLocalRegionExpirationAttributesAreCorrect() { assertRegionMetaData(localExample, "LocalExample", DataPolicy.NORMAL); assertNoExpiration(localExample.getAttributes().getEntryTimeToLive()); @@ -157,6 +164,18 @@ public class RegionExpirationAttributesNamespaceIntegrationTests extends Integra 60, ExpirationAction.LOCAL_INVALIDATE); } + public static class TestCacheListener extends CacheListenerAdapter { } + + public static class TestCacheLoader implements CacheLoader { + + @Override + public V load(LoaderHelper loaderHelper) throws CacheLoaderException { + return null; + } + } + + public static class TestCacheWriter extends CacheWriterAdapter { } + public static class TestCustomExpiry implements CustomExpiry { private ExpirationAction action; @@ -172,21 +191,20 @@ public class RegionExpirationAttributesNamespaceIntegrationTests extends Integra return new ExpirationAttributes(timeout, action); } - public void setAction(final ExpirationAction action) { + public void setAction(ExpirationAction action) { this.action = action; } - public void setName(final String name) { + public void setName(String name) { this.name = name; } - public void setTimeout(final Integer timeout) { + public void setTimeout(Integer timeout) { this.timeout = timeout; } @Override - public void close() { - } + public void close() { } @Override public String toString() { diff --git a/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/RegionExpirationAttributesNamespaceIntegrationTests-context.xml b/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/RegionExpirationAttributesNamespaceIntegrationTests-context.xml index 40dbe15c..f81694b5 100644 --- a/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/RegionExpirationAttributesNamespaceIntegrationTests-context.xml +++ b/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/RegionExpirationAttributesNamespaceIntegrationTests-context.xml @@ -19,15 +19,22 @@ - RegionExpirationAttributesNamespaceTest + RegionExpirationAttributesNamespaceIntegrationTests error + + + + + + +