diff --git a/src/test/java/org/springframework/data/gemfire/config/CacheSubscriptionTest.java b/src/test/java/org/springframework/data/gemfire/config/CacheSubscriptionTest.java index 08c5a88c..adb57af0 100644 --- a/src/test/java/org/springframework/data/gemfire/config/CacheSubscriptionTest.java +++ b/src/test/java/org/springframework/data/gemfire/config/CacheSubscriptionTest.java @@ -16,28 +16,65 @@ package org.springframework.data.gemfire.config; +import static org.junit.Assert.*; +import static org.junit.Assert.assertTrue; + import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; +import org.springframework.data.gemfire.RegionFactoryBean; +import org.springframework.data.gemfire.TestUtils; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import com.gemstone.gemfire.cache.InterestPolicy; +import com.gemstone.gemfire.cache.RegionAttributes; +import com.gemstone.gemfire.cache.SubscriptionAttributes; + /** + * Test to ensure subscription policy can be applied to server regions. + * * @author Lyndon Adams + * @since 13 March 2013 */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("/org/springframework/data/gemfire/config/subscription-ns.xml") public class CacheSubscriptionTest{ - @Autowired ApplicationContext ctx; + @Autowired ApplicationContext context; + + @SuppressWarnings("rawtypes") @Test - public void testRRSubscription() throws Exception { + public void testRRSubscriptionAllPolicy() throws Exception { + assertTrue(context.containsBean("replicALL")); + RegionFactoryBean fb = context.getBean("&replicALL", RegionFactoryBean.class); + RegionAttributes attrs = TestUtils.readField("attributes", fb); + SubscriptionAttributes sa = attrs.getSubscriptionAttributes(); + assertEquals(InterestPolicy.ALL, sa.getInterestPolicy() ); } + @SuppressWarnings("rawtypes") @Test - public void testPRSubscription() throws Exception { + public void testPRSubscriptionCacheContentPolicy() throws Exception { + assertTrue(context.containsBean("partCACHE_CONTENT")); + RegionFactoryBean fb = context.getBean("&partCACHE_CONTENT", RegionFactoryBean.class); + RegionAttributes attrs = TestUtils.readField("attributes", fb); + SubscriptionAttributes sa = attrs.getSubscriptionAttributes(); + assertEquals(InterestPolicy.CACHE_CONTENT, sa.getInterestPolicy() ); } + + @SuppressWarnings("rawtypes") + @Test + public void testPRSubscriptionDefaultPolicy() throws Exception { + assertTrue(context.containsBean("partDEFAULT")); + RegionFactoryBean fb = context.getBean("&partDEFAULT", RegionFactoryBean.class); + RegionAttributes attrs = TestUtils.readField("attributes", fb); + + SubscriptionAttributes sa = attrs.getSubscriptionAttributes(); + assertEquals(InterestPolicy.ALL, sa.getInterestPolicy() ); + } + } diff --git a/src/test/resources/org/springframework/data/gemfire/config/subscription-ns.xml b/src/test/resources/org/springframework/data/gemfire/config/subscription-ns.xml index 87ccc857..aa35ba0a 100644 --- a/src/test/resources/org/springframework/data/gemfire/config/subscription-ns.xml +++ b/src/test/resources/org/springframework/data/gemfire/config/subscription-ns.xml @@ -2,23 +2,25 @@ + http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd + http://www.springframework.org/schema/gemfire http://www.springframework.org/schema/gemfire/spring-gemfire.xsd"> - - - + + + - - - + + + - - - + + + + \ No newline at end of file