diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/IndexConflictsIntegrationTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/IndexConflictsIntegrationTests.java
similarity index 96%
rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/IndexConflictsIntegrationTest.java
rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/IndexConflictsIntegrationTests.java
index 817ea800..93d2603b 100644
--- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/IndexConflictsIntegrationTest.java
+++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/IndexConflictsIntegrationTests.java
@@ -13,7 +13,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.springframework.data.gemfire;
import static org.assertj.core.api.Assertions.assertThat;
@@ -39,9 +38,10 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.DependsOn;
import org.springframework.context.annotation.Import;
+import org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport;
/**
- * Integration tests with test cases testing the numerous conflicting {@link Index} configurations.
+ * Integration Tests for numerous conflicting {@link Index} configurations.
*
* An {@link IndexExistsException} is thrown when 2 or more {@link Index Indexes} share the same definition
* but have different names.
@@ -61,7 +61,7 @@ import org.springframework.context.annotation.Import;
* @see Improve IndexFactoryBean's resilience and options for handling GemFire IndexExistsExceptions and IndexNameConflictExceptions
* @since 1.6.3
*/
-public class IndexConflictsIntegrationTest {
+public class IndexConflictsIntegrationTests extends IntegrationTestsSupport {
private static final AtomicBoolean IGNORE = new AtomicBoolean(false);
private static final AtomicBoolean OVERRIDE = new AtomicBoolean(false);
@@ -174,6 +174,7 @@ public class IndexConflictsIntegrationTest {
@Test(expected = IndexExistsException.class)
public void indexDefinitionConflictThrowsIndexExistsException() throws Throwable {
+
try {
this.applicationContext = newApplicationContext(IndexDefinitionConflictConfiguration.class);
}
@@ -239,6 +240,7 @@ public class IndexConflictsIntegrationTest {
@Test(expected = IndexNameConflictException.class)
public void indexNameConflictThrowsIndexNameConflictException() throws Throwable {
+
try {
this.applicationContext = newApplicationContext(IndexNameConflictConfiguration.class);
}
@@ -271,7 +273,7 @@ public class IndexConflictsIntegrationTest {
Properties gemfireProperties = new Properties();
- gemfireProperties.setProperty("name", IndexConflictsIntegrationTest.class.getSimpleName());
+ gemfireProperties.setProperty("name", IndexConflictsIntegrationTests.class.getSimpleName());
gemfireProperties.setProperty("log-level", "error");
return gemfireProperties;
@@ -289,12 +291,11 @@ public class IndexConflictsIntegrationTest {
}
@Bean(name = "Customers")
- public ReplicatedRegionFactoryBean customersRegion(GemFireCache gemfireCache) {
+ public ReplicatedRegionFactoryBean, ?> customersRegion(GemFireCache gemfireCache) {
- ReplicatedRegionFactoryBean customersRegionFactory = new ReplicatedRegionFactoryBean();
+ ReplicatedRegionFactoryBean, ?> customersRegionFactory = new ReplicatedRegionFactoryBean<>();
customersRegionFactory.setCache(gemfireCache);
- customersRegionFactory.setClose(false);
customersRegionFactory.setPersistent(false);
return customersRegionFactory;
diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/annotation/EnableContinuousQueriesConfigurationUnitTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/annotation/EnableContinuousQueriesConfigurationUnitTests.java
index a963523e..170506a4 100644
--- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/annotation/EnableContinuousQueriesConfigurationUnitTests.java
+++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/annotation/EnableContinuousQueriesConfigurationUnitTests.java
@@ -60,6 +60,7 @@ import org.springframework.data.gemfire.repository.config.EnableGemfireRepositor
import org.springframework.data.gemfire.repository.support.GemfireRepositoryFactoryBean;
import org.springframework.data.gemfire.test.model.Person;
import org.springframework.data.gemfire.test.repo.PersonRepository;
+import org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport;
import org.springframework.data.gemfire.tests.mock.GemFireMockObjectsSupport;
import org.springframework.data.gemfire.tests.mock.annotation.EnableGemFireMockObjects;
import org.springframework.data.gemfire.tests.util.IOUtils;
@@ -87,9 +88,10 @@ import lombok.Data;
* @see org.springframework.data.gemfire.config.annotation.ContinuousQueryConfiguration
* @see org.springframework.data.gemfire.config.annotation.EnableContinuousQueries
* @see org.springframework.data.gemfire.listener.annotation.ContinuousQuery
+ * @see org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport
* @since 2.0.1
*/
-public class EnableContinuousQueriesConfigurationUnitTests {
+public class EnableContinuousQueriesConfigurationUnitTests extends IntegrationTestsSupport {
private ConfigurableApplicationContext newApplicationContext(Class>... annotatedClasses) {
return new AnnotationConfigApplicationContext(annotatedClasses);
diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/annotation/EnableEntityDefinedRegionsUnitTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/annotation/EnableEntityDefinedRegionsUnitTests.java
index ebe14077..93300ebd 100644
--- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/annotation/EnableEntityDefinedRegionsUnitTests.java
+++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/annotation/EnableEntityDefinedRegionsUnitTests.java
@@ -64,6 +64,7 @@ import org.springframework.data.gemfire.mapping.annotation.ClientRegion;
import org.springframework.data.gemfire.mapping.annotation.LocalRegion;
import org.springframework.data.gemfire.mapping.annotation.PartitionRegion;
import org.springframework.data.gemfire.mapping.annotation.ReplicateRegion;
+import org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport;
import org.springframework.data.gemfire.tests.mock.MockObjectsSupport;
import org.springframework.data.gemfire.tests.mock.annotation.EnableGemFireMockObjects;
@@ -85,11 +86,12 @@ import org.springframework.data.gemfire.tests.mock.annotation.EnableGemFireMockO
* @see org.springframework.data.gemfire.mapping.annotation.ReplicateRegion
* @see org.springframework.data.gemfire.mapping.annotation.ReplicateRegion
* @see org.springframework.data.gemfire.tests.mock.MockObjectsSupport
+ * @see org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport
* @see org.springframework.data.gemfire.tests.mock.annotation.EnableGemFireMockObjects
* @since 1.9.0
*/
@SuppressWarnings({ "unchecked", "unused" })
-public class EnableEntityDefinedRegionsUnitTests {
+public class EnableEntityDefinedRegionsUnitTests extends IntegrationTestsSupport {
private ConfigurableApplicationContext applicationContext;
@@ -98,21 +100,21 @@ public class EnableEntityDefinedRegionsUnitTests {
Optional.ofNullable(this.applicationContext).ifPresent(ConfigurableApplicationContext::close);
}
- protected void assertRegion(Region region, String name) {
+ private void assertRegion(Region region, String name) {
assertRegion(region, name, toRegionPath(name), null, null);
}
- protected void assertRegion(Region region, String name,
+ private void assertRegion(Region region, String name,
Class keyConstraint, Class valueConstraint) {
assertRegion(region, name, toRegionPath(name), keyConstraint, valueConstraint);
}
- protected void assertRegion(Region region, String name, String fullPath) {
+ private void assertRegion(Region region, String name, String fullPath) {
assertRegion(region, name, fullPath, null, null);
}
- protected void assertRegion(Region region, String name, String fullPath,
+ private void assertRegion(Region region, String name, String fullPath,
Class keyConstraint, Class valueConstraint) {
assertThat(region).isNotNull();
@@ -123,7 +125,7 @@ public class EnableEntityDefinedRegionsUnitTests {
assertThat(region.getAttributes().getValueConstraint()).isEqualTo(valueConstraint);
}
- protected void assertRegionWithAttributes(Region region, String name, DataPolicy dataPolicy,
+ private void assertRegionWithAttributes(Region region, String name, DataPolicy dataPolicy,
String diskStoreName, Boolean diskSynchronous, Boolean ignoreJta, String poolName, Scope scope) {
assertRegion(region, name);
@@ -132,7 +134,7 @@ public class EnableEntityDefinedRegionsUnitTests {
poolName, scope);
}
- protected void assertRegionAttributes(RegionAttributes regionAttributes, DataPolicy dataPolicy,
+ private void assertRegionAttributes(RegionAttributes regionAttributes, DataPolicy dataPolicy,
String diskStoreName, Boolean diskSynchronous, Boolean ignoreJta, String poolName, Scope scope) {
assertThat(regionAttributes).isNotNull();
@@ -144,7 +146,7 @@ public class EnableEntityDefinedRegionsUnitTests {
assertThat(regionAttributes.getScope()).isEqualTo(scope);
}
- protected void assertPartitionAttributes(PartitionAttributes partitionAttributes,
+ private void assertPartitionAttributes(PartitionAttributes partitionAttributes,
String collocatedWith, PartitionResolver, ?> partitionResolver, Integer redundantCopies) {
assertThat(partitionAttributes).isNotNull();
@@ -153,7 +155,7 @@ public class EnableEntityDefinedRegionsUnitTests {
assertThat(partitionAttributes.getRedundantCopies()).isEqualTo(redundantCopies);
}
- protected void assertFixedPartitionAttributes(FixedPartitionAttributes fixedPartitionAttributes,
+ private void assertFixedPartitionAttributes(FixedPartitionAttributes fixedPartitionAttributes,
String partitionName, boolean primary, int numBuckets) {
assertThat(fixedPartitionAttributes).isNotNull();
@@ -162,7 +164,7 @@ public class EnableEntityDefinedRegionsUnitTests {
assertThat(fixedPartitionAttributes.getNumBuckets()).isEqualTo(numBuckets);
}
- protected void assertUndefinedRegions(String... regionBeanNames) {
+ private void assertUndefinedRegions(String... regionBeanNames) {
stream(nullSafeArray(regionBeanNames, String.class)).forEach(regionBeanName ->
assertThat(this.applicationContext.containsBean(regionBeanName)).isFalse());
@@ -170,7 +172,7 @@ public class EnableEntityDefinedRegionsUnitTests {
assertThat(this.applicationContext.getBeansOfType(Region.class)).hasSize(11 - length(regionBeanNames));
}
- protected FixedPartitionAttributes findFixedPartitionAttributes(PartitionAttributes, ?> partitionAttributes,
+ private FixedPartitionAttributes findFixedPartitionAttributes(PartitionAttributes, ?> partitionAttributes,
String partitionName) {
assertThat(partitionAttributes).isNotNull();
@@ -187,9 +189,12 @@ public class EnableEntityDefinedRegionsUnitTests {
return null;
}
- protected ConfigurableApplicationContext newApplicationContext(Class>... annotatedClasses) {
+ private ConfigurableApplicationContext newApplicationContext(Class>... annotatedClasses) {
+
ConfigurableApplicationContext applicationContext = new AnnotationConfigApplicationContext(annotatedClasses);
+
applicationContext.registerShutdownHook();
+
return applicationContext;
}
diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/annotation/EnableEvictionConfigurationUnitTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/annotation/EnableEvictionConfigurationUnitTests.java
index fa46189e..a29e4bab 100644
--- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/annotation/EnableEvictionConfigurationUnitTests.java
+++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/annotation/EnableEvictionConfigurationUnitTests.java
@@ -14,12 +14,12 @@
* limitations under the License.
*
*/
-
package org.springframework.data.gemfire.config.annotation;
import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyString;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import static org.springframework.data.gemfire.config.annotation.EnableEviction.EvictionPolicy;
@@ -46,22 +46,24 @@ import org.springframework.data.gemfire.ReplicatedRegionFactoryBean;
import org.springframework.data.gemfire.eviction.EvictionActionType;
import org.springframework.data.gemfire.eviction.EvictionAttributesFactoryBean;
import org.springframework.data.gemfire.eviction.EvictionPolicyType;
+import org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport;
import org.springframework.data.gemfire.util.ArrayUtils;
/**
- * Unit tests for the {@link EnableEviction} annotation and {@link EvictionConfiguration} class.
+ * Unit Tests for the {@link EnableEviction} annotation and {@link EvictionConfiguration} class.
*
* @author John Blum
* @see org.junit.Test
* @see org.mockito.Mockito
+ * @see org.apache.geode.cache.EvictionAttributes
+ * @see org.apache.geode.cache.Region
* @see org.springframework.data.gemfire.config.annotation.EnableEviction
* @see org.springframework.data.gemfire.config.annotation.EvictionConfiguration
- * @see EvictionAttributesFactoryBean
- * @see org.apache.geode.cache.Region
- * @see org.apache.geode.cache.EvictionAttributes
+ * @see org.springframework.data.gemfire.eviction.EvictionAttributesFactoryBean
+ * @see org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport
* @since 1.9.0
*/
-public class EnableEvictionConfigurationUnitTests {
+public class EnableEvictionConfigurationUnitTests extends IntegrationTestsSupport {
private ConfigurableApplicationContext applicationContext;
@@ -72,14 +74,15 @@ public class EnableEvictionConfigurationUnitTests {
}
}
- protected void assertEvictionAttributes(Region region, EvictionAttributes expectedEvictionAttributes) {
+ private void assertEvictionAttributes(Region, ?> region, EvictionAttributes expectedEvictionAttributes) {
+
assertThat(region).isNotNull();
assertThat(region.getAttributes()).isNotNull();
assertEvictionAttributes(region.getAttributes().getEvictionAttributes(), expectedEvictionAttributes);
}
- protected void assertEvictionAttributes(EvictionAttributes actualEvictionAttributes,
- EvictionAttributes expectedEvictionAttributes) {
+ private void assertEvictionAttributes(EvictionAttributes actualEvictionAttributes,
+ EvictionAttributes expectedEvictionAttributes) {
assertThat(actualEvictionAttributes).isNotNull();
assertThat(actualEvictionAttributes.getAction()).isEqualTo(expectedEvictionAttributes.getAction());
@@ -97,11 +100,11 @@ public class EnableEvictionConfigurationUnitTests {
return applicationContext.getBean(beanName, Region.class);
}
- protected AnnotationConfigApplicationContext newApplicationContext(Class>... annotatedClasses) {
+ private AnnotationConfigApplicationContext newApplicationContext(Class>... annotatedClasses) {
return new AnnotationConfigApplicationContext(annotatedClasses);
}
- protected EvictionAttributes newEvictionAttributes(Integer maximum, EvictionPolicyType type, EvictionActionType action,
+ private EvictionAttributes newEvictionAttributes(Integer maximum, EvictionPolicyType type, EvictionActionType action,
ObjectSizer... objectSizer) {
EvictionAttributesFactoryBean evictionAttributesFactory = new EvictionAttributesFactoryBean();
@@ -117,6 +120,7 @@ public class EnableEvictionConfigurationUnitTests {
@Test
public void usesDefaultEvictionPolicyConfiguration() {
+
applicationContext = newApplicationContext(DefaultEvictionPolicyConfiguration.class);
EvictionAttributes defaultEvictionAttributes = EvictionAttributes.createLRUEntryAttributes();
@@ -127,12 +131,14 @@ public class EnableEvictionConfigurationUnitTests {
@Test
public void usesCustomEvictionPolicyConfiguration() {
+
applicationContext = newApplicationContext(CustomEvictionPolicyConfiguration.class);
ObjectSizer mockObjectSizer = applicationContext.getBean("mockObjectSizer", ObjectSizer.class);
- EvictionAttributes customEvictionAttributes = newEvictionAttributes(65536, EvictionPolicyType.MEMORY_SIZE,
- EvictionActionType.OVERFLOW_TO_DISK, mockObjectSizer);
+ EvictionAttributes customEvictionAttributes =
+ newEvictionAttributes(65536, EvictionPolicyType.MEMORY_SIZE, EvictionActionType.OVERFLOW_TO_DISK,
+ mockObjectSizer);
assertEvictionAttributes(applicationContext.getBean("PartitionRegion", Region.class), customEvictionAttributes);
assertEvictionAttributes(applicationContext.getBean("ReplicateRegion", Region.class), customEvictionAttributes);
@@ -140,12 +146,14 @@ public class EnableEvictionConfigurationUnitTests {
@Test
public void usesRegionSpecificEvictionPolicyConfiguration() {
+
applicationContext = newApplicationContext(RegionSpecificEvictionPolicyConfiguration.class);
ObjectSizer mockObjectSizer = applicationContext.getBean("mockObjectSizer", ObjectSizer.class);
- EvictionAttributes partitionRegionEvictionAttributes = newEvictionAttributes(null,
- EvictionPolicyType.HEAP_PERCENTAGE, EvictionActionType.OVERFLOW_TO_DISK, mockObjectSizer);
+ EvictionAttributes partitionRegionEvictionAttributes =
+ newEvictionAttributes(null, EvictionPolicyType.HEAP_PERCENTAGE, EvictionActionType.OVERFLOW_TO_DISK,
+ mockObjectSizer);
EvictionAttributes replicateRegionEvictionAttributes = newEvictionAttributes(10000,
EvictionPolicyType.ENTRY_COUNT, EvictionActionType.LOCAL_DESTROY);
@@ -159,10 +167,11 @@ public class EnableEvictionConfigurationUnitTests {
@Test
public void usesLastMatchingEvictionPolicyConfiguration() {
+
applicationContext = newApplicationContext(LastMatchingWinsEvictionPolicyConfiguration.class);
- EvictionAttributes lastMatchingEvictionAttributes = newEvictionAttributes(99, EvictionPolicyType.ENTRY_COUNT,
- EvictionActionType.OVERFLOW_TO_DISK);
+ EvictionAttributes lastMatchingEvictionAttributes =
+ newEvictionAttributes(99, EvictionPolicyType.ENTRY_COUNT, EvictionActionType.OVERFLOW_TO_DISK);
assertEvictionAttributes(applicationContext.getBean("PartitionRegion", Region.class),
lastMatchingEvictionAttributes);
@@ -181,33 +190,33 @@ public class EnableEvictionConfigurationUnitTests {
Cache mockCache = mock(Cache.class);
- RegionFactory mockRegionFactory = mock(RegionFactory.class);
+ RegionFactory