diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/AutoRegionLookupDao.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/AutoRegionLookupDao.java index 8eddcbdf..69627911 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/AutoRegionLookupDao.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/AutoRegionLookupDao.java @@ -13,12 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.springframework.data.gemfire; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; +import static org.assertj.core.api.Assertions.assertThat; import javax.annotation.Resource; @@ -41,8 +38,6 @@ import org.springframework.stereotype.Repository; * @see org.apache.geode.cache.Region * @since 1.5.0 */ -/* -*/ @DependsOn("gemfireCache") //@Lazy @Repository("autoRegionLookupDao") @@ -61,24 +56,31 @@ public class AutoRegionLookupDao extends DaoSupport { @Resource(name = "/NativeReplicateParent/NativeReplicateChild/NativeReplicateGrandchild") private Region nativeReplicateGrandchild; - protected static void assertRegionMetaData(final Region region, - final String expectedName, final DataPolicy expectedDataPolicy) { + protected static void assertRegionMetaData(Region region, String expectedName, DataPolicy expectedDataPolicy) { assertRegionMetaData(region, expectedName, Region.SEPARATOR + expectedName, expectedDataPolicy); } - protected static void assertRegionMetaData(final Region region, final String expectedName, - final String expectedFullPath, final DataPolicy expectedDataPolicy) { - assertNotNull(String.format("Region (%1$s) was not properly configured and initialized!", expectedName), region); - assertEquals(expectedName, region.getName()); - assertEquals(expectedFullPath, region.getFullPath()); - assertNotNull(String.format("Region (%1$s) must have RegionAttributes defined!", expectedName), - region.getAttributes()); - assertEquals(expectedDataPolicy, region.getAttributes().getDataPolicy()); - assertFalse(region.getAttributes().getDataPolicy().withPersistence()); + protected static void assertRegionMetaData(Region region, String expectedName, String expectedFullPath, + DataPolicy expectedDataPolicy) { + + assertThat(region) + .describedAs("Region (%1$s) was not properly configured and initialized!", expectedName) + .isNotNull(); + + assertThat(region.getName()).isEqualTo(expectedName); + assertThat(region.getFullPath()).isEqualTo(expectedFullPath); + + assertThat(region.getAttributes()) + .describedAs("Region (%1$s) must have RegionAttributes defined!", expectedName) + .isNotNull(); + + assertThat(region.getAttributes().getDataPolicy()).isEqualTo(expectedDataPolicy); + assertThat(region.getAttributes().getDataPolicy().withPersistence()).isFalse(); } @Override protected void checkDaoConfig() throws IllegalArgumentException { + assertRegionMetaData(nativePartitionedRegion, "NativePartitionedRegion", DataPolicy.PARTITION); assertRegionMetaData(nativeReplicateParent, "NativeReplicateParent", DataPolicy.REPLICATE); assertRegionMetaData(nativeReplicateChild, "NativeReplicateChild", @@ -86,5 +88,4 @@ public class AutoRegionLookupDao extends DaoSupport { assertRegionMetaData(nativeReplicateGrandchild, "NativeReplicateGrandchild", "/NativeReplicateParent/NativeReplicateChild/NativeReplicateGrandchild", DataPolicy.REPLICATE); } - } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/CacheAutoReconnectIntegrationTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/CacheAutoReconnectIntegrationTests.java index a7ca5b41..9ecab89c 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/CacheAutoReconnectIntegrationTests.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/CacheAutoReconnectIntegrationTests.java @@ -13,34 +13,34 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.springframework.data.gemfire; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; +import static org.assertj.core.api.Assertions.assertThat; import static org.junit.Assume.assumeNotNull; import java.io.File; -import org.apache.geode.cache.Cache; - import org.junit.After; import org.junit.Test; +import org.apache.geode.cache.Cache; + import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.data.gemfire.config.xml.GemfireConstants; +import org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport; /** - * The CacheAutoReconnectIntegrationTests class is a tests suite of test cases testing Spring Data GemFire's support - * of GemFire's Auto-Reconnect functionality release in 8.0. + * Integration Tests testing SDG support of Apache Geode Auto-Reconnect functionality. * * @author John Blum * @see org.junit.Test + * @see org.apache.geode.cache.Cache + * @see org.springframework.data.gemfire.CacheFactoryBean + * @see org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport * @since 1.5.0 */ -public class CacheAutoReconnectIntegrationTests { +public class CacheAutoReconnectIntegrationTests extends IntegrationTestsSupport { private ConfigurableApplicationContext applicationContext; @@ -51,28 +51,36 @@ public class CacheAutoReconnectIntegrationTests { } protected Cache getCache(String configLocation) { - String baseConfigLocation = File.separator.concat( - getClass().getPackage().getName().replace('.', File.separatorChar)); + + String baseConfigLocation = + File.separator.concat(getClass().getPackage().getName().replace('.', File.separatorChar)); + applicationContext = new ClassPathXmlApplicationContext(baseConfigLocation.concat(File.separator).concat(configLocation)); + return applicationContext.getBean(GemfireConstants.DEFAULT_GEMFIRE_CACHE_NAME, Cache.class); } @Test public void testAutoReconnectDisabled() { + Cache cache = getCache("cacheAutoReconnectDisabledIntegrationTests.xml"); - assertNotNull(cache); - assertNotNull(cache.getDistributedSystem()); - assertNotNull(cache.getDistributedSystem().getProperties()); - assertTrue(Boolean.valueOf(cache.getDistributedSystem().getProperties().getProperty("disable-auto-reconnect"))); + + assertThat(cache).isNotNull(); + assertThat(cache.getDistributedSystem()).isNotNull(); + assertThat(cache.getDistributedSystem().getProperties()).isNotNull(); + assertThat(Boolean.valueOf(cache.getDistributedSystem().getProperties().getProperty("disable-auto-reconnect"))) + .isTrue(); } @Test public void testAutoReconnectEnabled() { - Cache cache = getCache("cacheAutoReconnectEnabledIntegrationTests.xml"); - assertNotNull(cache); - assertNotNull(cache.getDistributedSystem()); - assertNotNull(cache.getDistributedSystem().getProperties()); - assertFalse(Boolean.valueOf(cache.getDistributedSystem().getProperties().getProperty("disable-auto-reconnect"))); - } + Cache cache = getCache("cacheAutoReconnectEnabledIntegrationTests.xml"); + + assertThat(cache).isNotNull(); + assertThat(cache.getDistributedSystem()).isNotNull(); + assertThat(cache.getDistributedSystem().getProperties()).isNotNull(); + assertThat(Boolean.valueOf(cache.getDistributedSystem().getProperties().getProperty("disable-auto-reconnect"))) + .isFalse(); + } } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/CacheClusterConfigurationIntegrationTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/CacheClusterConfigurationIntegrationTests.java index feb74cde..9a5e9dcf 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/CacheClusterConfigurationIntegrationTests.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/CacheClusterConfigurationIntegrationTests.java @@ -16,10 +16,7 @@ package org.springframework.data.gemfire; import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.assertj.core.api.Assertions.fail; import static org.springframework.data.gemfire.util.RuntimeExceptionFactory.newRuntimeException; import java.io.File; @@ -141,7 +138,7 @@ public class CacheClusterConfigurationIntegrationTests extends ForkingClientServ locatorWorkingDirectory = new File(System.getProperty("java.io.tmpdir"), locatorName.toLowerCase()); - assertTrue(locatorWorkingDirectory.isDirectory() || locatorWorkingDirectory.mkdirs()); + assertThat(locatorWorkingDirectory.isDirectory() || locatorWorkingDirectory.mkdirs()).isTrue(); ZipUtils.unzip(new ClassPathResource("/cluster_config.zip"), locatorWorkingDirectory); @@ -206,20 +203,20 @@ public class CacheClusterConfigurationIntegrationTests extends ForkingClientServ private Region assertRegion(Region actualRegion, String expectedRegionName, String expectedRegionFullPath) { - assertNotNull(String.format("The [%s] was not properly configured and initialized!", - expectedRegionName), actualRegion); - assertEquals(expectedRegionName, actualRegion.getName()); - assertEquals(expectedRegionFullPath, actualRegion.getFullPath()); + assertThat(actualRegion).as(String.format("The [%s] was not properly configured and initialized!", + expectedRegionName)).isNotNull(); + assertThat(actualRegion.getName()).isEqualTo(expectedRegionName); + assertThat(actualRegion.getFullPath()).isEqualTo(expectedRegionFullPath); return actualRegion; } private Region assertRegionAttributes(Region actualRegion, DataPolicy expectedDataPolicy, Scope expectedScope) { - assertNotNull(actualRegion); - assertNotNull(actualRegion.getAttributes()); - assertEquals(expectedDataPolicy, actualRegion.getAttributes().getDataPolicy()); - assertEquals(expectedScope, actualRegion.getAttributes().getScope()); + assertThat(actualRegion).isNotNull(); + assertThat(actualRegion.getAttributes()).isNotNull(); + assertThat(actualRegion.getAttributes().getDataPolicy()).isEqualTo(expectedDataPolicy); + assertThat(actualRegion.getAttributes().getScope()).isEqualTo(expectedScope); return actualRegion; } @@ -282,8 +279,9 @@ public class CacheClusterConfigurationIntegrationTests extends ForkingClientServ assertThat(expected).hasCauseInstanceOf(BeanInitializationException.class); - assertTrue(String.format("Message was [%s]", expected.getMessage()), expected.getCause().getMessage() - .matches("Region \\[ClusterConfigRegion\\] in Cache \\[.*\\] not found")); + assertThat(expected.getCause().getMessage() + .matches("Region \\[ClusterConfigRegion\\] in Cache \\[.*\\] not found")) + .as(String.format("Message was [%s]", expected.getMessage())).isTrue(); } } } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/CacheServerIntegrationTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/CacheServerIntegrationTests.java similarity index 51% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/CacheServerIntegrationTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/CacheServerIntegrationTests.java index 41f7a68c..4cd4c9f0 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/CacheServerIntegrationTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/CacheServerIntegrationTests.java @@ -13,54 +13,48 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.springframework.data.gemfire; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; +import static org.assertj.core.api.Assertions.assertThat; import java.io.File; import javax.annotation.Resource; -import org.apache.geode.cache.server.CacheServer; - import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; +import org.apache.geode.cache.server.CacheServer; + +import org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit4.SpringRunner; /** - * The CacheServerIntegrationTest class is a test suite of test cases testing the functionality of GemFire Cache Servers - * configured using the Spring Data GemFire XML namespace. + * Integration Tests for {@link CacheServer} configuration using SDG XML namespace configuration metadata. * * @author John Blum * @see org.junit.Test + * @see org.apache.geode.cache.server.CacheServer * @see org.springframework.data.gemfire.server.CacheServerFactoryBean + * @see org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport * @see org.springframework.test.context.ContextConfiguration - * @see org.springframework.test.context.junit4.SpringJUnit4ClassRunner + * @see org.springframework.test.context.junit4.SpringRunner * @since 1.3.3 */ +@RunWith(SpringRunner.class) @ContextConfiguration("cache-server-with-subscription-disk-store.xml") -@RunWith(SpringJUnit4ClassRunner.class) -public class CacheServerIntegrationTest { +@SuppressWarnings("unused") +public class CacheServerIntegrationTests extends IntegrationTestsSupport { - @Resource(name = "testCacheServer") - private CacheServer cacheServer; - - protected static boolean createDirectory(final File path) { - return (path != null && (path.isDirectory() || path.mkdirs())); - } - - protected static File createFile(final String pathname) { + private static File createFile(final String pathname) { return new File(pathname); } - protected static void deleteRecursive(final File path) { + private static void deleteRecursive(final File path) { + if (path.isDirectory()) { for (File file : path.listFiles()) { deleteRecursive(file); @@ -70,9 +64,12 @@ public class CacheServerIntegrationTest { path.delete(); } + @Resource(name = "testCacheServer") + private CacheServer cacheServer; + @BeforeClass public static void setupBeforeClass() { - assertTrue(createDirectory(createFile("./gemfire/subscription-disk-store"))); + assertThat(createDirectory(createFile("./gemfire/subscription-disk-store")).isDirectory()).isTrue(); } @AfterClass @@ -83,17 +80,17 @@ public class CacheServerIntegrationTest { @Test @SuppressWarnings("deprecation") public void testCacheServerRunningWithSubscription() { - assertNotNull(cacheServer); - assertTrue(cacheServer.isRunning()); - assertEquals("localhost", cacheServer.getBindAddress()); - assertNotNull(cacheServer.getGroups()); - assertEquals(1, cacheServer.getGroups().length); - assertEquals("test-server", cacheServer.getGroups()[0]); - assertEquals(1, cacheServer.getMaxConnections()); - assertNotNull(cacheServer.getClientSubscriptionConfig()); - assertEquals(512, cacheServer.getClientSubscriptionConfig().getCapacity()); - assertEquals("testSubscriptionDiskStore", cacheServer.getClientSubscriptionConfig().getDiskStoreName()); - assertTrue("ENTRY".equalsIgnoreCase(cacheServer.getClientSubscriptionConfig().getEvictionPolicy())); - } + assertThat(cacheServer).isNotNull(); + assertThat(cacheServer.isRunning()).isTrue(); + assertThat(cacheServer.getBindAddress()).isEqualTo("localhost"); + assertThat(cacheServer.getGroups()).isNotNull(); + assertThat(cacheServer.getGroups().length).isEqualTo(1); + assertThat(cacheServer.getGroups()[0]).isEqualTo("test-server"); + assertThat(cacheServer.getMaxConnections()).isEqualTo(1); + assertThat(cacheServer.getClientSubscriptionConfig()).isNotNull(); + assertThat(cacheServer.getClientSubscriptionConfig().getCapacity()).isEqualTo(512); + assertThat(cacheServer.getClientSubscriptionConfig().getDiskStoreName()).isEqualTo("testSubscriptionDiskStore"); + assertThat("ENTRY".equalsIgnoreCase(cacheServer.getClientSubscriptionConfig().getEvictionPolicy())).isTrue(); + } } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/CollocatedRegionIntegrationTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/CollocatedRegionIntegrationTests.java new file mode 100644 index 00000000..180d3d5f --- /dev/null +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/CollocatedRegionIntegrationTests.java @@ -0,0 +1,75 @@ +/* + * Copyright 2010-2021 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * 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; + +import javax.annotation.Resource; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import org.apache.geode.cache.Region; + +import org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport; +import org.springframework.data.gemfire.tests.mock.context.GemFireMockObjectsApplicationContextInitializer; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringRunner; + +/** + * Integration Tests for JIRA issue SGF-195,concerning collocated cache {@link Region Regions}. + * + * @author John Blum + * @see org.junit.Test + * @see org.apache.geode.cache.Region + * @see org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport + * @see org.springframework.data.gemfire.tests.mock.context.GemFireMockObjectsApplicationContextInitializer + * @see org.springframework.test.context.ContextConfiguration + * @see org.springframework.test.context.junit4.SpringRunner + * @link https://jira.springsource.org/browse/SGF-195 + * @since 1.3.3 + */ +@RunWith(SpringRunner.class) +@ContextConfiguration(value = "colocated-region.xml", + initializers = GemFireMockObjectsApplicationContextInitializer.class) +@SuppressWarnings("unused") +public class CollocatedRegionIntegrationTests extends IntegrationTestsSupport { + + @Resource(name = "colocatedRegion") + private Region colocatedRegion; + + @Resource(name = "sourceRegion") + private Region sourceRegion; + + protected static void assertRegionExists(String expectedRegionName, Region region) { + + assertThat(region).isNotNull(); + + assertThat(region.getName()) + .describedAs("Expected Region with name %1$s; but was %2$s!", expectedRegionName, region.getName()) + .isEqualTo(expectedRegionName); + } + + @Test + public void testRegionsColocated() { + + assertRegionExists("Source", sourceRegion); + assertRegionExists("Colocated", colocatedRegion); + assertThat(colocatedRegion.getAttributes()).isNotNull(); + assertThat(colocatedRegion.getAttributes().getPartitionAttributes()).isNotNull(); + assertThat(colocatedRegion.getAttributes().getPartitionAttributes().getColocatedWith()).isEqualTo(sourceRegion.getName()); + } +} diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/ColocatedRegionIntegrationTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/ColocatedRegionIntegrationTest.java deleted file mode 100644 index c21364a8..00000000 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/ColocatedRegionIntegrationTest.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright 2010-2021 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.springframework.data.gemfire; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; - -import javax.annotation.Resource; - -import org.apache.geode.cache.Region; - -import org.junit.Test; -import org.junit.runner.RunWith; - -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -/** - * The ColocatedRegionIntegrationTest class is a test suite class containing test cases for JIRA issue SGF-195, - * concerning colocated Regions in GemFire. - * - * @author John Blum - * @link https://jira.springsource.org/browse/SGF-195 - * @see org.junit.Test - * @see org.junit.runner.RunWith - * @see org.springframework.test.context.ContextConfiguration - * @see org.springframework.test.context.junit4.SpringJUnit4ClassRunner - * @since 1.3.3 - */ -@ContextConfiguration("colocated-region.xml") -@RunWith(SpringJUnit4ClassRunner.class) -@SuppressWarnings("unused") -public class ColocatedRegionIntegrationTest { - - @Resource(name = "colocatedRegion") - private Region colocatedRegion; - - @Resource(name = "sourceRegion") - private Region sourceRegion; - - protected static void assertRegionExists(final String expectedRegionName, final Region region) { - assertNotNull(region); - assertEquals(String.format("Expected Region with name %1$s; but was %2$s!", - expectedRegionName, region.getName()), expectedRegionName, region.getName()); - } - - @Test - public void testRegionsColocated() { - assertRegionExists("Source", sourceRegion); - assertRegionExists("Colocated", colocatedRegion); - assertNotNull(colocatedRegion.getAttributes()); - assertNotNull(colocatedRegion.getAttributes().getPartitionAttributes()); - assertEquals(sourceRegion.getName(), colocatedRegion.getAttributes().getPartitionAttributes().getColocatedWith()); - } - -} diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/DataPolicyConverterTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/DataPolicyConverterTest.java deleted file mode 100644 index 3f223c37..00000000 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/DataPolicyConverterTest.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright 2010-2021 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.springframework.data.gemfire; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; - -import org.apache.geode.cache.DataPolicy; - -import org.junit.Test; - -/** - * @author David Turanski - * @author John Blum - */ -public class DataPolicyConverterTest { - - private final DataPolicyConverter converter = new DataPolicyConverter(); - - protected int getDataPolicyEnumerationSize() { - int count = 0; - - for (byte ordinal = 0; ordinal < Byte.MAX_VALUE; ordinal++) { - try { - if (DataPolicy.fromOrdinal(ordinal) != null) { - count++; - } - } - catch (ArrayIndexOutOfBoundsException ignore) { - break; - } - catch (Throwable ignore) { - } - } - - return count; - } - - @Test - public void policyToDataPolicyConversion() { - assertEquals(getDataPolicyEnumerationSize(), DataPolicyConverter.Policy.values().length - 1); - assertEquals(DataPolicy.EMPTY, DataPolicyConverter.Policy.EMPTY.toDataPolicy()); - assertEquals(DataPolicy.NORMAL, DataPolicyConverter.Policy.NORMAL.toDataPolicy()); - assertEquals(DataPolicy.PRELOADED, DataPolicyConverter.Policy.PRELOADED.toDataPolicy()); - assertEquals(DataPolicy.PARTITION, DataPolicyConverter.Policy.PARTITION.toDataPolicy()); - assertEquals(DataPolicy.PERSISTENT_PARTITION, DataPolicyConverter.Policy.PERSISTENT_PARTITION.toDataPolicy()); - assertEquals(DataPolicy.REPLICATE, DataPolicyConverter.Policy.REPLICATE.toDataPolicy()); - assertEquals(DataPolicy.PERSISTENT_REPLICATE, DataPolicyConverter.Policy.PERSISTENT_REPLICATE.toDataPolicy()); - assertEquals(DataPolicy.DEFAULT, DataPolicyConverter.Policy.DEFAULT.toDataPolicy()); - } - - @Test - public void convertDataPolicyStrings() { - assertEquals(DataPolicy.EMPTY, converter.convert("empty")); - assertEquals(DataPolicy.PARTITION, converter.convert("Partition")); - assertEquals(DataPolicy.PERSISTENT_REPLICATE, converter.convert("PERSISTENT_REPLICATE")); - assertNull(converter.convert("invalid")); - assertNull(converter.convert(null)); - } - -} diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/DataPolicyConverterUnitTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/DataPolicyConverterUnitTests.java new file mode 100644 index 00000000..a660f043 --- /dev/null +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/DataPolicyConverterUnitTests.java @@ -0,0 +1,79 @@ +/* + * Copyright 2010-2021 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * 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; + +import org.junit.Test; + +import org.apache.geode.cache.DataPolicy; + +/** + * Unit Tests for {@link DataPolicyConverter}. + * + * @author David Turanski + * @author John Blum + * @see org.junit.Test + * @see org.springframework.data.gemfire.DataPolicyConverter + */ +public class DataPolicyConverterUnitTests { + + private final DataPolicyConverter converter = new DataPolicyConverter(); + + private int getDataPolicyEnumerationSize() { + + int count = 0; + + for (byte ordinal = 0; ordinal < Byte.MAX_VALUE; ordinal++) { + try { + if (DataPolicy.fromOrdinal(ordinal) != null) { + count++; + } + } + catch (ArrayIndexOutOfBoundsException ignore) { + break; + } + catch (Throwable ignore) { + } + } + + return count; + } + + @Test + public void policyToDataPolicyConversion() { + + assertThat(DataPolicyConverter.Policy.values().length - 1).isEqualTo(getDataPolicyEnumerationSize()); + assertThat(DataPolicyConverter.Policy.EMPTY.toDataPolicy()).isEqualTo(DataPolicy.EMPTY); + assertThat(DataPolicyConverter.Policy.NORMAL.toDataPolicy()).isEqualTo(DataPolicy.NORMAL); + assertThat(DataPolicyConverter.Policy.PRELOADED.toDataPolicy()).isEqualTo(DataPolicy.PRELOADED); + assertThat(DataPolicyConverter.Policy.PARTITION.toDataPolicy()).isEqualTo(DataPolicy.PARTITION); + assertThat(DataPolicyConverter.Policy.PERSISTENT_PARTITION.toDataPolicy()).isEqualTo(DataPolicy.PERSISTENT_PARTITION); + assertThat(DataPolicyConverter.Policy.REPLICATE.toDataPolicy()).isEqualTo(DataPolicy.REPLICATE); + assertThat(DataPolicyConverter.Policy.PERSISTENT_REPLICATE.toDataPolicy()).isEqualTo(DataPolicy.PERSISTENT_REPLICATE); + assertThat(DataPolicyConverter.Policy.DEFAULT.toDataPolicy()).isEqualTo(DataPolicy.DEFAULT); + } + + @Test + public void convertDataPolicyStrings() { + + assertThat(converter.convert("empty")).isEqualTo(DataPolicy.EMPTY); + assertThat(converter.convert("Partition")).isEqualTo(DataPolicy.PARTITION); + assertThat(converter.convert("PERSISTENT_REPLICATE")).isEqualTo(DataPolicy.PERSISTENT_REPLICATE); + assertThat(converter.convert("invalid")).isNull(); + assertThat(converter.convert(null)).isNull(); + } +} diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/DiskStoreFactoryBeanTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/DiskStoreFactoryBeanUnitTests.java similarity index 76% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/DiskStoreFactoryBeanTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/DiskStoreFactoryBeanUnitTests.java index bdeceae8..13420519 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/DiskStoreFactoryBeanTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/DiskStoreFactoryBeanUnitTests.java @@ -13,16 +13,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.springframework.data.gemfire; -import static org.junit.Assert.assertEquals; +import static org.assertj.core.api.Assertions.assertThat; import org.junit.Before; import org.junit.Test; /** - * Unit tests for {@link DiskStoreFactoryBean}. + * Unit Tests for {@link DiskStoreFactoryBean}. * * @author John Blum * @see org.junit.Test @@ -30,7 +29,7 @@ import org.junit.Test; * @see org.springframework.data.gemfire.DiskStoreFactoryBean * @since 1.3.4 */ -public class DiskStoreFactoryBeanTest { +public class DiskStoreFactoryBeanUnitTests { private final DiskStoreFactoryBean factoryBean = new DiskStoreFactoryBean(); @@ -46,6 +45,7 @@ public class DiskStoreFactoryBeanTest { @Test public void testValidateCompactionThresholdWhenValid() { + factoryBean.validateCompactionThreshold(0); factoryBean.validateCompactionThreshold(50); factoryBean.validateCompactionThreshold(100); @@ -53,24 +53,28 @@ public class DiskStoreFactoryBeanTest { @Test(expected = IllegalArgumentException.class) public void testValidateCompactionThresholdWhenLessThan0() { + try { factoryBean.validateCompactionThreshold(-1); } catch (IllegalArgumentException expected) { - assertEquals(String.format("The DiskStore's (%1$s) compaction threshold (%2$d) must be an integer value between 0 and 100 inclusive.", - factoryBean.resolveDiskStoreName(), -1), expected.getMessage()); + assertThat(expected.getMessage()).isEqualTo(String.format( + "The DiskStore's (%1$s) compaction threshold (%2$d) must be an integer value between 0 and 100 inclusive.", + factoryBean.resolveDiskStoreName(), -1)); throw expected; } } @Test(expected = IllegalArgumentException.class) public void testValidateCompactionThresholdWhenGreaterThan100() { + try { factoryBean.validateCompactionThreshold(101); } catch (IllegalArgumentException expected) { - assertEquals(String.format("The DiskStore's (%1$s) compaction threshold (%2$d) must be an integer value between 0 and 100 inclusive.", - factoryBean.resolveDiskStoreName(), 101), expected.getMessage()); + assertThat(expected.getMessage()).isEqualTo(String.format( + "The DiskStore's (%1$s) compaction threshold (%2$d) must be an integer value between 0 and 100 inclusive.", + factoryBean.resolveDiskStoreName(), 101)); throw expected; } } @@ -82,24 +86,26 @@ public class DiskStoreFactoryBeanTest { @Test(expected = IllegalArgumentException.class) public void testSetCompactionThreadWithIllegalArgument() { + try { factoryBean.setCompactionThreshold(200); } catch (IllegalArgumentException expected) { - assertEquals(String.format( + assertThat(expected.getMessage()).isEqualTo(String.format( "The DiskStore's (%1$s) compaction threshold (%2$d) must be an integer value between 0 and 100 inclusive.", - factoryBean.resolveDiskStoreName(), 200), expected.getMessage()); + factoryBean.resolveDiskStoreName(), 200)); throw expected; } } @Test(expected = IllegalStateException.class) public void testAfterPropertiesSetWithNoCacheReference() throws Exception { + try { factoryBean.afterPropertiesSet(); } catch (IllegalStateException expected) { - assertEquals("Cache is required to create DiskStore [testDiskStore]", expected.getMessage()); + assertThat(expected.getMessage()).isEqualTo("Cache is required to create DiskStore [testDiskStore]"); throw expected; } } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/GenericRegionFactoryBeanTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/GenericRegionFactoryBeanIntegrationTests.java similarity index 87% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/GenericRegionFactoryBeanTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/GenericRegionFactoryBeanIntegrationTests.java index 10afe94a..60a9451e 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/GenericRegionFactoryBeanTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/GenericRegionFactoryBeanIntegrationTests.java @@ -15,8 +15,7 @@ */ package org.springframework.data.gemfire; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.assertj.core.api.Assertions.assertThat; import static org.springframework.data.gemfire.tests.util.FileSystemUtils.FileExtensionFilter.newFileExtensionFilter; import java.io.FileFilter; @@ -31,19 +30,22 @@ import org.apache.geode.cache.DataPolicy; import org.apache.geode.cache.Region; import org.apache.geode.cache.Scope; +import org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport; import org.springframework.data.gemfire.tests.util.FileSystemUtils; import org.springframework.data.gemfire.util.CacheUtils; /** - * Unit Tests for {@link GenericRegionFactoryBean}. + * Integration Tests for {@link GenericRegionFactoryBean}. * * @author John Blum * @see org.junit.Test + * @see org.apache.geode.cache.Cache * @see org.apache.geode.cache.Region * @see org.springframework.data.gemfire.GenericRegionFactoryBean + * @see org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport * @since 1.7.0 */ -public class GenericRegionFactoryBeanTest { +public class GenericRegionFactoryBeanIntegrationTests extends IntegrationTestsSupport { // As defined in com.gemstone.gemfire.internal.cache.AbstractRegion private static final Scope DEFAULT_SCOPE = Scope.DISTRIBUTED_NO_ACK; @@ -60,7 +62,7 @@ public class GenericRegionFactoryBeanTest { public static void setup() throws Exception { Cache gemfireCache = new CacheFactory() - .set("name", GenericRegionFactoryBeanTest.class.getSimpleName()) + .set("name", GenericRegionFactoryBeanIntegrationTests.class.getSimpleName()) .set("log-level", "error") .create(); @@ -153,12 +155,12 @@ public class GenericRegionFactoryBeanTest { protected void assertRegionAttributes(Region region, String expectedRegionName, String expectedRegionPath, DataPolicy expectedDataPolicy, Scope expectedScope) { - assertNotNull("The GemFire Cache Region must not be null!", region); - assertEquals(expectedRegionName, region.getName()); - assertEquals(expectedRegionPath, region.getFullPath()); - assertNotNull("The RegionAttributes must be specified!", region.getAttributes()); - assertEquals(expectedDataPolicy, region.getAttributes().getDataPolicy()); - assertEquals(expectedScope, region.getAttributes().getScope()); + assertThat(region).as("The GemFire Cache Region must not be null!").isNotNull(); + assertThat(region.getName()).isEqualTo(expectedRegionName); + assertThat(region.getFullPath()).isEqualTo(expectedRegionPath); + assertThat(region.getAttributes()).as("The RegionAttributes must be specified!").isNotNull(); + assertThat(region.getAttributes().getDataPolicy()).isEqualTo(expectedDataPolicy); + assertThat(region.getAttributes().getScope()).isEqualTo(expectedScope); } @Test diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/IndexFactoryBeanTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/IndexFactoryBeanUnitTests.java similarity index 98% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/IndexFactoryBeanTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/IndexFactoryBeanUnitTests.java index 17762990..4b4b5f8a 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/IndexFactoryBeanTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/IndexFactoryBeanUnitTests.java @@ -13,11 +13,9 @@ * 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; -import static org.junit.Assert.assertEquals; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.eq; @@ -30,13 +28,21 @@ import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.verifyZeroInteractions; +import static org.mockito.Mockito.verifyNoInteractions; import static org.mockito.Mockito.when; import java.util.Arrays; import java.util.Collections; import java.util.concurrent.atomic.AtomicReference; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Spy; +import org.mockito.junit.MockitoJUnitRunner; + import org.apache.geode.cache.Cache; import org.apache.geode.cache.client.ClientCache; import org.apache.geode.cache.query.Index; @@ -45,25 +51,17 @@ import org.apache.geode.cache.query.IndexNameConflictException; import org.apache.geode.cache.query.IndexStatistics; import org.apache.geode.cache.query.QueryService; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.Spy; -import org.mockito.junit.MockitoJUnitRunner; -import org.slf4j.Logger; - import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.config.ConfigurableBeanFactory; import org.springframework.data.gemfire.config.xml.GemfireConstants; +import org.slf4j.Logger; + /** - * Unit tests for {@link IndexFactoryBean}. + * Unit Tests for {@link IndexFactoryBean}. * * @author John Blum * @see org.junit.Test - * @see org.junit.runner.RunWith * @see org.mockito.Mock * @see org.mockito.Mockito * @see org.mockito.Spy @@ -76,7 +74,7 @@ import org.springframework.data.gemfire.config.xml.GemfireConstants; * @since 1.5.2 */ @RunWith(MockitoJUnitRunner.class) -public class IndexFactoryBeanTest { +public class IndexFactoryBeanUnitTests { @Mock private BeanFactory mockBeanFactory; @@ -153,7 +151,6 @@ public class IndexFactoryBeanTest { } @Test - @SuppressWarnings("all") public void afterPropertiesSetIsSuccessful() throws Exception { ConfigurableBeanFactory mockConfigurableBeanFactory = mock(ConfigurableBeanFactory.class); @@ -188,7 +185,8 @@ public class IndexFactoryBeanTest { .registerAlias(eq("KeyIndexBean"), eq("TestKeyIndex")); verify(mockQueryService, times(1)) .createKeyIndex(eq("TestKeyIndex"), eq("id"), eq("/Example")); - verifyZeroInteractions(mockCache); + + verifyNoInteractions(mockCache); } @Test(expected = IllegalArgumentException.class) @@ -536,7 +534,7 @@ public class IndexFactoryBeanTest { indexFactoryBean.registerAlias("IndexBean", "TestIndex"); - verifyZeroInteractions(mockBeanFactory); + verifyNoInteractions(mockBeanFactory); } @Test @@ -551,7 +549,7 @@ public class IndexFactoryBeanTest { assertThat(indexFactoryBean.getBeanFactory()).isSameAs(mockConfigurableBeanFactory); - verifyZeroInteractions(mockConfigurableBeanFactory); + verifyNoInteractions(mockConfigurableBeanFactory); } @Test @@ -922,7 +920,7 @@ public class IndexFactoryBeanTest { .createFunctionalIndex(eq(mockQueryService), eq("TestIndex"), eq("id"), eq("/Example"), eq(null)); - verifyZeroInteractions(mockLogger); + verifyNoInteractions(mockLogger); verify(mockQueryService, times(1)).getIndexes(); } @@ -970,7 +968,7 @@ public class IndexFactoryBeanTest { .createFunctionalIndex(eq(mockQueryService), eq("TestIndex"), eq("id"), eq("/Example"), eq(null)); - verifyZeroInteractions(mockLogger); + verifyNoInteractions(mockLogger); verify(mockQueryService, times(1)).getIndexes(); } @@ -1004,7 +1002,7 @@ public class IndexFactoryBeanTest { .createFunctionalIndex(eq(mockQueryService), eq("TestIndex"), eq("price"), eq("/Orders"), eq(null)); - verifyZeroInteractions(mockLogger); + verifyNoInteractions(mockLogger); verify(mockQueryService, times(1)).getIndexes(); } @@ -1086,7 +1084,7 @@ public class IndexFactoryBeanTest { verify(indexFactoryBean, times(1)) .createKeyIndex(eq(mockQueryService), eq("TestIndex"), eq("id"), eq("/Example")); - verifyZeroInteractions(mockLogger); + verifyNoInteractions(mockLogger); verify(mockQueryService, times(1)).getIndexes(); } @@ -1557,7 +1555,7 @@ public class IndexFactoryBeanTest { } @Test - public void getObjectReturnsLookedUpIndex() throws Exception { + public void getObjectReturnsLookedUpIndex() { Index mockIndexOne = mockIndex("MockIndexOne"); Index mockIndexTwo = mockIndex("MockIndexTwo"); @@ -1658,8 +1656,8 @@ public class IndexFactoryBeanTest { doAnswer(invocation -> { - assertEquals(GemfireConstants.DEFAULT_GEMFIRE_INDEX_DEFINITION_QUERY_SERVICE, - invocation.getArgument(0)); + assertThat(invocation.getArgument(0)) + .isEqualTo(GemfireConstants.DEFAULT_GEMFIRE_INDEX_DEFINITION_QUERY_SERVICE); queryServiceReference.compareAndSet(null, invocation.getArgument(1)); diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/IndexMaintenancePolicyTypeTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/IndexMaintenancePolicyTypeTest.java index cbe3e0e2..9a08f980 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/IndexMaintenancePolicyTypeTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/IndexMaintenancePolicyTypeTest.java @@ -13,63 +13,67 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.springframework.data.gemfire; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertSame; -import static org.mockito.Matchers.eq; +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; +import org.junit.Test; + import org.apache.geode.cache.AttributesFactory; import org.apache.geode.cache.RegionFactory; -import org.junit.Test; - /** - * The IndexMaintenanceTypeTest class is a test suite of test cases testing the contract and functionality of the - * IndexMaintenanceType enum type. + * Unit Tests for {@link IndexMaintenancePolicyType} enum. * * @author John Blum * @see org.junit.Test * @see org.mockito.Mockito - * @see IndexMaintenancePolicyType + * @see org.springframework.data.gemfire.IndexMaintenancePolicyType * @since 1.6.0 */ public class IndexMaintenancePolicyTypeTest { @Test public void testDefault() { - assertSame(IndexMaintenancePolicyType.SYNCHRONOUS, IndexMaintenancePolicyType.DEFAULT); + assertThat(IndexMaintenancePolicyType.DEFAULT).isSameAs(IndexMaintenancePolicyType.SYNCHRONOUS); } @Test public void testValueOfIgnoreCase() { - assertEquals(IndexMaintenancePolicyType.SYNCHRONOUS, IndexMaintenancePolicyType.valueOfIgnoreCase("SYNCHRONOUS")); - assertEquals(IndexMaintenancePolicyType.SYNCHRONOUS, IndexMaintenancePolicyType.valueOfIgnoreCase("Synchronous")); - assertEquals(IndexMaintenancePolicyType.SYNCHRONOUS, IndexMaintenancePolicyType.valueOfIgnoreCase("synchronous")); - assertEquals(IndexMaintenancePolicyType.SYNCHRONOUS, IndexMaintenancePolicyType.valueOfIgnoreCase("SynCHrOnOus")); - assertEquals(IndexMaintenancePolicyType.ASYNCHRONOUS, IndexMaintenancePolicyType.valueOfIgnoreCase("ASYNChronous")); + + assertThat(IndexMaintenancePolicyType.valueOfIgnoreCase("SYNCHRONOUS")) + .isEqualTo(IndexMaintenancePolicyType.SYNCHRONOUS); + assertThat(IndexMaintenancePolicyType.valueOfIgnoreCase("Synchronous")) + .isEqualTo(IndexMaintenancePolicyType.SYNCHRONOUS); + assertThat(IndexMaintenancePolicyType.valueOfIgnoreCase("synchronous")) + .isEqualTo(IndexMaintenancePolicyType.SYNCHRONOUS); + assertThat(IndexMaintenancePolicyType.valueOfIgnoreCase("SynCHrOnOus")) + .isEqualTo(IndexMaintenancePolicyType.SYNCHRONOUS); + assertThat(IndexMaintenancePolicyType.valueOfIgnoreCase("ASYNChronous")) + .isEqualTo(IndexMaintenancePolicyType.ASYNCHRONOUS); } @Test public void testValueOfIgnoreCaseWithInvalidValues() { - assertNull(IndexMaintenancePolicyType.valueOfIgnoreCase("synchronicity")); - assertNull(IndexMaintenancePolicyType.valueOfIgnoreCase("SYNC")); - assertNull(IndexMaintenancePolicyType.valueOfIgnoreCase("ASYNC")); - assertNull(IndexMaintenancePolicyType.valueOfIgnoreCase("Concurrent")); - assertNull(IndexMaintenancePolicyType.valueOfIgnoreCase("parallel")); - assertNull(IndexMaintenancePolicyType.valueOfIgnoreCase(" ")); - assertNull(IndexMaintenancePolicyType.valueOfIgnoreCase("")); - assertNull(IndexMaintenancePolicyType.valueOfIgnoreCase(null)); + + assertThat(IndexMaintenancePolicyType.valueOfIgnoreCase("synchronicity")).isNull(); + assertThat(IndexMaintenancePolicyType.valueOfIgnoreCase("SYNC")).isNull(); + assertThat(IndexMaintenancePolicyType.valueOfIgnoreCase("ASYNC")).isNull(); + assertThat(IndexMaintenancePolicyType.valueOfIgnoreCase("Concurrent")).isNull(); + assertThat(IndexMaintenancePolicyType.valueOfIgnoreCase("parallel")).isNull(); + assertThat(IndexMaintenancePolicyType.valueOfIgnoreCase(" ")).isNull(); + assertThat(IndexMaintenancePolicyType.valueOfIgnoreCase("")).isNull(); + assertThat(IndexMaintenancePolicyType.valueOfIgnoreCase(null)).isNull(); } @Test @SuppressWarnings("deprecation") public void testAttributesFactorySetIndexMaintenanceAsynchronous() { - AttributesFactory mockAttributesFactory = mock(AttributesFactory.class, + + AttributesFactory mockAttributesFactory = mock(AttributesFactory.class, "testAttributesFactorySetIndexMaintenanceAsynchronous"); IndexMaintenancePolicyType.ASYNCHRONOUS.setIndexMaintenance(mockAttributesFactory); @@ -80,8 +84,9 @@ public class IndexMaintenancePolicyTypeTest { @Test @SuppressWarnings("deprecation") public void testAttributesFactorySetIndexMaintenanceSynchronous() { - AttributesFactory mockAttributesFactory = mock(AttributesFactory.class, - "testAttributesFactorySetIndexMaintenanceAsynchronous"); + + AttributesFactory mockAttributesFactory = + mock(AttributesFactory.class, "testAttributesFactorySetIndexMaintenanceAsynchronous"); IndexMaintenancePolicyType.SYNCHRONOUS.setIndexMaintenance(mockAttributesFactory); @@ -90,7 +95,9 @@ public class IndexMaintenancePolicyTypeTest { @Test public void testRegionFactorySetIndexMaintenanceAsynchronous() { - RegionFactory mockRegionFactory = mock(RegionFactory.class, "testRegionFactorySetIndexMaintenanceAsynchronous"); + + RegionFactory mockRegionFactory = + mock(RegionFactory.class, "testRegionFactorySetIndexMaintenanceAsynchronous"); IndexMaintenancePolicyType.ASYNCHRONOUS.setIndexMaintenance(mockRegionFactory); @@ -99,7 +106,9 @@ public class IndexMaintenancePolicyTypeTest { @Test public void testRegionFactorySetIndexMaintenanceSynchronous() { - RegionFactory mockRegionFactory = mock(RegionFactory.class, "testRegionFactorySetIndexMaintenanceSynchronous"); + + RegionFactory mockRegionFactory = + mock(RegionFactory.class, "testRegionFactorySetIndexMaintenanceSynchronous"); IndexMaintenancePolicyType.SYNCHRONOUS.setIndexMaintenance(mockRegionFactory); diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/IndexTypeTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/IndexTypeTest.java deleted file mode 100644 index 42be76dd..00000000 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/IndexTypeTest.java +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright 2010-2021 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.springframework.data.gemfire; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; - -import org.junit.Test; - -/** - * The IndexTypeTest class is a test suite of test cases testing the contract and functionality - * of the IndexType enum class. - * - * @author John Blum - * @see org.junit.Test - * @see org.springframework.data.gemfire.IndexType - * @since 1.5.2 - */ -@SuppressWarnings("deprecation") -public class IndexTypeTest { - - @Test - public void testGetGemfireIndexType() { - assertEquals(org.apache.geode.cache.query.IndexType.FUNCTIONAL, IndexType.FUNCTIONAL.getGemfireIndexType()); - assertEquals(org.apache.geode.cache.query.IndexType.HASH, IndexType.HASH.getGemfireIndexType()); - assertEquals(org.apache.geode.cache.query.IndexType.PRIMARY_KEY, IndexType.KEY.getGemfireIndexType()); - assertEquals(org.apache.geode.cache.query.IndexType.PRIMARY_KEY, IndexType.PRIMARY_KEY.getGemfireIndexType()); - } - - @Test - public void testValueOf() { - assertEquals(IndexType.FUNCTIONAL, IndexType.valueOf(org.apache.geode.cache.query.IndexType.FUNCTIONAL)); - assertEquals(IndexType.HASH, IndexType.valueOf(org.apache.geode.cache.query.IndexType.HASH)); - assertEquals(IndexType.PRIMARY_KEY, IndexType.valueOf(org.apache.geode.cache.query.IndexType.PRIMARY_KEY)); - } - - @Test - public void testValueOfWithNull() { - assertNull(IndexType.valueOf((org.apache.geode.cache.query.IndexType) null)); - } - - @Test - public void testValueOfIgnoreCase() { - assertEquals(IndexType.FUNCTIONAL, IndexType.valueOfIgnoreCase("functional")); - assertEquals(IndexType.HASH, IndexType.valueOfIgnoreCase("HasH")); - assertEquals(IndexType.KEY, IndexType.valueOfIgnoreCase("Key")); - assertEquals(IndexType.PRIMARY_KEY, IndexType.valueOfIgnoreCase("PriMary_Key")); - } - - @Test - public void testValueOfIgnoreCaseWithInvalidValues() { - assertNull(IndexType.valueOfIgnoreCase("Prime_Index")); - assertNull(IndexType.valueOfIgnoreCase("SECONDARY_INDEX")); - assertNull(IndexType.valueOfIgnoreCase("unique_index")); - assertNull(IndexType.valueOfIgnoreCase(null)); - assertNull(IndexType.valueOfIgnoreCase(" ")); - assertNull(IndexType.valueOfIgnoreCase("")); - } - - @Test - public void testIsFunctional() { - assertTrue(IndexType.FUNCTIONAL.isFunctional()); - assertFalse(IndexType.HASH.isFunctional()); - assertFalse(IndexType.KEY.isFunctional()); - assertFalse(IndexType.PRIMARY_KEY.isFunctional()); - } - - @Test - public void testIsNullSafeFunctional() { - assertFalse(IndexType.isFunctional(null)); - assertTrue(IndexType.isFunctional(IndexType.FUNCTIONAL)); - assertFalse(IndexType.isFunctional(IndexType.HASH)); - } - - @Test - public void testIsHash() { - assertFalse(IndexType.FUNCTIONAL.isHash()); - assertTrue(IndexType.HASH.isHash()); - assertFalse(IndexType.KEY.isHash()); - assertFalse(IndexType.PRIMARY_KEY.isHash()); - } - - @Test - public void testIsNullSafeHash() { - assertFalse(IndexType.isHash(null)); - assertTrue(IndexType.isHash(IndexType.HASH)); - assertFalse(IndexType.isHash(IndexType.KEY)); - } - - @Test - public void testIsKey() { - assertFalse(IndexType.FUNCTIONAL.isKey()); - assertFalse(IndexType.HASH.isKey()); - assertTrue(IndexType.KEY.isKey()); - assertTrue(IndexType.PRIMARY_KEY.isKey()); - } - - @Test - public void testIsNullSafeKey() { - assertFalse(IndexType.isKey(null)); - assertFalse(IndexType.isKey(IndexType.FUNCTIONAL)); - assertTrue(IndexType.isKey(IndexType.KEY)); - assertTrue(IndexType.isKey(IndexType.PRIMARY_KEY)); - } - -} diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/IndexTypeUnitTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/IndexTypeUnitTests.java new file mode 100644 index 00000000..ecdb76b2 --- /dev/null +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/IndexTypeUnitTests.java @@ -0,0 +1,126 @@ +/* + * Copyright 2010-2021 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * 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; + +import org.junit.Test; + +/** + * Unit Tests for {@link IndexType} enum. + * + * @author John Blum + * @see org.junit.Test + * @see org.springframework.data.gemfire.IndexType + * @since 1.5.2 + */ +@SuppressWarnings("deprecation") +public class IndexTypeUnitTests { + + @Test + public void testGetGemfireIndexType() { + + assertThat(IndexType.FUNCTIONAL.getGemfireIndexType()).isEqualTo(org.apache.geode.cache.query.IndexType.FUNCTIONAL); + assertThat(IndexType.HASH.getGemfireIndexType()).isEqualTo(org.apache.geode.cache.query.IndexType.HASH); + assertThat(IndexType.KEY.getGemfireIndexType()).isEqualTo(org.apache.geode.cache.query.IndexType.PRIMARY_KEY); + assertThat(IndexType.PRIMARY_KEY.getGemfireIndexType()).isEqualTo(org.apache.geode.cache.query.IndexType.PRIMARY_KEY); + } + + @Test + public void testValueOf() { + + assertThat(IndexType.valueOf(org.apache.geode.cache.query.IndexType.FUNCTIONAL)).isEqualTo(IndexType.FUNCTIONAL); + assertThat(IndexType.valueOf(org.apache.geode.cache.query.IndexType.HASH)).isEqualTo(IndexType.HASH); + assertThat(IndexType.valueOf(org.apache.geode.cache.query.IndexType.PRIMARY_KEY)).isEqualTo(IndexType.PRIMARY_KEY); + } + + @Test + public void testValueOfWithNull() { + assertThat(IndexType.valueOf((org.apache.geode.cache.query.IndexType) null)).isNull(); + } + + @Test + public void testValueOfIgnoreCase() { + + assertThat(IndexType.valueOfIgnoreCase("functional")).isEqualTo(IndexType.FUNCTIONAL); + assertThat(IndexType.valueOfIgnoreCase("HasH")).isEqualTo(IndexType.HASH); + assertThat(IndexType.valueOfIgnoreCase("Key")).isEqualTo(IndexType.KEY); + assertThat(IndexType.valueOfIgnoreCase("PriMary_Key")).isEqualTo(IndexType.PRIMARY_KEY); + } + + @Test + public void testValueOfIgnoreCaseWithInvalidValues() { + + assertThat(IndexType.valueOfIgnoreCase("Prime_Index")).isNull(); + assertThat(IndexType.valueOfIgnoreCase("SECONDARY_INDEX")).isNull(); + assertThat(IndexType.valueOfIgnoreCase("unique_index")).isNull(); + assertThat(IndexType.valueOfIgnoreCase(null)).isNull(); + assertThat(IndexType.valueOfIgnoreCase(" ")).isNull(); + assertThat(IndexType.valueOfIgnoreCase("")).isNull(); + } + + @Test + public void testIsFunctional() { + + assertThat(IndexType.FUNCTIONAL.isFunctional()).isTrue(); + assertThat(IndexType.HASH.isFunctional()).isFalse(); + assertThat(IndexType.KEY.isFunctional()).isFalse(); + assertThat(IndexType.PRIMARY_KEY.isFunctional()).isFalse(); + } + + @Test + public void testIsNullSafeFunctional() { + + assertThat(IndexType.isFunctional(null)).isFalse(); + assertThat(IndexType.isFunctional(IndexType.FUNCTIONAL)).isTrue(); + assertThat(IndexType.isFunctional(IndexType.HASH)).isFalse(); + } + + @Test + public void testIsHash() { + + assertThat(IndexType.FUNCTIONAL.isHash()).isFalse(); + assertThat(IndexType.HASH.isHash()).isTrue(); + assertThat(IndexType.KEY.isHash()).isFalse(); + assertThat(IndexType.PRIMARY_KEY.isHash()).isFalse(); + } + + @Test + public void testIsNullSafeHash() { + + assertThat(IndexType.isHash(null)).isFalse(); + assertThat(IndexType.isHash(IndexType.HASH)).isTrue(); + assertThat(IndexType.isHash(IndexType.KEY)).isFalse(); + } + + @Test + public void testIsKey() { + + assertThat(IndexType.FUNCTIONAL.isKey()).isFalse(); + assertThat(IndexType.HASH.isKey()).isFalse(); + assertThat(IndexType.KEY.isKey()).isTrue(); + assertThat(IndexType.PRIMARY_KEY.isKey()).isTrue(); + } + + @Test + public void testIsNullSafeKey() { + + assertThat(IndexType.isKey(null)).isFalse(); + assertThat(IndexType.isKey(IndexType.FUNCTIONAL)).isFalse(); + assertThat(IndexType.isKey(IndexType.KEY)).isTrue(); + assertThat(IndexType.isKey(IndexType.PRIMARY_KEY)).isTrue(); + } +} diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/InterestPolicyTypeTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/InterestPolicyTypeTest.java deleted file mode 100644 index 67b8efbd..00000000 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/InterestPolicyTypeTest.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright 2010-2021 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.springframework.data.gemfire; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertSame; - -import org.apache.geode.cache.InterestPolicy; - -import org.junit.Test; - -/** - * The InterestPolicyTypeTest class is a test suite of test cases testing the contract and functionality - * of the InterestPolicyType enum. - * - * @author John Blum - * @see org.junit.Test - * @see org.springframework.data.gemfire.InterestPolicyType - * @see org.apache.geode.cache.InterestPolicy - * @since 1.6.0 - */ -public class InterestPolicyTypeTest { - - @Test - public void testStaticGetInterestPolicy() { - assertEquals(InterestPolicy.ALL, InterestPolicyType.getInterestPolicy(InterestPolicyType.ALL)); - assertEquals(InterestPolicy.CACHE_CONTENT, InterestPolicyType.getInterestPolicy(InterestPolicyType.CACHE_CONTENT)); - } - - @Test - public void testStaticGetInterestPolicyWithNull() { - assertNull(InterestPolicyType.getInterestPolicy(null)); - } - - @Test - public void testGetInterestPolicy() { - assertEquals(InterestPolicy.ALL, InterestPolicyType.ALL.getInterestPolicy()); - assertEquals(InterestPolicy.CACHE_CONTENT, InterestPolicyType.CACHE_CONTENT.getInterestPolicy()); - } - - @Test - public void testDefault() { - assertEquals(InterestPolicy.DEFAULT, InterestPolicyType.DEFAULT.getInterestPolicy()); - assertSame(InterestPolicyType.CACHE_CONTENT, InterestPolicyType.DEFAULT); - } - - @Test - public void testValueOf() { - try { - for (byte ordinal = 0; ordinal < Byte.MAX_VALUE; ordinal++) { - InterestPolicy interestPolicy = InterestPolicy.fromOrdinal(ordinal); - InterestPolicyType interestPolicyType = InterestPolicyType.valueOf(interestPolicy); - - assertNotNull(interestPolicyType); - assertEquals(interestPolicy, interestPolicyType.getInterestPolicy()); - } - } - catch (ArrayIndexOutOfBoundsException ignore) { - } - } - - @Test - public void testValueOfWithNull() { - assertNull(InterestPolicyType.valueOf((InterestPolicy) null)); - } - - @Test - public void testValueOfIgnoreCase() { - assertEquals(InterestPolicyType.ALL, InterestPolicyType.valueOfIgnoreCase("all")); - assertEquals(InterestPolicyType.CACHE_CONTENT, InterestPolicyType.valueOfIgnoreCase("Cache_Content")); - assertEquals(InterestPolicyType.ALL, InterestPolicyType.valueOfIgnoreCase("ALL")); - assertEquals(InterestPolicyType.CACHE_CONTENT, InterestPolicyType.valueOfIgnoreCase("CACHE_ConTent")); - } - - @Test - public void testValueOfIgnoreCaseWithInvalidValues() { - assertNull(InterestPolicyType.valueOfIgnoreCase("@11")); - assertNull(InterestPolicyType.valueOfIgnoreCase("CACHE_KEYS")); - assertNull(InterestPolicyType.valueOfIgnoreCase("invalid")); - assertNull(InterestPolicyType.valueOfIgnoreCase("test")); - assertNull(InterestPolicyType.valueOfIgnoreCase(" ")); - assertNull(InterestPolicyType.valueOfIgnoreCase("")); - assertNull(InterestPolicyType.valueOfIgnoreCase(null)); - } - -} diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/InterestPolicyTypeUnitTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/InterestPolicyTypeUnitTests.java new file mode 100644 index 00000000..dc91c50e --- /dev/null +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/InterestPolicyTypeUnitTests.java @@ -0,0 +1,101 @@ +/* + * Copyright 2010-2021 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * 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; + +import org.junit.Test; + +import org.apache.geode.cache.InterestPolicy; + +/** + * Unit Tests for {@link InterestPolicyType} enum. + * + * @author John Blum + * @see org.junit.Test + * @see org.apache.geode.cache.InterestPolicy + * @see org.springframework.data.gemfire.InterestPolicyType + * @since 1.6.0 + */ +public class InterestPolicyTypeUnitTests { + + @Test + public void testStaticGetInterestPolicy() { + + assertThat(InterestPolicyType.getInterestPolicy(InterestPolicyType.ALL)).isEqualTo(InterestPolicy.ALL); + assertThat(InterestPolicyType.getInterestPolicy(InterestPolicyType.CACHE_CONTENT)).isEqualTo(InterestPolicy.CACHE_CONTENT); + } + + @Test + public void testStaticGetInterestPolicyWithNull() { + assertThat(InterestPolicyType.getInterestPolicy(null)).isNull(); + } + + @Test + public void testGetInterestPolicy() { + + assertThat(InterestPolicyType.ALL.getInterestPolicy()).isEqualTo(InterestPolicy.ALL); + assertThat(InterestPolicyType.CACHE_CONTENT.getInterestPolicy()).isEqualTo(InterestPolicy.CACHE_CONTENT); + } + + @Test + public void testDefault() { + + assertThat(InterestPolicyType.DEFAULT.getInterestPolicy()).isEqualTo(InterestPolicy.DEFAULT); + assertThat(InterestPolicyType.DEFAULT).isSameAs(InterestPolicyType.CACHE_CONTENT); + } + + @Test + public void testValueOf() { + + try { + for (byte ordinal = 0; ordinal < Byte.MAX_VALUE; ordinal++) { + InterestPolicy interestPolicy = InterestPolicy.fromOrdinal(ordinal); + InterestPolicyType interestPolicyType = InterestPolicyType.valueOf(interestPolicy); + + assertThat(interestPolicyType).isNotNull(); + assertThat(interestPolicyType.getInterestPolicy()).isEqualTo(interestPolicy); + } + } + catch (ArrayIndexOutOfBoundsException ignore) { } + } + + @Test + public void testValueOfWithNull() { + assertThat(InterestPolicyType.valueOf((InterestPolicy) null)).isNull(); + } + + @Test + public void testValueOfIgnoreCase() { + + assertThat(InterestPolicyType.valueOfIgnoreCase("all")).isEqualTo(InterestPolicyType.ALL); + assertThat(InterestPolicyType.valueOfIgnoreCase("Cache_Content")).isEqualTo(InterestPolicyType.CACHE_CONTENT); + assertThat(InterestPolicyType.valueOfIgnoreCase("ALL")).isEqualTo(InterestPolicyType.ALL); + assertThat(InterestPolicyType.valueOfIgnoreCase("CACHE_ConTent")).isEqualTo(InterestPolicyType.CACHE_CONTENT); + } + + @Test + public void testValueOfIgnoreCaseWithInvalidValues() { + + assertThat(InterestPolicyType.valueOfIgnoreCase("@11")).isNull(); + assertThat(InterestPolicyType.valueOfIgnoreCase("CACHE_KEYS")).isNull(); + assertThat(InterestPolicyType.valueOfIgnoreCase("invalid")).isNull(); + assertThat(InterestPolicyType.valueOfIgnoreCase("test")).isNull(); + assertThat(InterestPolicyType.valueOfIgnoreCase(" ")).isNull(); + assertThat(InterestPolicyType.valueOfIgnoreCase("")).isNull(); + assertThat(InterestPolicyType.valueOfIgnoreCase(null)).isNull(); + } +} diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/JndiDataSourceTypeTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/JndiDataSourceTypeTest.java deleted file mode 100644 index e59dad74..00000000 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/JndiDataSourceTypeTest.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright 2010-2021 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.springframework.data.gemfire; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; - -import org.junit.Test; - -/** - * The JndiDataSourceTypeTest class is a test suite of test cases testing the contract and functionality - * of the JndiDataSourceType enumerated values. - * - * @author John Blum - * @see org.springframework.data.gemfire.JndiDataSourceType - * @since 1.7.0 - */ -public class JndiDataSourceTypeTest { - - @Test - public void testNames() { - assertEquals("ManagedDataSource", JndiDataSourceType.MANAGED.getName()); - assertEquals("PooledDataSource", JndiDataSourceType.POOLED.getName()); - assertEquals("SimpleDataSource", JndiDataSourceType.SIMPLE.getName()); - assertEquals("XAPooledDataSource", JndiDataSourceType.XA.getName()); - } - - @Test - public void testValueOfIgnoreCase() { - assertEquals(JndiDataSourceType.MANAGED, JndiDataSourceType.valueOfIgnoreCase("managedDataSource ")); - assertEquals(JndiDataSourceType.MANAGED, JndiDataSourceType.valueOfIgnoreCase(" ManAGEd")); - assertEquals(JndiDataSourceType.POOLED, JndiDataSourceType.valueOfIgnoreCase("POOLedDataSource")); - assertEquals(JndiDataSourceType.POOLED, JndiDataSourceType.valueOfIgnoreCase("PoolED ")); - assertEquals(JndiDataSourceType.SIMPLE, JndiDataSourceType.valueOfIgnoreCase(" SIMPLEDATASOURCE")); - assertEquals(JndiDataSourceType.SIMPLE, JndiDataSourceType.valueOfIgnoreCase(" SIMPLE ")); - assertEquals(JndiDataSourceType.XA, JndiDataSourceType.valueOfIgnoreCase(" xapooleddatasource ")); - assertEquals(JndiDataSourceType.XA, JndiDataSourceType.valueOfIgnoreCase(" xa ")); - } - - @Test - public void testValueOfIgnoreCaseWithInvalidNames() { - assertNull(JndiDataSourceType.valueOfIgnoreCase("ManageDataSource")); - assertNull(JndiDataSourceType.valueOfIgnoreCase("ManagedDataSink")); - assertNull(JndiDataSourceType.valueOfIgnoreCase("ManedDataSrc")); - assertNull(JndiDataSourceType.valueOfIgnoreCase("PoolingDataSource")); - assertNull(JndiDataSourceType.valueOfIgnoreCase("ComplexDataSource")); - assertNull(JndiDataSourceType.valueOfIgnoreCase("SimplifiedDataSource")); - assertNull(JndiDataSourceType.valueOfIgnoreCase("XA Pooled DataSource")); - assertNull(JndiDataSourceType.valueOfIgnoreCase("X A")); - assertNull(JndiDataSourceType.valueOfIgnoreCase("XADATASOURCE")); - assertNull(JndiDataSourceType.valueOfIgnoreCase("XAPOOLED")); - assertNull(JndiDataSourceType.valueOfIgnoreCase("XA POOLED")); - assertNull(JndiDataSourceType.valueOfIgnoreCase(" ")); - assertNull(JndiDataSourceType.valueOfIgnoreCase("")); - assertNull(JndiDataSourceType.valueOfIgnoreCase(null)); - } - -} diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/JndiDataSourceTypeUnitTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/JndiDataSourceTypeUnitTests.java new file mode 100644 index 00000000..620cfb7c --- /dev/null +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/JndiDataSourceTypeUnitTests.java @@ -0,0 +1,72 @@ +/* + * Copyright 2010-2021 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * 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; + +import org.junit.Test; + +/** + * Unit Tests for {@link JndiDataSourceType} enum. + * + * @author John Blum + * @see org.junit.Test + * @see org.springframework.data.gemfire.JndiDataSourceType + * @since 1.7.0 + */ +public class JndiDataSourceTypeUnitTests { + + @Test + public void testNames() { + + assertThat(JndiDataSourceType.MANAGED.getName()).isEqualTo("ManagedDataSource"); + assertThat(JndiDataSourceType.POOLED.getName()).isEqualTo("PooledDataSource"); + assertThat(JndiDataSourceType.SIMPLE.getName()).isEqualTo("SimpleDataSource"); + assertThat(JndiDataSourceType.XA.getName()).isEqualTo("XAPooledDataSource"); + } + + @Test + public void testValueOfIgnoreCase() { + + assertThat(JndiDataSourceType.valueOfIgnoreCase("managedDataSource ")).isEqualTo(JndiDataSourceType.MANAGED); + assertThat(JndiDataSourceType.valueOfIgnoreCase(" ManAGEd")).isEqualTo(JndiDataSourceType.MANAGED); + assertThat(JndiDataSourceType.valueOfIgnoreCase("POOLedDataSource")).isEqualTo(JndiDataSourceType.POOLED); + assertThat(JndiDataSourceType.valueOfIgnoreCase("PoolED ")).isEqualTo(JndiDataSourceType.POOLED); + assertThat(JndiDataSourceType.valueOfIgnoreCase(" SIMPLEDATASOURCE")).isEqualTo(JndiDataSourceType.SIMPLE); + assertThat(JndiDataSourceType.valueOfIgnoreCase(" SIMPLE ")).isEqualTo(JndiDataSourceType.SIMPLE); + assertThat(JndiDataSourceType.valueOfIgnoreCase(" xapooleddatasource ")).isEqualTo(JndiDataSourceType.XA); + assertThat(JndiDataSourceType.valueOfIgnoreCase(" xa ")).isEqualTo(JndiDataSourceType.XA); + } + + @Test + public void testValueOfIgnoreCaseWithInvalidNames() { + + assertThat(JndiDataSourceType.valueOfIgnoreCase("ManageDataSource")).isNull(); + assertThat(JndiDataSourceType.valueOfIgnoreCase("ManagedDataSink")).isNull(); + assertThat(JndiDataSourceType.valueOfIgnoreCase("ManedDataSrc")).isNull(); + assertThat(JndiDataSourceType.valueOfIgnoreCase("PoolingDataSource")).isNull(); + assertThat(JndiDataSourceType.valueOfIgnoreCase("ComplexDataSource")).isNull(); + assertThat(JndiDataSourceType.valueOfIgnoreCase("SimplifiedDataSource")).isNull(); + assertThat(JndiDataSourceType.valueOfIgnoreCase("XA Pooled DataSource")).isNull(); + assertThat(JndiDataSourceType.valueOfIgnoreCase("X A")).isNull(); + assertThat(JndiDataSourceType.valueOfIgnoreCase("XADATASOURCE")).isNull(); + assertThat(JndiDataSourceType.valueOfIgnoreCase("XAPOOLED")).isNull(); + assertThat(JndiDataSourceType.valueOfIgnoreCase("XA POOLED")).isNull(); + assertThat(JndiDataSourceType.valueOfIgnoreCase(" ")).isNull(); + assertThat(JndiDataSourceType.valueOfIgnoreCase("")).isNull(); + assertThat(JndiDataSourceType.valueOfIgnoreCase(null)).isNull(); + } +} diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/LocalRegionFactoryBeanTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/LocalRegionFactoryBeanUnitTests.java similarity index 91% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/LocalRegionFactoryBeanTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/LocalRegionFactoryBeanUnitTests.java index a0f7c49c..ccc78128 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/LocalRegionFactoryBeanTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/LocalRegionFactoryBeanUnitTests.java @@ -15,20 +15,19 @@ */ package org.springframework.data.gemfire; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; +import org.junit.Test; + import org.apache.geode.cache.DataPolicy; import org.apache.geode.cache.Region; import org.apache.geode.cache.RegionFactory; import org.apache.geode.cache.RegionShortcut; -import org.junit.Test; - import org.springframework.data.gemfire.test.support.AbstractRegionFactoryBeanTests; /** @@ -36,8 +35,8 @@ import org.springframework.data.gemfire.test.support.AbstractRegionFactoryBeanTe * * @author David Turanski * @author John Blum - * @see org.mockito.Mockito * @see org.junit.Test + * @see org.mockito.Mockito * @see org.apache.geode.cache.DataPolicy * @see org.apache.geode.cache.Region * @see org.apache.geode.cache.RegionFactory @@ -45,12 +44,11 @@ import org.springframework.data.gemfire.test.support.AbstractRegionFactoryBeanTe * @see org.springframework.data.gemfire.LocalRegionFactoryBean * @since 1.3.x */ -@SuppressWarnings("unchecked") -public class LocalRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { +@SuppressWarnings({ "rawtypes", "unchecked" }) +public class LocalRegionFactoryBeanUnitTests extends AbstractRegionFactoryBeanTests { private final LocalRegionFactoryBean factoryBean = new LocalRegionFactoryBean(); - @SuppressWarnings("rawtypes") private RegionFactoryBeanConfig defaultConfig() { return new RegionFactoryBeanConfig(new LocalRegionFactoryBean(), "default") { @@ -63,13 +61,12 @@ public class LocalRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { Region region = regionFactoryBean.getRegion(); - assertNotNull(region); - assertEquals(DataPolicy.DEFAULT, region.getAttributes().getDataPolicy()); + assertThat(region).isNotNull(); + assertThat(region.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.DEFAULT); } }; } - @SuppressWarnings({ "deprecation", "rawtypes" }) private RegionFactoryBeanConfig invalidConfig() { return new RegionFactoryBeanConfig(new LocalRegionFactoryBean(), "local-replicate") { @@ -81,7 +78,7 @@ public class LocalRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { @Override public void verify() { - assertNotNull(this.exception); + assertThat(this.exception).isNotNull(); } }; } @@ -137,7 +134,7 @@ public class LocalRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { factoryBean.resolveDataPolicy(mockRegionFactory, null, " "); } catch (IllegalArgumentException e) { - assertEquals("Data Policy [ ] is invalid", e.getMessage()); + assertThat(e.getMessage()).isEqualTo("Data Policy [ ] is invalid"); throw e; } finally { @@ -157,7 +154,7 @@ public class LocalRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { factoryBean.resolveDataPolicy(mockRegionFactory, null, ""); } catch (IllegalArgumentException e) { - assertEquals("Data Policy [] is invalid", e.getMessage()); + assertThat(e.getMessage()).isEqualTo("Data Policy [] is invalid"); throw e; } finally { @@ -177,7 +174,7 @@ public class LocalRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { factoryBean.resolveDataPolicy(mockRegionFactory, null, "INVALID_DATA_POLICY_NAME"); } catch (IllegalArgumentException e) { - assertEquals("Data Policy [INVALID_DATA_POLICY_NAME] is invalid", e.getMessage()); + assertThat(e.getMessage()).isEqualTo("Data Policy [INVALID_DATA_POLICY_NAME] is invalid"); throw e; } finally { @@ -197,7 +194,7 @@ public class LocalRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { factoryBean.resolveDataPolicy(mockRegionFactory, null, "PARTITION"); } catch (IllegalArgumentException e) { - assertEquals("Data Policy [PARTITION] is not supported for Local Regions", e.getMessage()); + assertThat(e.getMessage()).isEqualTo("Data Policy [PARTITION] is not supported for Local Regions"); throw e; } finally { @@ -282,8 +279,8 @@ public class LocalRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { factoryBean.resolveDataPolicy(mockRegionFactory, null, DataPolicy.PERSISTENT_REPLICATE); } catch (IllegalArgumentException expected) { - assertEquals("Data Policy [PERSISTENT_REPLICATE] is not supported for Local Regions", - expected.getMessage()); + assertThat(expected.getMessage()) + .isEqualTo("Data Policy [PERSISTENT_REPLICATE] is not supported for Local Regions"); throw expected; } finally { @@ -304,8 +301,8 @@ public class LocalRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { factoryBean.resolveDataPolicy(mockRegionFactory, true, DataPolicy.PERSISTENT_REPLICATE); } catch (IllegalArgumentException expected) { - assertEquals("Data Policy [PERSISTENT_REPLICATE] is not supported for Local Regions", - expected.getMessage()); + assertThat(expected.getMessage()) + .isEqualTo("Data Policy [PERSISTENT_REPLICATE] is not supported for Local Regions"); throw expected; } finally { diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/LookupRegionFactoryBeanTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/LookupRegionFactoryBeanUnitTests.java similarity index 91% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/LookupRegionFactoryBeanTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/LookupRegionFactoryBeanUnitTests.java index 2c5208bf..ea3af0fa 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/LookupRegionFactoryBeanTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/LookupRegionFactoryBeanUnitTests.java @@ -13,20 +13,20 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.springframework.data.gemfire; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.eq; -import static org.mockito.Matchers.same; +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.ArgumentMatchers.same; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import org.junit.Test; + import org.apache.geode.cache.AttributesMutator; import org.apache.geode.cache.Cache; import org.apache.geode.cache.CacheListener; @@ -40,33 +40,37 @@ import org.apache.geode.cache.RegionAttributes; import org.apache.geode.cache.asyncqueue.AsyncEventQueue; import org.apache.geode.cache.wan.GatewaySender; -import org.junit.Test; - /** - * The LookupRegionFactoryBeanTest class is a test suite of test cases testing the contract and functionality - * of the LookupRegionFactoryBean class. + * Unit Tests for {@link LookupRegionFactoryBean}. * * @author John Blum * @see org.junit.Test * @see org.mockito.Mockito - * @see org.springframework.data.gemfire.LookupRegionFactoryBean * @see org.apache.geode.cache.AttributesMutator * @see org.apache.geode.cache.Cache * @see org.apache.geode.cache.EvictionAttributesMutator * @see org.apache.geode.cache.Region + * @see org.springframework.data.gemfire.LookupRegionFactoryBean * @since 1.7.0 */ -public class LookupRegionFactoryBeanTest { +@SuppressWarnings("rawtypes") +public class LookupRegionFactoryBeanUnitTests { + + private AsyncEventQueue mockAsyncEventQueue(String id) { - private AsyncEventQueue mockAsyncEventQueue(final String id) { AsyncEventQueue mockQueue = mock(AsyncEventQueue.class, String.format("MockAsyncEventQueue.%1$s", id)); + when(mockQueue.getId()).thenReturn(id); + return mockQueue; } - private GatewaySender mockGatewaySender(final String id) { + private GatewaySender mockGatewaySender(String id) { + GatewaySender mockGatewaySender = mock(GatewaySender.class, String.format("MockGatewaySender.%1$s", id)); + when(mockGatewaySender.getId()).thenReturn(id); + return mockGatewaySender; } @@ -193,14 +197,14 @@ public class LookupRegionFactoryBeanTest { factoryBean.setEntryTimeToLive(mockExpirationAttributesEntryTtl); //factoryBean.setStatisticsEnabled(true); - assertTrue(factoryBean.isStatisticsEnabled()); + assertThat(factoryBean.isStatisticsEnabled()).isTrue(); try { factoryBean.afterPropertiesSet(); } catch (IllegalStateException expected) { - assertEquals("Statistics for Region [/Example] must be enabled to change Entry & Region TTL/TTI Expiration settings", - expected.getMessage()); + assertThat(expected.getMessage()).isEqualTo( + "Statistics for Region [/Example] must be enabled to change Entry & Region TTL/TTI Expiration settings"); throw expected; } finally { @@ -213,10 +217,10 @@ public class LookupRegionFactoryBeanTest { LookupRegionFactoryBean factoryBean = new LookupRegionFactoryBean(); - assertTrue(factoryBean.isLookupEnabled()); + assertThat(factoryBean.isLookupEnabled()).isTrue(); factoryBean.setLookupEnabled(false); - assertTrue(factoryBean.isLookupEnabled()); + assertThat(factoryBean.isLookupEnabled()).isTrue(); } } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/PartitionAttributesFactoryBeanTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/PartitionAttributesFactoryBeanUnitTests.java similarity index 71% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/PartitionAttributesFactoryBeanTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/PartitionAttributesFactoryBeanUnitTests.java index 9ea346e2..5103e223 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/PartitionAttributesFactoryBeanTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/PartitionAttributesFactoryBeanUnitTests.java @@ -13,31 +13,31 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.springframework.data.gemfire; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; +import org.junit.Test; + import org.apache.geode.cache.PartitionAttributes; import org.apache.geode.cache.PartitionResolver; -import org.junit.Test; - /** - * Unit tests for {@link PartitionAttributesFactoryBean}. + * Unit Tests for {@link PartitionAttributesFactoryBean}. * * @author John Blum * @see org.junit.Test + * @see org.apache.geode.cache.PartitionAttributes * @see org.springframework.data.gemfire.PartitionAttributesFactoryBean * @since 1.3.3 */ -@SuppressWarnings("unused") -public class PartitionAttributesFactoryBeanTest { +@SuppressWarnings({ "rawtypes", "unused" }) +public class PartitionAttributesFactoryBeanUnitTests { + + private PartitionResolver createMockPartitionResolver( String name) { - protected PartitionResolver createMockPartitionResolver(final String name) { PartitionResolver partitionResolver = mock(PartitionResolver.class); when(partitionResolver.getName()).thenReturn(name); @@ -46,7 +46,9 @@ public class PartitionAttributesFactoryBeanTest { } @Test + @SuppressWarnings("unchecked") public void testSetBasicProperties() throws Exception { + PartitionAttributesFactoryBean partitionAttributesFactoryBean = new PartitionAttributesFactoryBean(); partitionAttributesFactoryBean.setColocatedWith("mockColocatedRegion"); @@ -61,28 +63,32 @@ public class PartitionAttributesFactoryBeanTest { PartitionAttributes partitionAttributes = partitionAttributesFactoryBean.getObject(); - assertNotNull(partitionAttributes); - assertEquals("mockColocatedRegion", partitionAttributes.getColocatedWith()); - assertEquals(1024, partitionAttributes.getLocalMaxMemory()); - assertNotNull(partitionAttributes.getPartitionResolver()); - assertEquals("mockPartitionResolver", partitionAttributes.getPartitionResolver().getName()); - assertEquals(1000L, partitionAttributes.getRecoveryDelay()); - assertEquals(1, partitionAttributes.getRedundantCopies()); - assertEquals(60000L, partitionAttributes.getStartupRecoveryDelay()); - assertEquals(8192L, partitionAttributes.getTotalMaxMemory()); - assertEquals(42, partitionAttributes.getTotalNumBuckets()); + assertThat(partitionAttributes).isNotNull(); + assertThat(partitionAttributes.getColocatedWith()).isEqualTo("mockColocatedRegion"); + assertThat(partitionAttributes.getLocalMaxMemory()).isEqualTo(1024); + assertThat(partitionAttributes.getPartitionResolver()).isNotNull(); + assertThat(partitionAttributes.getPartitionResolver().getName()).isEqualTo("mockPartitionResolver"); + assertThat(partitionAttributes.getRecoveryDelay()).isEqualTo(1000L); + assertThat(partitionAttributes.getRedundantCopies()).isEqualTo(1); + assertThat(partitionAttributes.getStartupRecoveryDelay()).isEqualTo(60000L); + assertThat(partitionAttributes.getTotalMaxMemory()).isEqualTo(8192L); + assertThat(partitionAttributes.getTotalNumBuckets()).isEqualTo(42); } @Test(expected = IllegalStateException.class) public void testValidationOnRedundantCopiesWhenExceedsBound() throws Exception { + PartitionAttributesFactoryBean partitionAttributesFactoryBean = new PartitionAttributesFactoryBean(); + partitionAttributesFactoryBean.setRedundantCopies(4); partitionAttributesFactoryBean.afterPropertiesSet(); } @Test(expected = IllegalStateException.class) public void testValidationOnRedundantCopiesWhenPrecedesBound() throws Exception { + PartitionAttributesFactoryBean partitionAttributesFactoryBean = new PartitionAttributesFactoryBean(); + partitionAttributesFactoryBean.setRedundantCopies(-1); partitionAttributesFactoryBean.afterPropertiesSet(); } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/PartitionedRegionFactoryBeanTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/PartitionedRegionFactoryBeanTest.java index fd6b61e7..3dc2e66e 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/PartitionedRegionFactoryBeanTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/PartitionedRegionFactoryBeanTest.java @@ -15,29 +15,29 @@ */ package org.springframework.data.gemfire; -import static org.junit.Assert.assertEquals; +import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; +import org.junit.Test; + import org.apache.geode.cache.DataPolicy; import org.apache.geode.cache.RegionFactory; -import org.junit.Test; - /** * Unit Tests for {@link PartitionedRegionFactoryBean}. * * @author John Blum * @see org.junit.Test * @see org.mockito.Mockito - * @see org.apache.geode.cache.DataPolicy + * @see org.apache.geode.cache.Region * @see org.apache.geode.cache.RegionFactory * @see org.springframework.data.gemfire.PartitionedRegionFactoryBean * @since 1.3.3 */ -@SuppressWarnings("unchecked") +@SuppressWarnings({ "rawtypes", "unchecked" }) public class PartitionedRegionFactoryBeanTest { private final PartitionedRegionFactoryBean factoryBean = new PartitionedRegionFactoryBean(); @@ -48,36 +48,46 @@ public class PartitionedRegionFactoryBeanTest { @Test public void testResolveDataPolicyWithPersistentUnspecifiedAndDataPolicyUnspecified() { + RegionFactory mockRegionFactory = createMockRegionFactory(); + factoryBean.resolveDataPolicy(mockRegionFactory, null, (String) null); + verify(mockRegionFactory).setDataPolicy(eq(DataPolicy.PARTITION)); } @Test public void testResolveDataPolicyWhenNotPersistentAndDataPolicyUnspecified() { + RegionFactory mockRegionFactory = createMockRegionFactory(); + factoryBean.setPersistent(false); factoryBean.resolveDataPolicy(mockRegionFactory, false, (String) null); + verify(mockRegionFactory).setDataPolicy(eq(DataPolicy.PARTITION)); } @Test public void testResolveDataPolicyWhenPersistentAndDataPolicyUnspecified() { + RegionFactory mockRegionFactory = createMockRegionFactory(); + factoryBean.setPersistent(true); factoryBean.resolveDataPolicy(mockRegionFactory, true, (String) null); + verify(mockRegionFactory).setDataPolicy(eq(DataPolicy.PERSISTENT_PARTITION)); } @Test(expected = IllegalArgumentException.class) public void testResolveDataPolicyWithBlankDataPolicy() { + RegionFactory mockRegionFactory = createMockRegionFactory(); try { factoryBean.resolveDataPolicy(mockRegionFactory, null, " "); } catch (IllegalArgumentException e) { - assertEquals("Data Policy [ ] is invalid.", e.getMessage()); + assertThat(e.getMessage()).isEqualTo("Data Policy [ ] is invalid."); throw e; } finally { @@ -90,13 +100,14 @@ public class PartitionedRegionFactoryBeanTest { @Test(expected = IllegalArgumentException.class) public void testResolveDataPolicyWithEmptyDataPolicy() { + RegionFactory mockRegionFactory = createMockRegionFactory(); try { factoryBean.resolveDataPolicy(mockRegionFactory, null, ""); } catch (IllegalArgumentException e) { - assertEquals("Data Policy [] is invalid.", e.getMessage()); + assertThat(e.getMessage()).isEqualTo("Data Policy [] is invalid."); throw e; } finally { @@ -109,13 +120,14 @@ public class PartitionedRegionFactoryBeanTest { @Test(expected = IllegalArgumentException.class) public void testResolveDataPolicyWithInvalidDataPolicyName() { + RegionFactory mockRegionFactory = createMockRegionFactory(); try { factoryBean.resolveDataPolicy(mockRegionFactory, null, "INVALID_DATA_POLICY_NAME"); } catch (IllegalArgumentException e) { - assertEquals("Data Policy [INVALID_DATA_POLICY_NAME] is invalid.", e.getMessage()); + assertThat(e.getMessage()).isEqualTo("Data Policy [INVALID_DATA_POLICY_NAME] is invalid."); throw e; } finally { @@ -127,13 +139,14 @@ public class PartitionedRegionFactoryBeanTest { @Test(expected = IllegalArgumentException.class) public void testResolveDataPolicyWithInvalidDataPolicyType() { + RegionFactory mockRegionFactory = createMockRegionFactory(); try { factoryBean.resolveDataPolicy(mockRegionFactory, null, "REPLICATE"); } catch (IllegalArgumentException e) { - assertEquals("Data Policy [REPLICATE] is not supported in Partitioned Regions.", e.getMessage()); + assertThat(e.getMessage()).isEqualTo("Data Policy [REPLICATE] is not supported in Partitioned Regions."); throw e; } finally { @@ -146,21 +159,28 @@ public class PartitionedRegionFactoryBeanTest { @Test public void testResolveDataPolicyWhenPersistentUnspecifiedAndPartitionDataPolicy() { + RegionFactory mockRegionFactory = createMockRegionFactory(); + factoryBean.resolveDataPolicy(mockRegionFactory, null, "PARTITION"); + verify(mockRegionFactory).setDataPolicy(eq(DataPolicy.PARTITION)); } @Test public void testResolveDataPolicyWhenNotPersistentAndPartitionDataPolicy() { + RegionFactory mockRegionFactory = createMockRegionFactory(); + factoryBean.setPersistent(false); factoryBean.resolveDataPolicy(mockRegionFactory, false, "PARTITION"); + verify(mockRegionFactory).setDataPolicy(eq(DataPolicy.PARTITION)); } @Test(expected = IllegalArgumentException.class) public void testResolveDataPolicyWhenPersistentAndPartitionDataPolicy() { + RegionFactory mockRegionFactory = createMockRegionFactory(); try { @@ -168,7 +188,7 @@ public class PartitionedRegionFactoryBeanTest { factoryBean.resolveDataPolicy(mockRegionFactory, true, "PARTITION"); } catch (IllegalArgumentException e) { - assertEquals("Data Policy [PARTITION] is not valid when persistent is true", e.getMessage()); + assertThat(e.getMessage()).isEqualTo("Data Policy [PARTITION] is not valid when persistent is true"); throw e; } finally { @@ -180,13 +200,17 @@ public class PartitionedRegionFactoryBeanTest { @Test public void testResolveDataPolicyWhenPersistentUnspecifiedAndPersistentPartitionDataPolicy() { + RegionFactory mockRegionFactory = createMockRegionFactory(); + factoryBean.resolveDataPolicy(mockRegionFactory, null, "PERSISTENT_PARTITION"); + verify(mockRegionFactory).setDataPolicy(eq(DataPolicy.PERSISTENT_PARTITION)); } @Test(expected = IllegalArgumentException.class) public void testResolveDataPolicyWhenNotPersistentAndPersistentPartitionedDataPolicy() { + RegionFactory mockRegionFactory = createMockRegionFactory(); try { @@ -194,7 +218,8 @@ public class PartitionedRegionFactoryBeanTest { factoryBean.resolveDataPolicy(mockRegionFactory, false, "PERSISTENT_PARTITION"); } catch (IllegalArgumentException e) { - assertEquals("Data Policy [PERSISTENT_PARTITION] is not valid when persistent is false", e.getMessage()); + assertThat(e.getMessage()) + .isEqualTo("Data Policy [PERSISTENT_PARTITION] is not valid when persistent is false"); throw e; } finally { @@ -206,9 +231,12 @@ public class PartitionedRegionFactoryBeanTest { @Test public void testResolveDataPolicyWhenPersistentAndPersistentPartitionedDataPolicy() { + RegionFactory mockRegionFactory = createMockRegionFactory(); + factoryBean.setPersistent(true); factoryBean.resolveDataPolicy(mockRegionFactory, true, "PERSISTENT_PARTITION"); + verify(mockRegionFactory).setDataPolicy(eq(DataPolicy.PERSISTENT_PARTITION)); } } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/PdxDiskStoreIntegrationTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/PdxDiskStoreIntegrationTests.java similarity index 63% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/PdxDiskStoreIntegrationTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/PdxDiskStoreIntegrationTests.java index 63f61227..78e5e9b9 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/PdxDiskStoreIntegrationTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/PdxDiskStoreIntegrationTests.java @@ -13,70 +13,76 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.springframework.data.gemfire; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; +import static org.assertj.core.api.Assertions.assertThat; import java.io.File; import java.io.Serializable; import javax.annotation.Resource; -import org.apache.geode.cache.Region; - import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; +import org.apache.geode.cache.DiskStore; +import org.apache.geode.cache.Region; + +import org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit4.SpringRunner; import org.springframework.util.Assert; /** - * The PdxDiskStoreTest class is a test suite containing tests to reproduce the issue in JIRA SGF-197. + * Integration Tests for PDX {@link DiskStore} + * and to reproduce the issue in JIRA SGF-197. * * @author John Blum * @link https://jira.springsource.org/browse/SGF-197 * @see org.junit.Test - * @see org.junit.runner.RunWith + * @see org.apache.geode.cache.DiskStore + * @see org.apache.geode.cache.Region + * @see org.springframework.data.gemfire.DiskStoreFactoryBean + * @see org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport * @see org.springframework.test.annotation.DirtiesContext * @see org.springframework.test.context.ContextConfiguration - * @see org.springframework.test.context.junit4.SpringJUnit4ClassRunner + * @see org.springframework.test.context.junit4.SpringRunner * @since 1.3.3 */ +@RunWith(SpringRunner.class) @ContextConfiguration("/org/springframework/data/gemfire/pdxdiskstore-config.xml") @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD) -@RunWith(SpringJUnit4ClassRunner.class) -public class PdxDiskStoreIntegrationTest { +@SuppressWarnings("unused") +public class PdxDiskStoreIntegrationTests extends IntegrationTestsSupport { protected static final int NUMBER_OF_REGION_ENTRIES = 1000; @Resource(name = "pdxDataRegion") private Region, ValueHolder> pdxDataRegion; - protected static void assertRegionExists(final String expectedRegionName, final String expectedRegionPath, final Region region) { - assertNotNull(region); - assertEquals(String.format("Expected Region with name %1$s; but was %2$s!", - expectedRegionName, region.getName()), expectedRegionName, region.getName()); - assertEquals(String.format("Expected Region with path %1$s; but was %2$s!", - expectedRegionPath, region.getFullPath()), expectedRegionPath, region.getFullPath()); + protected static void assertRegionExists(String expectedRegionName, String expectedRegionPath, Region region) { + + assertThat(region).isNotNull(); + + assertThat(region.getName()) + .describedAs("Expected Region with name %1$s; but was %2$s!", expectedRegionName, region.getName()) + .isEqualTo(expectedRegionName); + + assertThat(region.getFullPath()) + .describedAs("Expected Region with path %1$s; but was %2$s!", expectedRegionPath, region.getFullPath()) + .isEqualTo(expectedRegionPath); } - protected static boolean createDirectory(final File path) { - return (path != null && (path.isDirectory() || path.mkdirs())); - } - - protected static File createFile(final String pathname) { + private static File createFile(final String pathname) { return new File(pathname); } - protected static void deleteRecursive(final File path) { + private static void deleteRecursive(final File path) { + if (path.isDirectory()) { for (File file : path.listFiles()) { deleteRecursive(file); @@ -88,8 +94,9 @@ public class PdxDiskStoreIntegrationTest { @BeforeClass public static void setupBeforeClass() { - assertTrue(createDirectory(createFile("./gemfire/data-store"))); - assertTrue(createDirectory(createFile("./gemfire/pdx-store"))); + + assertThat(createDirectory(createFile("./gemfire/data-store")).isDirectory()).isTrue(); + assertThat(createDirectory(createFile("./gemfire/pdx-store")).isDirectory()).isTrue(); } @AfterClass @@ -100,25 +107,27 @@ public class PdxDiskStoreIntegrationTest { @Before public void setup() { - assertNotNull("The PdxData GemFire Region was not created successfully!", pdxDataRegion); + assertThat(pdxDataRegion).as("The PdxData GemFire Region was not created successfully!").isNotNull(); if (pdxDataRegion.size() == 0) { for (int index = 1; index <= NUMBER_OF_REGION_ENTRIES; index++) { - pdxDataRegion.put(new KeyHolder("key" + index), new ValueHolder(index)); + pdxDataRegion.put(new KeyHolder<>("key" + index), new ValueHolder<>(index)); } } } @Test public void testPersistentRegionWithDataCreation() { + assertRegionExists("PdxData", "/PdxData", pdxDataRegion); - assertEquals(NUMBER_OF_REGION_ENTRIES, pdxDataRegion.size()); + assertThat(pdxDataRegion.size()).isEqualTo(NUMBER_OF_REGION_ENTRIES); } @Test public void testPersistentRegionWithDataRecovery() { + assertRegionExists("PdxData", "/PdxData", pdxDataRegion); - assertEquals(NUMBER_OF_REGION_ENTRIES, pdxDataRegion.size()); + assertThat(pdxDataRegion.size()).isEqualTo(NUMBER_OF_REGION_ENTRIES); } protected static class AbstractHolderSupport { @@ -137,10 +146,9 @@ public class PdxDiskStoreIntegrationTest { private T key; - public KeyHolder() { - } + public KeyHolder() { } - public KeyHolder(final T key) { + public KeyHolder(T key) { Assert.notNull(key, "The key cannot be null!"); this.key = key; } @@ -149,13 +157,14 @@ public class PdxDiskStoreIntegrationTest { return key; } - public void setKey(final T key) { + public void setKey(T key) { this.key = key; } @Override - public boolean equals(final Object obj) { - if (obj == this) { + public boolean equals(Object obj) { + + if (this == obj) { return true; } @@ -163,15 +172,18 @@ public class PdxDiskStoreIntegrationTest { return false; } - final KeyHolder that = (KeyHolder) obj; + KeyHolder that = (KeyHolder) obj; return equals(this.getKey(), that.getKey()); } @Override public int hashCode() { + int hashValue = 17; + hashValue = 37 * hashValue + hashCode(this.getKey()); + return hashValue; } @@ -189,7 +201,7 @@ public class PdxDiskStoreIntegrationTest { public ValueHolder() { } - public ValueHolder(final T value) { + public ValueHolder(T value) { this.value = value; } @@ -197,13 +209,14 @@ public class PdxDiskStoreIntegrationTest { return value; } - public void setValue(final T value) { + public void setValue(T value) { this.value = value; } @Override - public boolean equals(final Object obj) { - if (obj == this) { + public boolean equals(Object obj) { + + if (this == obj) { return true; } @@ -211,15 +224,18 @@ public class PdxDiskStoreIntegrationTest { return false; } - final ValueHolder that = (ValueHolder) obj; + ValueHolder that = (ValueHolder) obj; return equals(this.getValue(), that.getValue()); } @Override public int hashCode() { + int hashValue = 17; - hashValue = 17 * hashValue + hashCode(this.getValue()); + + hashValue = 37 * hashValue + hashCode(this.getValue()); + return hashValue; } @@ -228,5 +244,4 @@ public class PdxDiskStoreIntegrationTest { return String.valueOf(getValue()); } } - } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/PeerRegionFactoryBeanTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/PeerRegionFactoryBeanTest.java index 12f6b6d7..c5ebbb2a 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/PeerRegionFactoryBeanTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/PeerRegionFactoryBeanTest.java @@ -15,13 +15,8 @@ */ package org.springframework.data.gemfire; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNotSame; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.fail; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyBoolean; import static org.mockito.ArgumentMatchers.anyFloat; @@ -93,7 +88,7 @@ public class PeerRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { @Override public void verify() { Region region = regionFactoryBean.getRegion(); - assertEquals(DataPolicy.DEFAULT, region.getAttributes().getDataPolicy()); + assertThat(region.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.DEFAULT); } }; } @@ -110,7 +105,7 @@ public class PeerRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { @Override public void verify() { Region region = regionFactoryBean.getRegion(); - assertEquals(DataPolicy.PERSISTENT_REPLICATE, region.getAttributes().getDataPolicy()); + assertThat(region.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.PERSISTENT_REPLICATE); } }; } @@ -127,9 +122,9 @@ public class PeerRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { @Override public void verify() { - assertNotNull(this.exception); - assertEquals("Data Policy [PERSISTENT_REPLICATE] is not valid when persistent is false", - exception.getMessage()); + assertThat(this.exception).isNotNull(); + assertThat(exception.getMessage()) + .isEqualTo("Data Policy [PERSISTENT_REPLICATE] is not valid when persistent is false"); } }; } @@ -178,15 +173,15 @@ public class PeerRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { PeerRegionFactoryBean factoryBean = new TestRegionFactoryBean<>(); - assertFalse(factoryBean.isPersistent()); + assertThat(factoryBean.isPersistent()).isFalse(); factoryBean.setPersistent(false); - assertFalse(factoryBean.isPersistent()); + assertThat(factoryBean.isPersistent()).isFalse(); factoryBean.setPersistent(true); - assertTrue(factoryBean.isPersistent()); + assertThat(factoryBean.isPersistent()).isTrue(); } @Test @@ -194,15 +189,15 @@ public class PeerRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { PeerRegionFactoryBean factoryBean = new TestRegionFactoryBean<>(); - assertFalse(factoryBean.isNotPersistent()); + assertThat(factoryBean.isNotPersistent()).isFalse(); factoryBean.setPersistent(true); - assertFalse(factoryBean.isNotPersistent()); + assertThat(factoryBean.isNotPersistent()).isFalse(); factoryBean.setPersistent(false); - assertTrue(factoryBean.isNotPersistent()); + assertThat(factoryBean.isNotPersistent()).isTrue(); } @Test @@ -228,7 +223,7 @@ public class PeerRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { @Override public void setDataPolicy(final DataPolicy dataPolicy) { - assertEquals(DataPolicy.PERSISTENT_PARTITION, dataPolicy); + assertThat(dataPolicy).isEqualTo(DataPolicy.PERSISTENT_PARTITION); super.setDataPolicy(dataPolicy); setDataPolicyCalled.set(true); } @@ -242,8 +237,8 @@ public class PeerRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { factoryBean.setAttributes(mockRegionAttributes); factoryBean.setShortcut(RegionShortcut.PARTITION_REDUNDANT_PERSISTENT_OVERFLOW); - assertSame(mockRegionFactory, factoryBean.createRegionFactory(mockCache)); - assertTrue(setDataPolicyCalled.get()); + assertThat(factoryBean.createRegionFactory(mockCache)).isSameAs(mockRegionFactory); + assertThat(setDataPolicyCalled.get()).isTrue(); verify(mockCache, times(1)).createRegionFactory(eq(RegionShortcut.PARTITION_REDUNDANT_PERSISTENT_OVERFLOW)); } @@ -263,7 +258,7 @@ public class PeerRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { factoryBean.setAttributes(mockRegionAttributes); factoryBean.setShortcut(null); - assertSame(mockRegionFactory, factoryBean.createRegionFactory(mockCache)); + assertThat(factoryBean.createRegionFactory(mockCache)).isSameAs(mockRegionFactory); verify(mockCache, times(1)).createRegionFactory(eq(mockRegionAttributes)); } @@ -282,7 +277,7 @@ public class PeerRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { factoryBean.setAttributes(null); factoryBean.setShortcut(null); - assertSame(mockRegionFactory, factoryBean.createRegionFactory(mockCache)); + assertThat(factoryBean.createRegionFactory(mockCache)).isSameAs(mockRegionFactory); verify(mockCache).createRegionFactory(); } @@ -329,11 +324,14 @@ public class PeerRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { when(mockRegionAttributes.getSubscriptionAttributes()).thenReturn(testSubscriptionAttributes); PeerRegionFactoryBean factoryBean = new PeerRegionFactoryBean() { - @Override boolean isUserSpecifiedEvictionAttributes(final RegionAttributes regionAttributes) { + + @Override + boolean isUserSpecifiedEvictionAttributes(RegionAttributes regionAttributes) { return true; } - @Override void validateRegionAttributes(final RegionAttributes regionAttributes) { + @Override + void validateRegionAttributes(RegionAttributes regionAttributes) { // no-op! } }; @@ -440,11 +438,14 @@ public class PeerRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { when(mockRegionAttributes.getSubscriptionAttributes()).thenReturn(null); PeerRegionFactoryBean factoryBean = new PeerRegionFactoryBean() { - @Override boolean isUserSpecifiedEvictionAttributes(final RegionAttributes regionAttributes) { + + @Override + boolean isUserSpecifiedEvictionAttributes(RegionAttributes regionAttributes) { return false; } - @Override void validateRegionAttributes(final RegionAttributes regionAttributes) { + @Override + void validateRegionAttributes(RegionAttributes regionAttributes) { // no-op! } }; @@ -496,17 +497,18 @@ public class PeerRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { RegionAttributes regionAttributes = TestUtils.readField("regionAttributes", TestUtils.readField("attrsFactory", mockRegionFactory)); + PartitionAttributes actualPartitionAttributes = regionAttributes.getPartitionAttributes(); - assertNotNull(actualPartitionAttributes); - assertNotSame(testPartitionAttributes, actualPartitionAttributes); - assertEquals("TestRegion", actualPartitionAttributes.getColocatedWith()); - assertEquals(0, actualPartitionAttributes.getLocalMaxMemory()); - assertEquals(15000L, actualPartitionAttributes.getRecoveryDelay()); - assertEquals(1, actualPartitionAttributes.getRedundantCopies()); - assertEquals(30000L, actualPartitionAttributes.getStartupRecoveryDelay()); - assertEquals(1024000L, actualPartitionAttributes.getTotalMaxMemory()); - assertEquals(51, actualPartitionAttributes.getTotalNumBuckets()); + assertThat(actualPartitionAttributes).isNotNull(); + assertThat(actualPartitionAttributes).isNotSameAs(testPartitionAttributes); + assertThat(actualPartitionAttributes.getColocatedWith()).isEqualTo("TestRegion"); + assertThat(actualPartitionAttributes.getLocalMaxMemory()).isEqualTo(0); + assertThat(actualPartitionAttributes.getRecoveryDelay()).isEqualTo(15000L); + assertThat(actualPartitionAttributes.getRedundantCopies()).isEqualTo(1); + assertThat(actualPartitionAttributes.getStartupRecoveryDelay()).isEqualTo(30000L); + assertThat(actualPartitionAttributes.getTotalMaxMemory()).isEqualTo(1024000L); + assertThat(actualPartitionAttributes.getTotalNumBuckets()).isEqualTo(51); verify(mockRegionAttributes, times(2)).getPartitionAttributes(); } @@ -530,15 +532,15 @@ public class PeerRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { TestUtils.readField("attrsFactory", mockRegionFactory)); PartitionAttributes actualPartitionAttributes = regionAttributes.getPartitionAttributes(); - assertNotNull(actualPartitionAttributes); - assertNotSame(testPartitionAttributes, actualPartitionAttributes); - assertEquals("TestRegion", actualPartitionAttributes.getColocatedWith()); - assertEquals(512000, actualPartitionAttributes.getLocalMaxMemory()); - assertEquals(15000L, actualPartitionAttributes.getRecoveryDelay()); - assertEquals(1, actualPartitionAttributes.getRedundantCopies()); - assertEquals(30000L, actualPartitionAttributes.getStartupRecoveryDelay()); - assertEquals(1024000L, actualPartitionAttributes.getTotalMaxMemory()); - assertEquals(51, actualPartitionAttributes.getTotalNumBuckets()); + assertThat(actualPartitionAttributes).isNotNull(); + assertThat(actualPartitionAttributes).isNotSameAs(testPartitionAttributes); + assertThat(actualPartitionAttributes.getColocatedWith()).isEqualTo("TestRegion"); + assertThat(actualPartitionAttributes.getLocalMaxMemory()).isEqualTo(512000); + assertThat(actualPartitionAttributes.getRecoveryDelay()).isEqualTo(15000L); + assertThat(actualPartitionAttributes.getRedundantCopies()).isEqualTo(1); + assertThat(actualPartitionAttributes.getStartupRecoveryDelay()).isEqualTo(30000L); + assertThat(actualPartitionAttributes.getTotalMaxMemory()).isEqualTo(1024000L); + assertThat(actualPartitionAttributes.getTotalNumBuckets()).isEqualTo(51); verify(mockRegionAttributes, times(2)).getPartitionAttributes(); } @@ -560,17 +562,18 @@ public class PeerRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { RegionAttributes regionAttributes = TestUtils.readField("regionAttributes", TestUtils.readField("attrsFactory", mockRegionFactory)); + PartitionAttributes actualPartitionAttributes = regionAttributes.getPartitionAttributes(); - assertNotNull(actualPartitionAttributes); - assertNotSame(testPartitionAttributes, actualPartitionAttributes); - assertEquals("TestRegion", actualPartitionAttributes.getColocatedWith()); - assertEquals(512000, actualPartitionAttributes.getLocalMaxMemory()); - assertEquals(15000L, actualPartitionAttributes.getRecoveryDelay()); - assertEquals(3, actualPartitionAttributes.getRedundantCopies()); - assertEquals(30000L, actualPartitionAttributes.getStartupRecoveryDelay()); - assertEquals(1024000L, actualPartitionAttributes.getTotalMaxMemory()); - assertEquals(51, actualPartitionAttributes.getTotalNumBuckets()); + assertThat(actualPartitionAttributes).isNotNull(); + assertThat(actualPartitionAttributes).isNotSameAs(testPartitionAttributes); + assertThat(actualPartitionAttributes.getColocatedWith()).isEqualTo("TestRegion"); + assertThat(actualPartitionAttributes.getLocalMaxMemory()).isEqualTo(512000); + assertThat(actualPartitionAttributes.getRecoveryDelay()).isEqualTo(15000L); + assertThat(actualPartitionAttributes.getRedundantCopies()).isEqualTo(3); + assertThat(actualPartitionAttributes.getStartupRecoveryDelay()).isEqualTo(30000L); + assertThat(actualPartitionAttributes.getTotalMaxMemory()).isEqualTo(1024000L); + assertThat(actualPartitionAttributes.getTotalNumBuckets()).isEqualTo(51); verify(mockRegionAttributes, times(2)).getPartitionAttributes(); } @@ -592,17 +595,18 @@ public class PeerRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { RegionAttributes regionAttributes = TestUtils.readField("regionAttributes", TestUtils.readField("attrsFactory", mockRegionFactory)); + PartitionAttributes actualPartitionAttributes = regionAttributes.getPartitionAttributes(); - assertNotNull(actualPartitionAttributes); - assertNotSame(testPartitionAttributes, actualPartitionAttributes); - assertEquals("TestRegion", actualPartitionAttributes.getColocatedWith()); - assertEquals(0, actualPartitionAttributes.getLocalMaxMemory()); - assertEquals(15000L, actualPartitionAttributes.getRecoveryDelay()); - assertEquals(0, actualPartitionAttributes.getRedundantCopies()); - assertEquals(30000L, actualPartitionAttributes.getStartupRecoveryDelay()); - assertEquals(1024000L, actualPartitionAttributes.getTotalMaxMemory()); - assertEquals(51, actualPartitionAttributes.getTotalNumBuckets()); + assertThat(actualPartitionAttributes).isNotNull(); + assertThat(actualPartitionAttributes).isNotSameAs(testPartitionAttributes); + assertThat(actualPartitionAttributes.getColocatedWith()).isEqualTo("TestRegion"); + assertThat(actualPartitionAttributes.getLocalMaxMemory()).isEqualTo(0); + assertThat(actualPartitionAttributes.getRecoveryDelay()).isEqualTo(15000L); + assertThat(actualPartitionAttributes.getRedundantCopies()).isEqualTo(0); + assertThat(actualPartitionAttributes.getStartupRecoveryDelay()).isEqualTo(30000L); + assertThat(actualPartitionAttributes.getTotalMaxMemory()).isEqualTo(1024000L); + assertThat(actualPartitionAttributes.getTotalNumBuckets()).isEqualTo(51); verify(mockRegionAttributes, times(2)).getPartitionAttributes(); } @@ -624,17 +628,18 @@ public class PeerRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { RegionAttributes regionAttributes = TestUtils.readField("regionAttributes", TestUtils.readField("attrsFactory", mockRegionFactory)); + PartitionAttributes actualPartitionAttributes = regionAttributes.getPartitionAttributes(); - assertNotNull(actualPartitionAttributes); - assertNotSame(testPartitionAttributes, actualPartitionAttributes); - assertEquals("TestRegion", actualPartitionAttributes.getColocatedWith()); - assertEquals(512000, actualPartitionAttributes.getLocalMaxMemory()); - assertEquals(15000L, actualPartitionAttributes.getRecoveryDelay()); - assertEquals(0, actualPartitionAttributes.getRedundantCopies()); - assertEquals(30000L, actualPartitionAttributes.getStartupRecoveryDelay()); - assertEquals(1024000L, actualPartitionAttributes.getTotalMaxMemory()); - assertEquals(51, actualPartitionAttributes.getTotalNumBuckets()); + assertThat(actualPartitionAttributes).isNotNull(); + assertThat(actualPartitionAttributes).isNotSameAs(testPartitionAttributes); + assertThat(actualPartitionAttributes.getColocatedWith()).isEqualTo("TestRegion"); + assertThat(actualPartitionAttributes.getLocalMaxMemory()).isEqualTo(512000); + assertThat(actualPartitionAttributes.getRecoveryDelay()).isEqualTo(15000L); + assertThat(actualPartitionAttributes.getRedundantCopies()).isEqualTo(0); + assertThat(actualPartitionAttributes.getStartupRecoveryDelay()).isEqualTo(30000L); + assertThat(actualPartitionAttributes.getTotalMaxMemory()).isEqualTo(1024000L); + assertThat(actualPartitionAttributes.getTotalNumBuckets()).isEqualTo(51); verify(mockRegionAttributes, times(2)).getPartitionAttributes(); } @@ -697,7 +702,7 @@ public class PeerRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { factoryBean.resolveDataPolicy(mockRegionFactory, true, " "); } catch (IllegalArgumentException expected) { - assertEquals("Data Policy [ ] is invalid", expected.getMessage()); + assertThat(expected.getMessage()).isEqualTo("Data Policy [ ] is invalid"); throw expected; } finally { @@ -717,7 +722,7 @@ public class PeerRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { factoryBean.resolveDataPolicy(mockRegionFactory, true, ""); } catch (IllegalArgumentException expected) { - assertEquals("Data Policy [] is invalid", expected.getMessage()); + assertThat(expected.getMessage()).isEqualTo("Data Policy [] is invalid"); throw expected; } finally { @@ -737,7 +742,7 @@ public class PeerRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { factoryBean.resolveDataPolicy(mockRegionFactory, true, "CSV"); } catch (IllegalArgumentException expected) { - assertEquals("Data Policy [CSV] is invalid", expected.getMessage()); + assertThat(expected.getMessage()).isEqualTo("Data Policy [CSV] is invalid"); throw expected; } finally { @@ -778,7 +783,7 @@ public class PeerRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { factoryBean.resolveDataPolicy(mockRegionFactory, true, "EMPTY"); } catch (IllegalArgumentException expected) { - assertEquals("Data Policy [EMPTY] is not valid when persistent is true", expected.getMessage()); + assertThat(expected.getMessage()).isEqualTo("Data Policy [EMPTY] is not valid when persistent is true"); throw expected; } finally { @@ -819,7 +824,8 @@ public class PeerRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { factoryBean.resolveDataPolicy(mockRegionFactory, false, "PERSISTENT_PARTITION"); } catch (IllegalArgumentException expected) { - assertEquals("Data Policy [PERSISTENT_PARTITION] is not valid when persistent is false", expected.getMessage()); + assertThat(expected.getMessage()) + .isEqualTo("Data Policy [PERSISTENT_PARTITION] is not valid when persistent is false"); throw expected; } finally { @@ -842,7 +848,7 @@ public class PeerRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { "Setting the 'persistent' attribute to TRUE and 'Data Policy' to PARTITION should have thrown an IllegalArgumentException!"); } catch (IllegalArgumentException expected) { - assertEquals("Data Policy [PARTITION] is not valid when persistent is true", expected.getMessage()); + assertThat(expected.getMessage()).isEqualTo("Data Policy [PARTITION] is not valid when persistent is true"); throw expected; } finally { @@ -886,7 +892,7 @@ public class PeerRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { factoryBean.resolveDataPolicy(mockRegionFactory, null, (String) null); verify(mockRegionFactory, times(1)).setDataPolicy(eq(DataPolicy.PRELOADED)); - assertEquals(DataPolicy.PRELOADED, factoryBean.getDataPolicy()); + assertThat(factoryBean.getDataPolicy()).isEqualTo(DataPolicy.PRELOADED); } @Test @@ -900,7 +906,7 @@ public class PeerRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { factoryBean.resolveDataPolicy(mockRegionFactory, false, (String) null); verify(mockRegionFactory, times(1)).setDataPolicy(eq(DataPolicy.PARTITION)); - assertEquals(DataPolicy.PARTITION, factoryBean.getDataPolicy()); + assertThat(factoryBean.getDataPolicy()).isEqualTo(DataPolicy.PARTITION); } @Test @@ -914,7 +920,7 @@ public class PeerRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { factoryBean.resolveDataPolicy(mockRegionFactory, true, (String) null); verify(mockRegionFactory, times(1)).setDataPolicy(eq(DataPolicy.PERSISTENT_PARTITION)); - assertEquals(DataPolicy.PERSISTENT_PARTITION, factoryBean.getDataPolicy()); + assertThat(factoryBean.getDataPolicy()).isEqualTo(DataPolicy.PERSISTENT_PARTITION); } @Test(expected = IllegalArgumentException.class) @@ -928,7 +934,8 @@ public class PeerRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { factoryBean.resolveDataPolicy(mockRegionFactory, false, (String) null); } catch (IllegalArgumentException expected) { - assertEquals("Data Policy [PERSISTENT_PARTITION] is not valid when persistent is false", expected.getMessage()); + assertThat(expected.getMessage()) + .isEqualTo("Data Policy [PERSISTENT_PARTITION] is not valid when persistent is false"); throw expected; } finally { @@ -950,7 +957,7 @@ public class PeerRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { factoryBean.resolveDataPolicy(mockRegionFactory, true, (String) null); } catch (IllegalArgumentException expected) { - assertEquals("Data Policy [PARTITION] is not valid when persistent is true", expected.getMessage()); + assertThat(expected.getMessage()).isEqualTo("Data Policy [PARTITION] is not valid when persistent is true"); throw expected; } finally { @@ -1025,10 +1032,12 @@ public class PeerRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { try { factoryBean.setPersistent(false); factoryBean.resolveDataPolicy(mockRegionFactory, false, DataPolicy.PERSISTENT_REPLICATE); - fail("Setting the 'persistent' attribute to FALSE and 'Data Policy' to PERSISTENT_REPLICATE should have thrown an IllegalArgumentException!"); + fail( + "Setting the 'persistent' attribute to FALSE and 'Data Policy' to PERSISTENT_REPLICATE should have thrown an IllegalArgumentException!"); } catch (IllegalArgumentException expected) { - assertEquals("Data Policy [PERSISTENT_REPLICATE] is not valid when persistent is false", expected.getMessage()); + assertThat(expected.getMessage()) + .isEqualTo("Data Policy [PERSISTENT_REPLICATE] is not valid when persistent is false"); throw expected; } finally { @@ -1047,10 +1056,11 @@ public class PeerRegionFactoryBeanTest extends AbstractRegionFactoryBeanTests { try { factoryBean.setPersistent(true); factoryBean.resolveDataPolicy(mockRegionFactory, true, "REPLICATE"); - fail("Setting the 'persistent' attribute to TRUE and 'Data Policy' to REPLICATE should have thrown an IllegalArgumentException!"); + fail( + "Setting the 'persistent' attribute to TRUE and 'Data Policy' to REPLICATE should have thrown an IllegalArgumentException!"); } catch (IllegalArgumentException expected) { - assertEquals("Data Policy [REPLICATE] is not valid when persistent is true", expected.getMessage()); + assertThat(expected.getMessage()).isEqualTo("Data Policy [REPLICATE] is not valid when persistent is true"); throw expected; } finally { diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/RegionDataPolicyShortcutsIntegrationTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/RegionDataPolicyShortcutsIntegrationTest.java deleted file mode 100644 index 23337fd7..00000000 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/RegionDataPolicyShortcutsIntegrationTest.java +++ /dev/null @@ -1,184 +0,0 @@ -/* - * Copyright 2010-2021 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.springframework.data.gemfire; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import javax.annotation.Resource; - -import org.apache.geode.cache.DataPolicy; -import org.apache.geode.cache.EvictionAction; -import org.apache.geode.cache.EvictionAlgorithm; -import org.apache.geode.cache.Region; - -import org.junit.Test; -import org.junit.runner.RunWith; - -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -/** - * The RegionShortcutsIntegrationTest class is a test suite of test cases testing the use of RegionShortcuts in the - * Spring Data GemFire XML Namespace! - * - * @author John Blum - * @see org.junit.Test - * @see org.junit.runner.RunWith - * @see org.springframework.test.context.ContextConfiguration - * @see org.springframework.test.context.junit4.SpringJUnit4ClassRunner - * @see org.apache.geode.cache.Region - * @since 1.4.0 - */ -@ContextConfiguration("region-datapolicy-shortcuts.xml") -@RunWith(SpringJUnit4ClassRunner.class) -public class RegionDataPolicyShortcutsIntegrationTest { - - @Resource(name = "LocalWithDataPolicy") - private Region localWithDataPolicy; - - @Resource(name = "LocalWithShortcut") - private Region localWithShortcut; - - @Resource(name = "PartitionWithDataPolicy") - private Region partitionWithDataPolicy; - - @Resource(name = "PartitionWithShortcut") - private Region partitionWithShortcut; - - @Resource(name = "ReplicateWithDataPolicy") - private Region replicateWithDataPolicy; - - @Resource(name = "ReplicateWithShortcut") - private Region replicateWithShortcut; - - @Resource(name = "ShortcutDefaults") - private Region shortcutDefaults; - - @Resource(name = "ShortcutOverrides") - private Region shortcutOverrides; - - @Test - public void testLocalRegionWithDataPolicy() { - assertNotNull("A reference to the 'LocalWithDataPolicy' Region was not property configured!", localWithDataPolicy); - assertEquals("LocalWithDataPolicy", localWithDataPolicy.getName()); - assertEquals("/LocalWithDataPolicy", localWithDataPolicy.getFullPath()); - assertNotNull(localWithDataPolicy.getAttributes()); - assertEquals(DataPolicy.NORMAL, localWithDataPolicy.getAttributes().getDataPolicy()); - } - - @Test - public void testLocalRegionWithShortcut() { - assertNotNull("A reference to the 'LocalWithShortcut' Region was not property configured!", localWithShortcut); - assertEquals("LocalWithShortcut", localWithShortcut.getName()); - assertEquals("/LocalWithShortcut", localWithShortcut.getFullPath()); - assertNotNull(localWithShortcut.getAttributes()); - assertEquals(DataPolicy.PERSISTENT_REPLICATE, localWithShortcut.getAttributes().getDataPolicy()); - } - - @Test - public void testPartitionRegionWithDataPolicy() { - assertNotNull("A reference to the 'PartitionWithDataPolicy' Region was not property configured!", partitionWithDataPolicy); - assertEquals("PartitionWithDataPolicy", partitionWithDataPolicy.getName()); - assertEquals("/PartitionWithDataPolicy", partitionWithDataPolicy.getFullPath()); - assertNotNull(partitionWithDataPolicy.getAttributes()); - assertEquals(DataPolicy.PARTITION, partitionWithDataPolicy.getAttributes().getDataPolicy()); - } - - @Test - public void testPartitionRegionWithShortcut() { - assertNotNull("A reference to the 'PartitionWithShortcut' Region was not property configured!", partitionWithShortcut); - assertEquals("PartitionWithShortcut", partitionWithShortcut.getName()); - assertEquals("/PartitionWithShortcut", partitionWithShortcut.getFullPath()); - assertNotNull(partitionWithShortcut.getAttributes()); - assertEquals(DataPolicy.PERSISTENT_PARTITION, partitionWithShortcut.getAttributes().getDataPolicy()); - } - - @Test - public void testReplicateRegionWithDataPolicy() { - assertNotNull("A reference to the 'ReplicateWithDataPolicy' Region was not property configured!", replicateWithDataPolicy); - assertEquals("ReplicateWithDataPolicy", replicateWithDataPolicy.getName()); - assertEquals("/ReplicateWithDataPolicy", replicateWithDataPolicy.getFullPath()); - assertNotNull(replicateWithDataPolicy.getAttributes()); - assertEquals(DataPolicy.REPLICATE, replicateWithDataPolicy.getAttributes().getDataPolicy()); - } - - @Test - public void testReplicateRegionWithShortcut() { - assertNotNull("A reference to the 'ReplicateWithShortcut' Region was not property configured!", replicateWithShortcut); - assertEquals("ReplicateWithShortcut", replicateWithShortcut.getName()); - assertEquals("/ReplicateWithShortcut", replicateWithShortcut.getFullPath()); - assertNotNull(replicateWithShortcut.getAttributes()); - assertEquals(DataPolicy.PERSISTENT_REPLICATE, replicateWithShortcut.getAttributes().getDataPolicy()); - } - - @Test - public void testShortcutDefaultsRegion() { - assertNotNull("A reference to the 'ShortcutDefaults' Region was not properly configured!", shortcutDefaults); - assertEquals("ShortcutDefaults", shortcutDefaults.getName()); - assertEquals("/ShortcutDefaults", shortcutDefaults.getFullPath()); - - assertNotNull(shortcutDefaults.getAttributes()); - assertFalse(shortcutDefaults.getAttributes().getCloningEnabled()); - assertTrue(shortcutDefaults.getAttributes().getConcurrencyChecksEnabled()); - assertEquals(DataPolicy.PERSISTENT_PARTITION, shortcutDefaults.getAttributes().getDataPolicy()); - assertFalse(shortcutDefaults.getAttributes().isDiskSynchronous()); - assertTrue(shortcutDefaults.getAttributes().getIgnoreJTA()); - assertEquals(101, shortcutDefaults.getAttributes().getInitialCapacity()); - assertEquals(new Float(0.85f), new Float(shortcutDefaults.getAttributes().getLoadFactor())); - assertEquals(Long.class, shortcutDefaults.getAttributes().getKeyConstraint()); - assertEquals(String.class, shortcutDefaults.getAttributes().getValueConstraint()); - - assertNotNull(shortcutDefaults.getAttributes().getEvictionAttributes()); - assertEquals(EvictionAction.OVERFLOW_TO_DISK, shortcutDefaults.getAttributes().getEvictionAttributes().getAction()); - assertEquals(EvictionAlgorithm.LRU_HEAP, shortcutDefaults.getAttributes().getEvictionAttributes().getAlgorithm()); - - assertNotNull(shortcutDefaults.getAttributes().getPartitionAttributes()); - assertEquals(1, shortcutDefaults.getAttributes().getPartitionAttributes().getRedundantCopies()); - assertEquals(177, shortcutDefaults.getAttributes().getPartitionAttributes().getTotalNumBuckets()); - } - - @Test - public void testShortcutOverridesRegion() { - assertNotNull("A reference to the 'ShortcutOverrides' Region was not properly configured!", shortcutOverrides); - assertEquals("ShortcutOverrides", shortcutOverrides.getName()); - assertEquals("/ShortcutOverrides", shortcutOverrides.getFullPath()); - - assertNotNull(shortcutOverrides.getAttributes()); - assertTrue(shortcutOverrides.getAttributes().getCloningEnabled()); - assertFalse(shortcutOverrides.getAttributes().getConcurrencyChecksEnabled()); - assertEquals(DataPolicy.PARTITION, shortcutOverrides.getAttributes().getDataPolicy()); - assertTrue(shortcutOverrides.getAttributes().isDiskSynchronous()); - assertFalse(shortcutOverrides.getAttributes().getIgnoreJTA()); - assertEquals(51, shortcutOverrides.getAttributes().getInitialCapacity()); - assertEquals(new Float(0.72f), new Float(shortcutOverrides.getAttributes().getLoadFactor())); - assertEquals(String.class, shortcutOverrides.getAttributes().getKeyConstraint()); - assertEquals(Object.class, shortcutOverrides.getAttributes().getValueConstraint()); - - assertNotNull(shortcutOverrides.getAttributes().getEvictionAttributes()); - assertEquals(EvictionAction.LOCAL_DESTROY, shortcutOverrides.getAttributes().getEvictionAttributes().getAction()); - assertEquals(8192, shortcutOverrides.getAttributes().getEvictionAttributes().getMaximum()); - assertEquals(EvictionAlgorithm.LRU_ENTRY, shortcutOverrides.getAttributes().getEvictionAttributes().getAlgorithm()); - - assertNotNull(shortcutOverrides.getAttributes().getPartitionAttributes()); - assertEquals(3, shortcutOverrides.getAttributes().getPartitionAttributes().getRedundantCopies()); - assertEquals(111, shortcutOverrides.getAttributes().getPartitionAttributes().getTotalNumBuckets()); - } - -} diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/RegionDataPolicyShortcutsIntegrationTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/RegionDataPolicyShortcutsIntegrationTests.java new file mode 100644 index 00000000..0dc07e5d --- /dev/null +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/RegionDataPolicyShortcutsIntegrationTests.java @@ -0,0 +1,212 @@ +/* + * Copyright 2010-2021 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * 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; + +import javax.annotation.Resource; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import org.apache.geode.cache.DataPolicy; +import org.apache.geode.cache.EvictionAction; +import org.apache.geode.cache.EvictionAlgorithm; +import org.apache.geode.cache.Region; +import org.apache.geode.cache.RegionShortcut; + +import org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport; +import org.springframework.data.gemfire.tests.mock.context.GemFireMockObjectsApplicationContextInitializer; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringRunner; + +/** + * Integration Tests testing the use of {@link RegionShortcut} in SDG XML namespace configuration metadata. + * + * @author John Blum + * @see org.junit.Test + * @see org.apache.geode.cache.DataPolicy + * @see org.apache.geode.cache.Region + * @see org.apache.geode.cache.RegionShortcut + * @see org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport + * @see org.springframework.data.gemfire.tests.mock.context.GemFireMockObjectsApplicationContextInitializer + * @see org.springframework.test.context.ContextConfiguration + * @see org.springframework.test.context.junit4.SpringRunner + * @since 1.4.0 + */ +@RunWith(SpringRunner.class) +@ContextConfiguration(locations = "region-datapolicy-shortcuts.xml", + initializers = GemFireMockObjectsApplicationContextInitializer.class) +@SuppressWarnings("unused") +public class RegionDataPolicyShortcutsIntegrationTests extends IntegrationTestsSupport { + + @Resource(name = "LocalWithDataPolicy") + private Region localWithDataPolicy; + + @Resource(name = "LocalWithShortcut") + private Region localWithShortcut; + + @Resource(name = "PartitionWithDataPolicy") + private Region partitionWithDataPolicy; + + @Resource(name = "PartitionWithShortcut") + private Region partitionWithShortcut; + + @Resource(name = "ReplicateWithDataPolicy") + private Region replicateWithDataPolicy; + + @Resource(name = "ReplicateWithShortcut") + private Region replicateWithShortcut; + + @Resource(name = "ShortcutDefaults") + private Region shortcutDefaults; + + @Resource(name = "ShortcutOverrides") + private Region shortcutOverrides; + + @Test + public void testLocalRegionWithDataPolicy() { + + assertThat(localWithDataPolicy) + .describedAs("A reference to the 'LocalWithDataPolicy' Region was not property configured!") + .isNotNull(); + + assertThat(localWithDataPolicy.getName()).isEqualTo("LocalWithDataPolicy"); + assertThat(localWithDataPolicy.getFullPath()).isEqualTo("/LocalWithDataPolicy"); + assertThat(localWithDataPolicy.getAttributes()).isNotNull(); + assertThat(localWithDataPolicy.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.NORMAL); + } + + @Test + public void testLocalRegionWithShortcut() { + + assertThat(localWithShortcut) + .describedAs("A reference to the 'LocalWithShortcut' Region was not property configured!") + .isNotNull(); + + assertThat(localWithShortcut.getName()).isEqualTo("LocalWithShortcut"); + assertThat(localWithShortcut.getFullPath()).isEqualTo("/LocalWithShortcut"); + assertThat(localWithShortcut.getAttributes()).isNotNull(); + assertThat(localWithShortcut.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.PERSISTENT_REPLICATE); + } + + @Test + public void testPartitionRegionWithDataPolicy() { + + assertThat(partitionWithDataPolicy) + .describedAs("A reference to the 'PartitionWithDataPolicy' Region was not property configured!") + .isNotNull(); + + assertThat(partitionWithDataPolicy.getName()).isEqualTo("PartitionWithDataPolicy"); + assertThat(partitionWithDataPolicy.getFullPath()).isEqualTo("/PartitionWithDataPolicy"); + assertThat(partitionWithDataPolicy.getAttributes()).isNotNull(); + assertThat(partitionWithDataPolicy.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.PARTITION); + } + + @Test + public void testPartitionRegionWithShortcut() { + + assertThat(partitionWithShortcut) + .describedAs("A reference to the 'PartitionWithShortcut' Region was not property configured!") + .isNotNull(); + + assertThat(partitionWithShortcut.getName()).isEqualTo("PartitionWithShortcut"); + assertThat(partitionWithShortcut.getFullPath()).isEqualTo("/PartitionWithShortcut"); + assertThat(partitionWithShortcut.getAttributes()).isNotNull(); + assertThat(partitionWithShortcut.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.PERSISTENT_PARTITION); + } + + @Test + public void testReplicateRegionWithDataPolicy() { + + assertThat(replicateWithDataPolicy) + .describedAs("A reference to the 'ReplicateWithDataPolicy' Region was not property configured!") + .isNotNull(); + + assertThat(replicateWithDataPolicy.getName()).isEqualTo("ReplicateWithDataPolicy"); + assertThat(replicateWithDataPolicy.getFullPath()).isEqualTo("/ReplicateWithDataPolicy"); + assertThat(replicateWithDataPolicy.getAttributes()).isNotNull(); + assertThat(replicateWithDataPolicy.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.REPLICATE); + } + + @Test + public void testReplicateRegionWithShortcut() { + + assertThat(replicateWithShortcut) + .describedAs("A reference to the 'ReplicateWithShortcut' Region was not property configured!") + .isNotNull(); + + assertThat(replicateWithShortcut.getName()).isEqualTo("ReplicateWithShortcut"); + assertThat(replicateWithShortcut.getFullPath()).isEqualTo("/ReplicateWithShortcut"); + assertThat(replicateWithShortcut.getAttributes()).isNotNull(); + assertThat(replicateWithShortcut.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.PERSISTENT_REPLICATE); + } + + @Test + public void testShortcutDefaultsRegion() { + + assertThat(shortcutDefaults) + .describedAs("A reference to the 'ShortcutDefaults' Region was not properly configured!") + .isNotNull(); + + assertThat(shortcutDefaults.getName()).isEqualTo("ShortcutDefaults"); + assertThat(shortcutDefaults.getFullPath()).isEqualTo("/ShortcutDefaults"); + assertThat(shortcutDefaults.getAttributes()).isNotNull(); + assertThat(shortcutDefaults.getAttributes().getCloningEnabled()).isFalse(); + assertThat(shortcutDefaults.getAttributes().getConcurrencyChecksEnabled()).isTrue(); + assertThat(shortcutDefaults.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.PERSISTENT_PARTITION); + assertThat(shortcutDefaults.getAttributes().isDiskSynchronous()).isFalse(); + assertThat(shortcutDefaults.getAttributes().getIgnoreJTA()).isTrue(); + assertThat(shortcutDefaults.getAttributes().getInitialCapacity()).isEqualTo(101); + assertThat(new Float(shortcutDefaults.getAttributes().getLoadFactor())).isEqualTo(new Float(0.85f)); + assertThat(shortcutDefaults.getAttributes().getKeyConstraint()).isEqualTo(Long.class); + assertThat(shortcutDefaults.getAttributes().getValueConstraint()).isEqualTo(String.class); + assertThat(shortcutDefaults.getAttributes().getEvictionAttributes()).isNotNull(); + assertThat(shortcutDefaults.getAttributes().getEvictionAttributes().getAction()).isEqualTo(EvictionAction.OVERFLOW_TO_DISK); + assertThat(shortcutDefaults.getAttributes().getEvictionAttributes().getAlgorithm()).isEqualTo(EvictionAlgorithm.LRU_HEAP); + assertThat(shortcutDefaults.getAttributes().getPartitionAttributes()).isNotNull(); + assertThat(shortcutDefaults.getAttributes().getPartitionAttributes().getRedundantCopies()).isEqualTo(1); + assertThat(shortcutDefaults.getAttributes().getPartitionAttributes().getTotalNumBuckets()).isEqualTo(177); + } + + @Test + public void testShortcutOverridesRegion() { + + assertThat(shortcutOverrides) + .describedAs("A reference to the 'ShortcutOverrides' Region was not properly configured!") + .isNotNull(); + + assertThat(shortcutOverrides.getName()).isEqualTo("ShortcutOverrides"); + assertThat(shortcutOverrides.getFullPath()).isEqualTo("/ShortcutOverrides"); + assertThat(shortcutOverrides.getAttributes()).isNotNull(); + assertThat(shortcutOverrides.getAttributes().getCloningEnabled()).isTrue(); + assertThat(shortcutOverrides.getAttributes().getConcurrencyChecksEnabled()).isFalse(); + assertThat(shortcutOverrides.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.PARTITION); + assertThat(shortcutOverrides.getAttributes().isDiskSynchronous()).isTrue(); + assertThat(shortcutOverrides.getAttributes().getIgnoreJTA()).isFalse(); + assertThat(shortcutOverrides.getAttributes().getInitialCapacity()).isEqualTo(51); + assertThat(new Float(shortcutOverrides.getAttributes().getLoadFactor())).isEqualTo(new Float(0.72f)); + assertThat(shortcutOverrides.getAttributes().getKeyConstraint()).isEqualTo(String.class); + assertThat(shortcutOverrides.getAttributes().getValueConstraint()).isEqualTo(Object.class); + assertThat(shortcutOverrides.getAttributes().getEvictionAttributes()).isNotNull(); + assertThat(shortcutOverrides.getAttributes().getEvictionAttributes().getAction()).isEqualTo(EvictionAction.LOCAL_DESTROY); + assertThat(shortcutOverrides.getAttributes().getEvictionAttributes().getMaximum()).isEqualTo(8192); + assertThat(shortcutOverrides.getAttributes().getEvictionAttributes().getAlgorithm()).isEqualTo(EvictionAlgorithm.LRU_ENTRY); + assertThat(shortcutOverrides.getAttributes().getPartitionAttributes()).isNotNull(); + assertThat(shortcutOverrides.getAttributes().getPartitionAttributes().getRedundantCopies()).isEqualTo(3); + assertThat(shortcutOverrides.getAttributes().getPartitionAttributes().getTotalNumBuckets()).isEqualTo(111); + } +} diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/RegionLookupIntegrationTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/RegionLookupIntegrationTests.java index 57fa6bfa..e5bba639 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/RegionLookupIntegrationTests.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/RegionLookupIntegrationTests.java @@ -13,43 +13,39 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.springframework.data.gemfire; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.fail; import java.util.Optional; +import org.junit.Test; + import org.apache.geode.cache.DataPolicy; import org.apache.geode.cache.Region; import org.apache.geode.cache.RegionExistsException; import org.apache.geode.cache.Scope; -import org.junit.Test; - import org.springframework.beans.factory.BeanCreationException; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; -import org.springframework.data.gemfire.fork.SpringContainerProcess; +import org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport; /** - * The RegionLookupIntegrationTests class is a test suite of test cases testing the lookup functionality for various - * peer Region types. + * Integration Tests testing SDG lookup functionality for various peer {@link Region} types. * * @author John Blum * @see org.junit.Test - * @see org.springframework.context.ConfigurableApplicationContext - * @see SpringContainerProcess * @see org.apache.geode.cache.Region + * @see org.springframework.context.ConfigurableApplicationContext + * @see org.springframework.context.support.ClassPathXmlApplicationContext + * @see org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport * @since 1.4.0 * @link https://jira.spring.io/browse/SGF-204 */ // TODO: slow test; can this test use mocks? -public class RegionLookupIntegrationTests { +public class RegionLookupIntegrationTests extends IntegrationTestsSupport { private void assertNoRegionLookup(String configLocation) { @@ -61,7 +57,7 @@ public class RegionLookupIntegrationTests { } catch (BeanCreationException expected) { - assertTrue(expected.getMessage(), expected.getCause() instanceof RegionExistsException); + assertThat(expected.getCause() instanceof RegionExistsException).as(expected.getMessage()).isTrue(); throw (RegionExistsException) expected.getCause(); } @@ -87,24 +83,24 @@ public class RegionLookupIntegrationTests { applicationContext = createApplicationContext( "/org/springframework/data/gemfire/allowRegionBeanDefinitionOverridesTest.xml"); - assertNotNull(applicationContext); - assertTrue(applicationContext.containsBean("regionOne")); + assertThat(applicationContext).isNotNull(); + assertThat(applicationContext.containsBean("regionOne")).isTrue(); - Region appDataRegion = applicationContext.getBean("regionOne", Region.class); + Region appDataRegion = applicationContext.getBean("regionOne", Region.class); - assertNotNull(appDataRegion); - assertEquals("AppDataRegion", appDataRegion.getName()); - assertEquals("/AppDataRegion", appDataRegion.getFullPath()); - assertNotNull(appDataRegion.getAttributes()); - assertEquals(DataPolicy.PERSISTENT_REPLICATE, appDataRegion.getAttributes().getDataPolicy()); - assertFalse(appDataRegion.getAttributes().getMulticastEnabled()); - assertEquals(Scope.DISTRIBUTED_ACK, appDataRegion.getAttributes().getScope()); - assertEquals(101, appDataRegion.getAttributes().getInitialCapacity()); - assertEquals(new Float(0.85f), new Float(appDataRegion.getAttributes().getLoadFactor())); - assertTrue(appDataRegion.getAttributes().getCloningEnabled()); - assertTrue(appDataRegion.getAttributes().getConcurrencyChecksEnabled()); - assertEquals(Integer.class, appDataRegion.getAttributes().getKeyConstraint()); - assertEquals(String.class, appDataRegion.getAttributes().getValueConstraint()); + assertThat(appDataRegion).isNotNull(); + assertThat(appDataRegion.getName()).isEqualTo("AppDataRegion"); + assertThat(appDataRegion.getFullPath()).isEqualTo("/AppDataRegion"); + assertThat(appDataRegion.getAttributes()).isNotNull(); + assertThat(appDataRegion.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.PERSISTENT_REPLICATE); + assertThat(appDataRegion.getAttributes().getMulticastEnabled()).isFalse(); + assertThat(appDataRegion.getAttributes().getScope()).isEqualTo(Scope.DISTRIBUTED_ACK); + assertThat(appDataRegion.getAttributes().getInitialCapacity()).isEqualTo(101); + assertThat(new Float(appDataRegion.getAttributes().getLoadFactor())).isEqualTo(new Float(0.85f)); + assertThat(appDataRegion.getAttributes().getCloningEnabled()).isTrue(); + assertThat(appDataRegion.getAttributes().getConcurrencyChecksEnabled()).isTrue(); + assertThat(appDataRegion.getAttributes().getKeyConstraint()).isEqualTo(Integer.class); + assertThat(appDataRegion.getAttributes().getValueConstraint()).isEqualTo(String.class); } finally { closeApplicationContext(applicationContext); @@ -154,76 +150,79 @@ public class RegionLookupIntegrationTests { try { applicationContext = createApplicationContext("/org/springframework/data/gemfire/enableRegionLookupsTest.xml"); - assertNotNull(applicationContext); - assertTrue(applicationContext.containsBean("NativeLocalRegion")); - assertTrue(applicationContext.containsBean("NativePartitionRegion")); - assertTrue(applicationContext.containsBean("NativeReplicateRegion")); - assertTrue(applicationContext.containsBean("NativeParentRegion")); - assertTrue(applicationContext.containsBean("/NativeParentRegion/NativeChildRegion")); - assertTrue(applicationContext.containsBean("SpringReplicateRegion")); + assertThat(applicationContext).isNotNull(); + assertThat(applicationContext.containsBean("NativeLocalRegion")).isTrue(); + assertThat(applicationContext.containsBean("NativePartitionRegion")).isTrue(); + assertThat(applicationContext.containsBean("NativeReplicateRegion")).isTrue(); + assertThat(applicationContext.containsBean("NativeParentRegion")).isTrue(); + assertThat(applicationContext.containsBean("/NativeParentRegion/NativeChildRegion")).isTrue(); + assertThat(applicationContext.containsBean("SpringReplicateRegion")).isTrue(); - Region nativeLocalRegion = applicationContext.getBean("NativeLocalRegion", Region.class); + Region nativeLocalRegion = applicationContext.getBean("NativeLocalRegion", Region.class); - assertNotNull(nativeLocalRegion); - assertEquals("NativeLocalRegion", nativeLocalRegion.getName()); - assertEquals("/NativeLocalRegion", nativeLocalRegion.getFullPath()); - assertNotNull(nativeLocalRegion.getAttributes()); - assertEquals(DataPolicy.NORMAL, nativeLocalRegion.getAttributes().getDataPolicy()); - assertFalse(nativeLocalRegion.getAttributes().getCloningEnabled()); - assertFalse(nativeLocalRegion.getAttributes().getConcurrencyChecksEnabled()); - assertEquals(80, nativeLocalRegion.getAttributes().getConcurrencyLevel()); - assertEquals(101, nativeLocalRegion.getAttributes().getInitialCapacity()); - assertEquals(Integer.class, nativeLocalRegion.getAttributes().getKeyConstraint()); - assertEquals(new Float(0.95f), new Float(nativeLocalRegion.getAttributes().getLoadFactor())); - assertEquals(String.class, nativeLocalRegion.getAttributes().getValueConstraint()); + assertThat(nativeLocalRegion).isNotNull(); + assertThat(nativeLocalRegion.getName()).isEqualTo("NativeLocalRegion"); + assertThat(nativeLocalRegion.getFullPath()).isEqualTo("/NativeLocalRegion"); + assertThat(nativeLocalRegion.getAttributes()).isNotNull(); + assertThat(nativeLocalRegion.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.NORMAL); + assertThat(nativeLocalRegion.getAttributes().getCloningEnabled()).isFalse(); + assertThat(nativeLocalRegion.getAttributes().getConcurrencyChecksEnabled()).isFalse(); + assertThat(nativeLocalRegion.getAttributes().getConcurrencyLevel()).isEqualTo(80); + assertThat(nativeLocalRegion.getAttributes().getInitialCapacity()).isEqualTo(101); + assertThat(nativeLocalRegion.getAttributes().getKeyConstraint()).isEqualTo(Integer.class); + assertThat(new Float(nativeLocalRegion.getAttributes().getLoadFactor())).isEqualTo(new Float(0.95f)); + assertThat(nativeLocalRegion.getAttributes().getValueConstraint()).isEqualTo(String.class); - Region nativePartitionRegion = applicationContext.getBean("NativePartitionRegion", Region.class); + Region nativePartitionRegion = applicationContext.getBean("NativePartitionRegion", Region.class); - assertNotNull(nativePartitionRegion); - assertEquals("NativePartitionRegion", nativePartitionRegion.getName()); - assertEquals("/NativePartitionRegion", nativePartitionRegion.getFullPath()); - assertNotNull(nativePartitionRegion.getAttributes()); - assertEquals(DataPolicy.PERSISTENT_PARTITION, nativePartitionRegion.getAttributes().getDataPolicy()); - assertTrue(nativePartitionRegion.getAttributes().getCloningEnabled()); - assertTrue(nativePartitionRegion.getAttributes().getConcurrencyChecksEnabled()); - assertEquals(40, nativePartitionRegion.getAttributes().getConcurrencyLevel()); - assertEquals(51, nativePartitionRegion.getAttributes().getInitialCapacity()); - assertEquals(Integer.class, nativePartitionRegion.getAttributes().getKeyConstraint()); - assertEquals(new Float(0.85f), new Float(nativePartitionRegion.getAttributes().getLoadFactor())); - assertFalse(nativePartitionRegion.getAttributes().getMulticastEnabled()); - assertEquals(String.class, nativePartitionRegion.getAttributes().getValueConstraint()); + assertThat(nativePartitionRegion).isNotNull(); + assertThat(nativePartitionRegion.getName()).isEqualTo("NativePartitionRegion"); + assertThat(nativePartitionRegion.getFullPath()).isEqualTo("/NativePartitionRegion"); + assertThat(nativePartitionRegion.getAttributes()).isNotNull(); + assertThat(nativePartitionRegion.getAttributes().getDataPolicy()) + .isEqualTo(DataPolicy.PERSISTENT_PARTITION); + assertThat(nativePartitionRegion.getAttributes().getCloningEnabled()).isTrue(); + assertThat(nativePartitionRegion.getAttributes().getConcurrencyChecksEnabled()).isTrue(); + assertThat(nativePartitionRegion.getAttributes().getConcurrencyLevel()).isEqualTo(40); + assertThat(nativePartitionRegion.getAttributes().getInitialCapacity()).isEqualTo(51); + assertThat(nativePartitionRegion.getAttributes().getKeyConstraint()).isEqualTo(Integer.class); + assertThat(new Float(nativePartitionRegion.getAttributes().getLoadFactor())).isEqualTo(new Float(0.85f)); + assertThat(nativePartitionRegion.getAttributes().getMulticastEnabled()).isFalse(); + assertThat(nativePartitionRegion.getAttributes().getValueConstraint()).isEqualTo(String.class); - Region nativeReplicateRegion = applicationContext.getBean("NativeReplicateRegion", Region.class); + Region nativeReplicateRegion = applicationContext.getBean("NativeReplicateRegion", Region.class); - assertNotNull(nativeReplicateRegion); - assertEquals("NativeReplicateRegion", nativeReplicateRegion.getName()); - assertEquals("/NativeReplicateRegion", nativeReplicateRegion.getFullPath()); - assertNotNull(nativeReplicateRegion.getAttributes()); - assertEquals(DataPolicy.PERSISTENT_REPLICATE, nativeReplicateRegion.getAttributes().getDataPolicy()); - assertFalse(nativeReplicateRegion.getAttributes().getCloningEnabled()); - assertTrue(nativeReplicateRegion.getAttributes().getConcurrencyChecksEnabled()); - assertEquals(23, nativeReplicateRegion.getAttributes().getInitialCapacity()); - assertEquals(new Float(0.75f), new Float(nativeReplicateRegion.getAttributes().getLoadFactor())); - assertEquals(Integer.class, nativeReplicateRegion.getAttributes().getKeyConstraint()); - assertFalse(nativeReplicateRegion.getAttributes().getMulticastEnabled()); - assertEquals(Scope.DISTRIBUTED_NO_ACK, nativeReplicateRegion.getAttributes().getScope()); - assertEquals(String.class, nativeReplicateRegion.getAttributes().getValueConstraint()); + assertThat(nativeReplicateRegion).isNotNull(); + assertThat(nativeReplicateRegion.getName()).isEqualTo("NativeReplicateRegion"); + assertThat(nativeReplicateRegion.getFullPath()).isEqualTo("/NativeReplicateRegion"); + assertThat(nativeReplicateRegion.getAttributes()).isNotNull(); + assertThat(nativeReplicateRegion.getAttributes().getDataPolicy()) + .isEqualTo(DataPolicy.PERSISTENT_REPLICATE); + assertThat(nativeReplicateRegion.getAttributes().getCloningEnabled()).isFalse(); + assertThat(nativeReplicateRegion.getAttributes().getConcurrencyChecksEnabled()).isTrue(); + assertThat(nativeReplicateRegion.getAttributes().getInitialCapacity()).isEqualTo(23); + assertThat(new Float(nativeReplicateRegion.getAttributes().getLoadFactor())).isEqualTo(new Float(0.75f)); + assertThat(nativeReplicateRegion.getAttributes().getKeyConstraint()).isEqualTo(Integer.class); + assertThat(nativeReplicateRegion.getAttributes().getMulticastEnabled()).isFalse(); + assertThat(nativeReplicateRegion.getAttributes().getScope()).isEqualTo(Scope.DISTRIBUTED_NO_ACK); + assertThat(nativeReplicateRegion.getAttributes().getValueConstraint()).isEqualTo(String.class); - Region nativeChildRegion = applicationContext.getBean("/NativeParentRegion/NativeChildRegion", Region.class); + Region nativeChildRegion = + applicationContext.getBean("/NativeParentRegion/NativeChildRegion", Region.class); - assertNotNull(nativeChildRegion); - assertEquals("NativeChildRegion", nativeChildRegion.getName()); - assertEquals("/NativeParentRegion/NativeChildRegion", nativeChildRegion.getFullPath()); - assertNotNull(nativeChildRegion.getAttributes()); - assertEquals(DataPolicy.REPLICATE, nativeChildRegion.getAttributes().getDataPolicy()); + assertThat(nativeChildRegion).isNotNull(); + assertThat(nativeChildRegion.getName()).isEqualTo("NativeChildRegion"); + assertThat(nativeChildRegion.getFullPath()).isEqualTo("/NativeParentRegion/NativeChildRegion"); + assertThat(nativeChildRegion.getAttributes()).isNotNull(); + assertThat(nativeChildRegion.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.REPLICATE); - Region springReplicateRegion = applicationContext.getBean("SpringReplicateRegion", Region.class); + Region springReplicateRegion = applicationContext.getBean("SpringReplicateRegion", Region.class); - assertNotNull(springReplicateRegion); - assertEquals("SpringReplicateRegion", springReplicateRegion.getName()); - assertEquals("/SpringReplicateRegion", springReplicateRegion.getFullPath()); - assertNotNull(springReplicateRegion.getAttributes()); - assertEquals(DataPolicy.REPLICATE, springReplicateRegion.getAttributes().getDataPolicy()); + assertThat(springReplicateRegion).isNotNull(); + assertThat(springReplicateRegion.getName()).isEqualTo("SpringReplicateRegion"); + assertThat(springReplicateRegion.getFullPath()).isEqualTo("/SpringReplicateRegion"); + assertThat(springReplicateRegion.getAttributes()).isNotNull(); + assertThat(springReplicateRegion.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.REPLICATE); } finally { closeApplicationContext(applicationContext); @@ -236,30 +235,32 @@ public class RegionLookupIntegrationTests { ConfigurableApplicationContext applicationContext = null; try { + applicationContext = createApplicationContext("/org/springframework/data/gemfire/enableClientRegionLookupsTest.xml"); - assertNotNull(applicationContext); - assertTrue(applicationContext.containsBean("NativeClientRegion")); - assertTrue(applicationContext.containsBean("NativeClientParentRegion")); - assertTrue(applicationContext.containsBean("/NativeClientParentRegion/NativeClientChildRegion")); + assertThat(applicationContext).isNotNull(); + assertThat(applicationContext.containsBean("NativeClientRegion")).isTrue(); + assertThat(applicationContext.containsBean("NativeClientParentRegion")).isTrue(); + assertThat(applicationContext.containsBean("/NativeClientParentRegion/NativeClientChildRegion")).isTrue(); - Region nativeClientRegion = applicationContext.getBean("NativeClientRegion", Region.class); + Region nativeClientRegion = applicationContext.getBean("NativeClientRegion", Region.class); - assertNotNull(nativeClientRegion); - assertEquals("NativeClientRegion", nativeClientRegion.getName()); - assertEquals("/NativeClientRegion", nativeClientRegion.getFullPath()); - assertNotNull(nativeClientRegion.getAttributes()); - assertFalse(nativeClientRegion.getAttributes().getCloningEnabled()); - assertEquals(DataPolicy.NORMAL, nativeClientRegion.getAttributes().getDataPolicy()); + assertThat(nativeClientRegion).isNotNull(); + assertThat(nativeClientRegion.getName()).isEqualTo("NativeClientRegion"); + assertThat(nativeClientRegion.getFullPath()).isEqualTo("/NativeClientRegion"); + assertThat(nativeClientRegion.getAttributes()).isNotNull(); + assertThat(nativeClientRegion.getAttributes().getCloningEnabled()).isFalse(); + assertThat(nativeClientRegion.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.NORMAL); - Region nativeClientChildRegion = applicationContext.getBean("/NativeClientParentRegion/NativeClientChildRegion", - Region.class); + Region nativeClientChildRegion = + applicationContext.getBean("/NativeClientParentRegion/NativeClientChildRegion", Region.class); - assertNotNull(nativeClientChildRegion); - assertEquals("NativeClientChildRegion", nativeClientChildRegion.getName()); - assertEquals("/NativeClientParentRegion/NativeClientChildRegion", nativeClientChildRegion.getFullPath()); - assertNotNull(nativeClientChildRegion.getAttributes()); - assertEquals(DataPolicy.NORMAL, nativeClientChildRegion.getAttributes().getDataPolicy()); + assertThat(nativeClientChildRegion).isNotNull(); + assertThat(nativeClientChildRegion.getName()).isEqualTo("NativeClientChildRegion"); + assertThat(nativeClientChildRegion.getFullPath()) + .isEqualTo("/NativeClientParentRegion/NativeClientChildRegion"); + assertThat(nativeClientChildRegion.getAttributes()).isNotNull(); + assertThat(nativeClientChildRegion.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.NORMAL); } finally { closeApplicationContext(applicationContext); diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/RegionShortcutConverterTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/RegionShortcutConverterUnitTests.java similarity index 57% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/RegionShortcutConverterTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/RegionShortcutConverterUnitTests.java index 58d58221..43cb1c9b 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/RegionShortcutConverterTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/RegionShortcutConverterUnitTests.java @@ -13,53 +13,52 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.springframework.data.gemfire; -import static org.junit.Assert.assertEquals; - -import org.apache.geode.cache.RegionShortcut; +import static org.assertj.core.api.Assertions.assertThat; import org.junit.Test; +import org.apache.geode.cache.RegionShortcut; + /** - * The RegionShortcutConverterTest class is a test suite of test cases testing the contract and functionality of the - * RegionShortcutConverter class + * Unit Tests for {@link RegionShortcutConverter}. * * @author John Blum * @see org.junit.Test - * @see org.springframework.data.gemfire.RegionShortcutConverter * @see org.apache.geode.cache.RegionShortcut + * @see org.springframework.data.gemfire.RegionShortcutConverter * @since 1.3.4 */ -public class RegionShortcutConverterTest { +public class RegionShortcutConverterUnitTests { private final RegionShortcutConverter converter = new RegionShortcutConverter(); @Test public void testToUpperCase() { - assertEquals("TEST", RegionShortcutConverter.toUpperCase("test")); - assertEquals("TEST", RegionShortcutConverter.toUpperCase(" Test ")); - assertEquals("", RegionShortcutConverter.toUpperCase("")); - assertEquals("", RegionShortcutConverter.toUpperCase(" ")); - assertEquals("NULL", RegionShortcutConverter.toUpperCase("null")); - assertEquals("null", RegionShortcutConverter.toUpperCase(null)); + + assertThat(RegionShortcutConverter.toUpperCase("test")).isEqualTo("TEST"); + assertThat(RegionShortcutConverter.toUpperCase(" Test ")).isEqualTo("TEST"); + assertThat(RegionShortcutConverter.toUpperCase("")).isEqualTo(""); + assertThat(RegionShortcutConverter.toUpperCase(" ")).isEqualTo(""); + assertThat(RegionShortcutConverter.toUpperCase("null")).isEqualTo("NULL"); + assertThat(RegionShortcutConverter.toUpperCase(null)).isEqualTo("null"); } @Test public void testConvert() { + for (RegionShortcut shortcut : RegionShortcut.values()) { - assertEquals(shortcut, converter.convert(shortcut.name())); + assertThat(converter.convert(shortcut.name())).isEqualTo(shortcut); } - assertEquals(RegionShortcut.PARTITION_PROXY, converter.convert("Partition_Proxy")); - assertEquals(RegionShortcut.REPLICATE_OVERFLOW, converter.convert("replicate_overflow")); - assertEquals(RegionShortcut.LOCAL_HEAP_LRU, converter.convert("local_Heap_LRU")); + assertThat(converter.convert("Partition_Proxy")).isEqualTo(RegionShortcut.PARTITION_PROXY); + assertThat(converter.convert("replicate_overflow")).isEqualTo(RegionShortcut.REPLICATE_OVERFLOW); + assertThat(converter.convert("local_Heap_LRU")).isEqualTo(RegionShortcut.LOCAL_HEAP_LRU); } @Test(expected = IllegalArgumentException.class) public void testConvertWithIllegalEnumeratedValue() { converter.convert("localPersistentOverflow"); } - } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/RegionShortcutWrapperTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/RegionShortcutWrapperTest.java deleted file mode 100644 index cbfdd978..00000000 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/RegionShortcutWrapperTest.java +++ /dev/null @@ -1,305 +0,0 @@ -/* - * Copyright 2016-2021 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -package org.springframework.data.gemfire; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import org.apache.geode.cache.RegionShortcut; - -import org.junit.Test; - -/** - * The RegionShortcutWrapperTest class is a test suite of test cases testing the contract and functionality of the - * RegionShortcutWrapper enum class type. - * - * @author John Blum - * @see org.junit.Test - * @see RegionShortcutWrapper - * @see org.apache.geode.cache.RegionShortcut - * @since 1.4.0 - */ -public class RegionShortcutWrapperTest { - - @Test - public void oneForOneMapping() { - for (RegionShortcut shortcut : RegionShortcut.values()) { - RegionShortcutWrapper wrapper = RegionShortcutWrapper.valueOf(shortcut.name()); - - assertNotNull(wrapper); - assertFalse(RegionShortcutWrapper.UNSPECIFIED.equals(wrapper)); - } - } - - @Test - public void unspecifiedRegionShortcut() { - assertEquals(RegionShortcutWrapper.UNSPECIFIED, RegionShortcutWrapper.valueOf((RegionShortcut) null)); - } - - @Test - public void isHeapLru() { - assertFalse(RegionShortcutWrapper.LOCAL.isHeapLru()); - assertTrue(RegionShortcutWrapper.LOCAL_HEAP_LRU.isHeapLru()); - assertFalse(RegionShortcutWrapper.LOCAL_OVERFLOW.isHeapLru()); - assertFalse(RegionShortcutWrapper.LOCAL_PERSISTENT.isHeapLru()); - assertFalse(RegionShortcutWrapper.LOCAL_PERSISTENT_OVERFLOW.isHeapLru()); - assertFalse(RegionShortcutWrapper.PARTITION.isHeapLru()); - assertTrue(RegionShortcutWrapper.PARTITION_HEAP_LRU.isHeapLru()); - assertFalse(RegionShortcutWrapper.PARTITION_OVERFLOW.isHeapLru()); - assertFalse(RegionShortcutWrapper.PARTITION_PERSISTENT.isHeapLru()); - assertFalse(RegionShortcutWrapper.PARTITION_PERSISTENT_OVERFLOW.isHeapLru()); - assertFalse(RegionShortcutWrapper.PARTITION_PROXY.isHeapLru()); - assertFalse(RegionShortcutWrapper.PARTITION_PROXY_REDUNDANT.isHeapLru()); - assertFalse(RegionShortcutWrapper.PARTITION_REDUNDANT.isHeapLru()); - assertTrue(RegionShortcutWrapper.PARTITION_REDUNDANT_HEAP_LRU.isHeapLru()); - assertFalse(RegionShortcutWrapper.PARTITION_REDUNDANT_OVERFLOW.isHeapLru()); - assertFalse(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT.isHeapLru()); - assertFalse(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT_OVERFLOW.isHeapLru()); - assertFalse(RegionShortcutWrapper.REPLICATE.isHeapLru()); - assertTrue(RegionShortcutWrapper.REPLICATE_HEAP_LRU.isHeapLru()); - assertFalse(RegionShortcutWrapper.REPLICATE_OVERFLOW.isHeapLru()); - assertFalse(RegionShortcutWrapper.REPLICATE_PERSISTENT.isHeapLru()); - assertFalse(RegionShortcutWrapper.REPLICATE_PERSISTENT_OVERFLOW.isHeapLru()); - assertFalse(RegionShortcutWrapper.REPLICATE_PROXY.isHeapLru()); - assertFalse(RegionShortcutWrapper.UNSPECIFIED.isHeapLru()); - } - - @Test - public void isLocal() { - assertTrue(RegionShortcutWrapper.LOCAL.isLocal()); - assertTrue(RegionShortcutWrapper.LOCAL_HEAP_LRU.isLocal()); - assertTrue(RegionShortcutWrapper.LOCAL_OVERFLOW.isLocal()); - assertTrue(RegionShortcutWrapper.LOCAL_PERSISTENT.isLocal()); - assertTrue(RegionShortcutWrapper.LOCAL_PERSISTENT_OVERFLOW.isLocal()); - assertFalse(RegionShortcutWrapper.PARTITION.isLocal()); - assertFalse(RegionShortcutWrapper.PARTITION_HEAP_LRU.isLocal()); - assertFalse(RegionShortcutWrapper.PARTITION_OVERFLOW.isLocal()); - assertFalse(RegionShortcutWrapper.PARTITION_PERSISTENT.isLocal()); - assertFalse(RegionShortcutWrapper.PARTITION_PERSISTENT_OVERFLOW.isLocal()); - assertFalse(RegionShortcutWrapper.PARTITION_PROXY.isLocal()); - assertFalse(RegionShortcutWrapper.PARTITION_PROXY_REDUNDANT.isLocal()); - assertFalse(RegionShortcutWrapper.PARTITION_REDUNDANT.isLocal()); - assertFalse(RegionShortcutWrapper.PARTITION_REDUNDANT_HEAP_LRU.isLocal()); - assertFalse(RegionShortcutWrapper.PARTITION_REDUNDANT_OVERFLOW.isLocal()); - assertFalse(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT.isLocal()); - assertFalse(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT_OVERFLOW.isLocal()); - assertFalse(RegionShortcutWrapper.REPLICATE.isLocal()); - assertFalse(RegionShortcutWrapper.REPLICATE_HEAP_LRU.isLocal()); - assertFalse(RegionShortcutWrapper.REPLICATE_OVERFLOW.isLocal()); - assertFalse(RegionShortcutWrapper.REPLICATE_PERSISTENT.isLocal()); - assertFalse(RegionShortcutWrapper.REPLICATE_PERSISTENT_OVERFLOW.isLocal()); - assertFalse(RegionShortcutWrapper.REPLICATE_PROXY.isLocal()); - assertFalse(RegionShortcutWrapper.UNSPECIFIED.isLocal()); - } - - @Test - public void isOverflow() { - assertFalse(RegionShortcutWrapper.LOCAL.isOverflow()); - assertFalse(RegionShortcutWrapper.LOCAL_HEAP_LRU.isOverflow()); - assertTrue(RegionShortcutWrapper.LOCAL_OVERFLOW.isOverflow()); - assertFalse(RegionShortcutWrapper.LOCAL_PERSISTENT.isOverflow()); - assertTrue(RegionShortcutWrapper.LOCAL_PERSISTENT_OVERFLOW.isOverflow()); - assertFalse(RegionShortcutWrapper.PARTITION.isOverflow()); - assertFalse(RegionShortcutWrapper.PARTITION_HEAP_LRU.isOverflow()); - assertTrue(RegionShortcutWrapper.PARTITION_OVERFLOW.isOverflow()); - assertFalse(RegionShortcutWrapper.PARTITION_PERSISTENT.isOverflow()); - assertTrue(RegionShortcutWrapper.PARTITION_PERSISTENT_OVERFLOW.isOverflow()); - assertFalse(RegionShortcutWrapper.PARTITION_PROXY.isOverflow()); - assertFalse(RegionShortcutWrapper.PARTITION_PROXY_REDUNDANT.isOverflow()); - assertFalse(RegionShortcutWrapper.PARTITION_REDUNDANT.isOverflow()); - assertFalse(RegionShortcutWrapper.PARTITION_REDUNDANT_HEAP_LRU.isOverflow()); - assertTrue(RegionShortcutWrapper.PARTITION_REDUNDANT_OVERFLOW.isOverflow()); - assertFalse(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT.isOverflow()); - assertTrue(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT_OVERFLOW.isOverflow()); - assertFalse(RegionShortcutWrapper.REPLICATE.isOverflow()); - assertFalse(RegionShortcutWrapper.REPLICATE_HEAP_LRU.isOverflow()); - assertTrue(RegionShortcutWrapper.REPLICATE_OVERFLOW.isOverflow()); - assertFalse(RegionShortcutWrapper.REPLICATE_PERSISTENT.isOverflow()); - assertTrue(RegionShortcutWrapper.REPLICATE_PERSISTENT_OVERFLOW.isOverflow()); - assertFalse(RegionShortcutWrapper.REPLICATE_PROXY.isOverflow()); - assertFalse(RegionShortcutWrapper.UNSPECIFIED.isOverflow()); - } - - @Test - public void isPartition() { - assertFalse(RegionShortcutWrapper.LOCAL.isPartition()); - assertFalse(RegionShortcutWrapper.LOCAL_HEAP_LRU.isPartition()); - assertFalse(RegionShortcutWrapper.LOCAL_OVERFLOW.isPartition()); - assertFalse(RegionShortcutWrapper.LOCAL_PERSISTENT.isPartition()); - assertFalse(RegionShortcutWrapper.LOCAL_PERSISTENT_OVERFLOW.isPartition()); - assertTrue(RegionShortcutWrapper.PARTITION.isPartition()); - assertTrue(RegionShortcutWrapper.PARTITION_HEAP_LRU.isPartition()); - assertTrue(RegionShortcutWrapper.PARTITION_OVERFLOW.isPartition()); - assertTrue(RegionShortcutWrapper.PARTITION_PERSISTENT.isPartition()); - assertTrue(RegionShortcutWrapper.PARTITION_PERSISTENT_OVERFLOW.isPartition()); - assertTrue(RegionShortcutWrapper.PARTITION_PROXY.isPartition()); - assertTrue(RegionShortcutWrapper.PARTITION_PROXY_REDUNDANT.isPartition()); - assertTrue(RegionShortcutWrapper.PARTITION_REDUNDANT.isPartition()); - assertTrue(RegionShortcutWrapper.PARTITION_REDUNDANT_HEAP_LRU.isPartition()); - assertTrue(RegionShortcutWrapper.PARTITION_REDUNDANT_OVERFLOW.isPartition()); - assertTrue(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT.isPartition()); - assertTrue(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT_OVERFLOW.isPartition()); - assertFalse(RegionShortcutWrapper.REPLICATE.isPartition()); - assertFalse(RegionShortcutWrapper.REPLICATE_HEAP_LRU.isPartition()); - assertFalse(RegionShortcutWrapper.REPLICATE_OVERFLOW.isPartition()); - assertFalse(RegionShortcutWrapper.REPLICATE_PERSISTENT.isPartition()); - assertFalse(RegionShortcutWrapper.REPLICATE_PERSISTENT_OVERFLOW.isPartition()); - assertFalse(RegionShortcutWrapper.REPLICATE_PROXY.isPartition()); - assertFalse(RegionShortcutWrapper.UNSPECIFIED.isPartition()); - } - - @Test - public void isPersistent() { - assertFalse(RegionShortcutWrapper.LOCAL.isPersistent()); - assertFalse(RegionShortcutWrapper.LOCAL_HEAP_LRU.isPersistent()); - assertFalse(RegionShortcutWrapper.LOCAL_OVERFLOW.isPersistent()); - assertTrue(RegionShortcutWrapper.LOCAL_PERSISTENT.isPersistent()); - assertTrue(RegionShortcutWrapper.LOCAL_PERSISTENT_OVERFLOW.isPersistent()); - assertFalse(RegionShortcutWrapper.PARTITION.isPersistent()); - assertFalse(RegionShortcutWrapper.PARTITION_HEAP_LRU.isPersistent()); - assertFalse(RegionShortcutWrapper.PARTITION_OVERFLOW.isPersistent()); - assertTrue(RegionShortcutWrapper.PARTITION_PERSISTENT.isPersistent()); - assertTrue(RegionShortcutWrapper.PARTITION_PERSISTENT_OVERFLOW.isPersistent()); - assertFalse(RegionShortcutWrapper.PARTITION_PROXY.isPersistent()); - assertFalse(RegionShortcutWrapper.PARTITION_PROXY_REDUNDANT.isPersistent()); - assertFalse(RegionShortcutWrapper.PARTITION_REDUNDANT.isPersistent()); - assertFalse(RegionShortcutWrapper.PARTITION_REDUNDANT_HEAP_LRU.isPersistent()); - assertFalse(RegionShortcutWrapper.PARTITION_REDUNDANT_OVERFLOW.isPersistent()); - assertTrue(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT.isPersistent()); - assertTrue(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT_OVERFLOW.isPersistent()); - assertFalse(RegionShortcutWrapper.REPLICATE.isPersistent()); - assertFalse(RegionShortcutWrapper.REPLICATE_HEAP_LRU.isPersistent()); - assertFalse(RegionShortcutWrapper.REPLICATE_OVERFLOW.isPersistent()); - assertTrue(RegionShortcutWrapper.REPLICATE_PERSISTENT.isPersistent()); - assertTrue(RegionShortcutWrapper.REPLICATE_PERSISTENT_OVERFLOW.isPersistent()); - assertFalse(RegionShortcutWrapper.REPLICATE_PROXY.isPersistent()); - assertFalse(RegionShortcutWrapper.UNSPECIFIED.isPersistent()); - } - - @Test - public void isPersistentOverflow() { - assertFalse(RegionShortcutWrapper.LOCAL.isPersistentOverflow()); - assertFalse(RegionShortcutWrapper.LOCAL_HEAP_LRU.isPersistentOverflow()); - assertFalse(RegionShortcutWrapper.LOCAL_OVERFLOW.isPersistentOverflow()); - assertFalse(RegionShortcutWrapper.LOCAL_PERSISTENT.isPersistentOverflow()); - assertTrue(RegionShortcutWrapper.LOCAL_PERSISTENT_OVERFLOW.isPersistentOverflow()); - assertFalse(RegionShortcutWrapper.PARTITION.isPersistentOverflow()); - assertFalse(RegionShortcutWrapper.PARTITION_HEAP_LRU.isPersistentOverflow()); - assertFalse(RegionShortcutWrapper.PARTITION_OVERFLOW.isPersistentOverflow()); - assertFalse(RegionShortcutWrapper.PARTITION_PERSISTENT.isPersistentOverflow()); - assertTrue(RegionShortcutWrapper.PARTITION_PERSISTENT_OVERFLOW.isPersistentOverflow()); - assertFalse(RegionShortcutWrapper.PARTITION_PROXY.isPersistentOverflow()); - assertFalse(RegionShortcutWrapper.PARTITION_PROXY_REDUNDANT.isPersistentOverflow()); - assertFalse(RegionShortcutWrapper.PARTITION_REDUNDANT.isPersistentOverflow()); - assertFalse(RegionShortcutWrapper.PARTITION_REDUNDANT_HEAP_LRU.isPersistentOverflow()); - assertFalse(RegionShortcutWrapper.PARTITION_REDUNDANT_OVERFLOW.isPersistentOverflow()); - assertFalse(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT.isPersistentOverflow()); - assertTrue(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT_OVERFLOW.isPersistentOverflow()); - assertFalse(RegionShortcutWrapper.REPLICATE.isPersistentOverflow()); - assertFalse(RegionShortcutWrapper.REPLICATE_HEAP_LRU.isPersistentOverflow()); - assertFalse(RegionShortcutWrapper.REPLICATE_OVERFLOW.isPersistentOverflow()); - assertFalse(RegionShortcutWrapper.REPLICATE_PERSISTENT.isPersistentOverflow()); - assertTrue(RegionShortcutWrapper.REPLICATE_PERSISTENT_OVERFLOW.isPersistentOverflow()); - assertFalse(RegionShortcutWrapper.REPLICATE_PROXY.isPersistentOverflow()); - assertFalse(RegionShortcutWrapper.UNSPECIFIED.isPersistentOverflow()); - } - @Test - public void isProxy() { - assertFalse(RegionShortcutWrapper.LOCAL.isProxy()); - assertFalse(RegionShortcutWrapper.LOCAL_HEAP_LRU.isProxy()); - assertFalse(RegionShortcutWrapper.LOCAL_OVERFLOW.isProxy()); - assertFalse(RegionShortcutWrapper.LOCAL_PERSISTENT.isProxy()); - assertFalse(RegionShortcutWrapper.LOCAL_PERSISTENT_OVERFLOW.isProxy()); - assertFalse(RegionShortcutWrapper.PARTITION.isProxy()); - assertFalse(RegionShortcutWrapper.PARTITION_HEAP_LRU.isProxy()); - assertFalse(RegionShortcutWrapper.PARTITION_OVERFLOW.isProxy()); - assertFalse(RegionShortcutWrapper.PARTITION_PERSISTENT.isProxy()); - assertFalse(RegionShortcutWrapper.PARTITION_PERSISTENT_OVERFLOW.isProxy()); - assertTrue(RegionShortcutWrapper.PARTITION_PROXY.isProxy()); - assertTrue(RegionShortcutWrapper.PARTITION_PROXY_REDUNDANT.isProxy()); - assertFalse(RegionShortcutWrapper.PARTITION_REDUNDANT.isProxy()); - assertFalse(RegionShortcutWrapper.PARTITION_REDUNDANT_HEAP_LRU.isProxy()); - assertFalse(RegionShortcutWrapper.PARTITION_REDUNDANT_OVERFLOW.isProxy()); - assertFalse(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT.isProxy()); - assertFalse(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT_OVERFLOW.isProxy()); - assertFalse(RegionShortcutWrapper.REPLICATE.isProxy()); - assertFalse(RegionShortcutWrapper.REPLICATE_HEAP_LRU.isProxy()); - assertFalse(RegionShortcutWrapper.REPLICATE_OVERFLOW.isProxy()); - assertFalse(RegionShortcutWrapper.REPLICATE_PERSISTENT.isProxy()); - assertFalse(RegionShortcutWrapper.REPLICATE_PERSISTENT_OVERFLOW.isProxy()); - assertTrue(RegionShortcutWrapper.REPLICATE_PROXY.isProxy()); - assertFalse(RegionShortcutWrapper.UNSPECIFIED.isProxy()); - } - @Test - public void isRedundant() { - assertFalse(RegionShortcutWrapper.LOCAL.isRedundant()); - assertFalse(RegionShortcutWrapper.LOCAL_HEAP_LRU.isRedundant()); - assertFalse(RegionShortcutWrapper.LOCAL_OVERFLOW.isRedundant()); - assertFalse(RegionShortcutWrapper.LOCAL_PERSISTENT.isRedundant()); - assertFalse(RegionShortcutWrapper.LOCAL_PERSISTENT_OVERFLOW.isRedundant()); - assertFalse(RegionShortcutWrapper.PARTITION.isRedundant()); - assertFalse(RegionShortcutWrapper.PARTITION_HEAP_LRU.isRedundant()); - assertFalse(RegionShortcutWrapper.PARTITION_OVERFLOW.isRedundant()); - assertFalse(RegionShortcutWrapper.PARTITION_PERSISTENT.isRedundant()); - assertFalse(RegionShortcutWrapper.PARTITION_PERSISTENT_OVERFLOW.isRedundant()); - assertFalse(RegionShortcutWrapper.PARTITION_PROXY.isRedundant()); - assertTrue(RegionShortcutWrapper.PARTITION_PROXY_REDUNDANT.isRedundant()); - assertTrue(RegionShortcutWrapper.PARTITION_REDUNDANT.isRedundant()); - assertTrue(RegionShortcutWrapper.PARTITION_REDUNDANT_HEAP_LRU.isRedundant()); - assertTrue(RegionShortcutWrapper.PARTITION_REDUNDANT_OVERFLOW.isRedundant()); - assertTrue(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT.isRedundant()); - assertTrue(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT_OVERFLOW.isRedundant()); - assertFalse(RegionShortcutWrapper.REPLICATE.isRedundant()); - assertFalse(RegionShortcutWrapper.REPLICATE_HEAP_LRU.isRedundant()); - assertFalse(RegionShortcutWrapper.REPLICATE_OVERFLOW.isRedundant()); - assertFalse(RegionShortcutWrapper.REPLICATE_PERSISTENT.isRedundant()); - assertFalse(RegionShortcutWrapper.REPLICATE_PERSISTENT_OVERFLOW.isRedundant()); - assertFalse(RegionShortcutWrapper.REPLICATE_PROXY.isRedundant()); - assertFalse(RegionShortcutWrapper.UNSPECIFIED.isRedundant()); - } - - @Test - public void isReplicate() { - assertFalse(RegionShortcutWrapper.LOCAL.isReplicate()); - assertFalse(RegionShortcutWrapper.LOCAL_HEAP_LRU.isReplicate()); - assertFalse(RegionShortcutWrapper.LOCAL_OVERFLOW.isReplicate()); - assertFalse(RegionShortcutWrapper.LOCAL_PERSISTENT.isReplicate()); - assertFalse(RegionShortcutWrapper.LOCAL_PERSISTENT_OVERFLOW.isReplicate()); - assertFalse(RegionShortcutWrapper.PARTITION.isReplicate()); - assertFalse(RegionShortcutWrapper.PARTITION_HEAP_LRU.isReplicate()); - assertFalse(RegionShortcutWrapper.PARTITION_OVERFLOW.isReplicate()); - assertFalse(RegionShortcutWrapper.PARTITION_PERSISTENT.isReplicate()); - assertFalse(RegionShortcutWrapper.PARTITION_PERSISTENT_OVERFLOW.isReplicate()); - assertFalse(RegionShortcutWrapper.PARTITION_PROXY.isReplicate()); - assertFalse(RegionShortcutWrapper.PARTITION_PROXY_REDUNDANT.isReplicate()); - assertFalse(RegionShortcutWrapper.PARTITION_REDUNDANT.isReplicate()); - assertFalse(RegionShortcutWrapper.PARTITION_REDUNDANT_HEAP_LRU.isReplicate()); - assertFalse(RegionShortcutWrapper.PARTITION_REDUNDANT_OVERFLOW.isReplicate()); - assertFalse(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT.isReplicate()); - assertFalse(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT_OVERFLOW.isReplicate()); - assertTrue(RegionShortcutWrapper.REPLICATE.isReplicate()); - assertTrue(RegionShortcutWrapper.REPLICATE_HEAP_LRU.isReplicate()); - assertTrue(RegionShortcutWrapper.REPLICATE_OVERFLOW.isReplicate()); - assertTrue(RegionShortcutWrapper.REPLICATE_PERSISTENT.isReplicate()); - assertTrue(RegionShortcutWrapper.REPLICATE_PERSISTENT_OVERFLOW.isReplicate()); - assertTrue(RegionShortcutWrapper.REPLICATE_PROXY.isReplicate()); - assertFalse(RegionShortcutWrapper.UNSPECIFIED.isReplicate()); - } -} diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/RegionShortcutWrapperUnitTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/RegionShortcutWrapperUnitTests.java new file mode 100644 index 00000000..831af03f --- /dev/null +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/RegionShortcutWrapperUnitTests.java @@ -0,0 +1,311 @@ +/* + * Copyright 2016-2021 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * 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; + +import org.junit.Test; + +import org.apache.geode.cache.RegionShortcut; + +/** + * Unit Tests for {@link RegionShortcutWrapper} enum. + * + * @author John Blum + * @see org.junit.Test + * @see org.apache.geode.cache.RegionShortcut + * @see org.springframework.data.gemfire.RegionShortcutWrapper + * @since 1.4.0 + */ +public class RegionShortcutWrapperUnitTests { + + @Test + public void oneForOneMapping() { + + for (RegionShortcut shortcut : RegionShortcut.values()) { + + RegionShortcutWrapper wrapper = RegionShortcutWrapper.valueOf(shortcut.name()); + + assertThat(wrapper).isNotNull(); + assertThat(RegionShortcutWrapper.UNSPECIFIED.equals(wrapper)).isFalse(); + } + } + + @Test + public void unspecifiedRegionShortcut() { + assertThat(RegionShortcutWrapper.valueOf((RegionShortcut) null)).isEqualTo(RegionShortcutWrapper.UNSPECIFIED); + } + + @Test + public void isHeapLru() { + + assertThat(RegionShortcutWrapper.LOCAL.isHeapLru()).isFalse(); + assertThat(RegionShortcutWrapper.LOCAL_HEAP_LRU.isHeapLru()).isTrue(); + assertThat(RegionShortcutWrapper.LOCAL_OVERFLOW.isHeapLru()).isFalse(); + assertThat(RegionShortcutWrapper.LOCAL_PERSISTENT.isHeapLru()).isFalse(); + assertThat(RegionShortcutWrapper.LOCAL_PERSISTENT_OVERFLOW.isHeapLru()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION.isHeapLru()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_HEAP_LRU.isHeapLru()).isTrue(); + assertThat(RegionShortcutWrapper.PARTITION_OVERFLOW.isHeapLru()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_PERSISTENT.isHeapLru()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_PERSISTENT_OVERFLOW.isHeapLru()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_PROXY.isHeapLru()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_PROXY_REDUNDANT.isHeapLru()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT.isHeapLru()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_HEAP_LRU.isHeapLru()).isTrue(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_OVERFLOW.isHeapLru()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT.isHeapLru()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT_OVERFLOW.isHeapLru()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE.isHeapLru()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE_HEAP_LRU.isHeapLru()).isTrue(); + assertThat(RegionShortcutWrapper.REPLICATE_OVERFLOW.isHeapLru()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE_PERSISTENT.isHeapLru()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE_PERSISTENT_OVERFLOW.isHeapLru()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE_PROXY.isHeapLru()).isFalse(); + assertThat(RegionShortcutWrapper.UNSPECIFIED.isHeapLru()).isFalse(); + } + + @Test + public void isLocal() { + + assertThat(RegionShortcutWrapper.LOCAL.isLocal()).isTrue(); + assertThat(RegionShortcutWrapper.LOCAL_HEAP_LRU.isLocal()).isTrue(); + assertThat(RegionShortcutWrapper.LOCAL_OVERFLOW.isLocal()).isTrue(); + assertThat(RegionShortcutWrapper.LOCAL_PERSISTENT.isLocal()).isTrue(); + assertThat(RegionShortcutWrapper.LOCAL_PERSISTENT_OVERFLOW.isLocal()).isTrue(); + assertThat(RegionShortcutWrapper.PARTITION.isLocal()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_HEAP_LRU.isLocal()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_OVERFLOW.isLocal()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_PERSISTENT.isLocal()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_PERSISTENT_OVERFLOW.isLocal()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_PROXY.isLocal()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_PROXY_REDUNDANT.isLocal()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT.isLocal()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_HEAP_LRU.isLocal()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_OVERFLOW.isLocal()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT.isLocal()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT_OVERFLOW.isLocal()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE.isLocal()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE_HEAP_LRU.isLocal()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE_OVERFLOW.isLocal()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE_PERSISTENT.isLocal()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE_PERSISTENT_OVERFLOW.isLocal()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE_PROXY.isLocal()).isFalse(); + assertThat(RegionShortcutWrapper.UNSPECIFIED.isLocal()).isFalse(); + } + + @Test + public void isOverflow() { + + assertThat(RegionShortcutWrapper.LOCAL.isOverflow()).isFalse(); + assertThat(RegionShortcutWrapper.LOCAL_HEAP_LRU.isOverflow()).isFalse(); + assertThat(RegionShortcutWrapper.LOCAL_OVERFLOW.isOverflow()).isTrue(); + assertThat(RegionShortcutWrapper.LOCAL_PERSISTENT.isOverflow()).isFalse(); + assertThat(RegionShortcutWrapper.LOCAL_PERSISTENT_OVERFLOW.isOverflow()).isTrue(); + assertThat(RegionShortcutWrapper.PARTITION.isOverflow()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_HEAP_LRU.isOverflow()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_OVERFLOW.isOverflow()).isTrue(); + assertThat(RegionShortcutWrapper.PARTITION_PERSISTENT.isOverflow()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_PERSISTENT_OVERFLOW.isOverflow()).isTrue(); + assertThat(RegionShortcutWrapper.PARTITION_PROXY.isOverflow()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_PROXY_REDUNDANT.isOverflow()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT.isOverflow()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_HEAP_LRU.isOverflow()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_OVERFLOW.isOverflow()).isTrue(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT.isOverflow()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT_OVERFLOW.isOverflow()).isTrue(); + assertThat(RegionShortcutWrapper.REPLICATE.isOverflow()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE_HEAP_LRU.isOverflow()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE_OVERFLOW.isOverflow()).isTrue(); + assertThat(RegionShortcutWrapper.REPLICATE_PERSISTENT.isOverflow()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE_PERSISTENT_OVERFLOW.isOverflow()).isTrue(); + assertThat(RegionShortcutWrapper.REPLICATE_PROXY.isOverflow()).isFalse(); + assertThat(RegionShortcutWrapper.UNSPECIFIED.isOverflow()).isFalse(); + } + + @Test + public void isPartition() { + + assertThat(RegionShortcutWrapper.LOCAL.isPartition()).isFalse(); + assertThat(RegionShortcutWrapper.LOCAL_HEAP_LRU.isPartition()).isFalse(); + assertThat(RegionShortcutWrapper.LOCAL_OVERFLOW.isPartition()).isFalse(); + assertThat(RegionShortcutWrapper.LOCAL_PERSISTENT.isPartition()).isFalse(); + assertThat(RegionShortcutWrapper.LOCAL_PERSISTENT_OVERFLOW.isPartition()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION.isPartition()).isTrue(); + assertThat(RegionShortcutWrapper.PARTITION_HEAP_LRU.isPartition()).isTrue(); + assertThat(RegionShortcutWrapper.PARTITION_OVERFLOW.isPartition()).isTrue(); + assertThat(RegionShortcutWrapper.PARTITION_PERSISTENT.isPartition()).isTrue(); + assertThat(RegionShortcutWrapper.PARTITION_PERSISTENT_OVERFLOW.isPartition()).isTrue(); + assertThat(RegionShortcutWrapper.PARTITION_PROXY.isPartition()).isTrue(); + assertThat(RegionShortcutWrapper.PARTITION_PROXY_REDUNDANT.isPartition()).isTrue(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT.isPartition()).isTrue(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_HEAP_LRU.isPartition()).isTrue(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_OVERFLOW.isPartition()).isTrue(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT.isPartition()).isTrue(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT_OVERFLOW.isPartition()).isTrue(); + assertThat(RegionShortcutWrapper.REPLICATE.isPartition()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE_HEAP_LRU.isPartition()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE_OVERFLOW.isPartition()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE_PERSISTENT.isPartition()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE_PERSISTENT_OVERFLOW.isPartition()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE_PROXY.isPartition()).isFalse(); + assertThat(RegionShortcutWrapper.UNSPECIFIED.isPartition()).isFalse(); + } + + @Test + public void isPersistent() { + + assertThat(RegionShortcutWrapper.LOCAL.isPersistent()).isFalse(); + assertThat(RegionShortcutWrapper.LOCAL_HEAP_LRU.isPersistent()).isFalse(); + assertThat(RegionShortcutWrapper.LOCAL_OVERFLOW.isPersistent()).isFalse(); + assertThat(RegionShortcutWrapper.LOCAL_PERSISTENT.isPersistent()).isTrue(); + assertThat(RegionShortcutWrapper.LOCAL_PERSISTENT_OVERFLOW.isPersistent()).isTrue(); + assertThat(RegionShortcutWrapper.PARTITION.isPersistent()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_HEAP_LRU.isPersistent()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_OVERFLOW.isPersistent()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_PERSISTENT.isPersistent()).isTrue(); + assertThat(RegionShortcutWrapper.PARTITION_PERSISTENT_OVERFLOW.isPersistent()).isTrue(); + assertThat(RegionShortcutWrapper.PARTITION_PROXY.isPersistent()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_PROXY_REDUNDANT.isPersistent()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT.isPersistent()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_HEAP_LRU.isPersistent()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_OVERFLOW.isPersistent()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT.isPersistent()).isTrue(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT_OVERFLOW.isPersistent()).isTrue(); + assertThat(RegionShortcutWrapper.REPLICATE.isPersistent()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE_HEAP_LRU.isPersistent()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE_OVERFLOW.isPersistent()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE_PERSISTENT.isPersistent()).isTrue(); + assertThat(RegionShortcutWrapper.REPLICATE_PERSISTENT_OVERFLOW.isPersistent()).isTrue(); + assertThat(RegionShortcutWrapper.REPLICATE_PROXY.isPersistent()).isFalse(); + assertThat(RegionShortcutWrapper.UNSPECIFIED.isPersistent()).isFalse(); + } + + @Test + public void isPersistentOverflow() { + + assertThat(RegionShortcutWrapper.LOCAL.isPersistentOverflow()).isFalse(); + assertThat(RegionShortcutWrapper.LOCAL_HEAP_LRU.isPersistentOverflow()).isFalse(); + assertThat(RegionShortcutWrapper.LOCAL_OVERFLOW.isPersistentOverflow()).isFalse(); + assertThat(RegionShortcutWrapper.LOCAL_PERSISTENT.isPersistentOverflow()).isFalse(); + assertThat(RegionShortcutWrapper.LOCAL_PERSISTENT_OVERFLOW.isPersistentOverflow()).isTrue(); + assertThat(RegionShortcutWrapper.PARTITION.isPersistentOverflow()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_HEAP_LRU.isPersistentOverflow()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_OVERFLOW.isPersistentOverflow()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_PERSISTENT.isPersistentOverflow()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_PERSISTENT_OVERFLOW.isPersistentOverflow()).isTrue(); + assertThat(RegionShortcutWrapper.PARTITION_PROXY.isPersistentOverflow()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_PROXY_REDUNDANT.isPersistentOverflow()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT.isPersistentOverflow()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_HEAP_LRU.isPersistentOverflow()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_OVERFLOW.isPersistentOverflow()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT.isPersistentOverflow()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT_OVERFLOW.isPersistentOverflow()).isTrue(); + assertThat(RegionShortcutWrapper.REPLICATE.isPersistentOverflow()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE_HEAP_LRU.isPersistentOverflow()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE_OVERFLOW.isPersistentOverflow()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE_PERSISTENT.isPersistentOverflow()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE_PERSISTENT_OVERFLOW.isPersistentOverflow()).isTrue(); + assertThat(RegionShortcutWrapper.REPLICATE_PROXY.isPersistentOverflow()).isFalse(); + assertThat(RegionShortcutWrapper.UNSPECIFIED.isPersistentOverflow()).isFalse(); + } + @Test + public void isProxy() { + + assertThat(RegionShortcutWrapper.LOCAL.isProxy()).isFalse(); + assertThat(RegionShortcutWrapper.LOCAL_HEAP_LRU.isProxy()).isFalse(); + assertThat(RegionShortcutWrapper.LOCAL_OVERFLOW.isProxy()).isFalse(); + assertThat(RegionShortcutWrapper.LOCAL_PERSISTENT.isProxy()).isFalse(); + assertThat(RegionShortcutWrapper.LOCAL_PERSISTENT_OVERFLOW.isProxy()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION.isProxy()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_HEAP_LRU.isProxy()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_OVERFLOW.isProxy()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_PERSISTENT.isProxy()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_PERSISTENT_OVERFLOW.isProxy()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_PROXY.isProxy()).isTrue(); + assertThat(RegionShortcutWrapper.PARTITION_PROXY_REDUNDANT.isProxy()).isTrue(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT.isProxy()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_HEAP_LRU.isProxy()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_OVERFLOW.isProxy()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT.isProxy()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT_OVERFLOW.isProxy()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE.isProxy()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE_HEAP_LRU.isProxy()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE_OVERFLOW.isProxy()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE_PERSISTENT.isProxy()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE_PERSISTENT_OVERFLOW.isProxy()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE_PROXY.isProxy()).isTrue(); + assertThat(RegionShortcutWrapper.UNSPECIFIED.isProxy()).isFalse(); + } + @Test + public void isRedundant() { + + assertThat(RegionShortcutWrapper.LOCAL.isRedundant()).isFalse(); + assertThat(RegionShortcutWrapper.LOCAL_HEAP_LRU.isRedundant()).isFalse(); + assertThat(RegionShortcutWrapper.LOCAL_OVERFLOW.isRedundant()).isFalse(); + assertThat(RegionShortcutWrapper.LOCAL_PERSISTENT.isRedundant()).isFalse(); + assertThat(RegionShortcutWrapper.LOCAL_PERSISTENT_OVERFLOW.isRedundant()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION.isRedundant()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_HEAP_LRU.isRedundant()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_OVERFLOW.isRedundant()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_PERSISTENT.isRedundant()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_PERSISTENT_OVERFLOW.isRedundant()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_PROXY.isRedundant()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_PROXY_REDUNDANT.isRedundant()).isTrue(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT.isRedundant()).isTrue(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_HEAP_LRU.isRedundant()).isTrue(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_OVERFLOW.isRedundant()).isTrue(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT.isRedundant()).isTrue(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT_OVERFLOW.isRedundant()).isTrue(); + assertThat(RegionShortcutWrapper.REPLICATE.isRedundant()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE_HEAP_LRU.isRedundant()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE_OVERFLOW.isRedundant()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE_PERSISTENT.isRedundant()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE_PERSISTENT_OVERFLOW.isRedundant()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE_PROXY.isRedundant()).isFalse(); + assertThat(RegionShortcutWrapper.UNSPECIFIED.isRedundant()).isFalse(); + } + + @Test + public void isReplicate() { + + assertThat(RegionShortcutWrapper.LOCAL.isReplicate()).isFalse(); + assertThat(RegionShortcutWrapper.LOCAL_HEAP_LRU.isReplicate()).isFalse(); + assertThat(RegionShortcutWrapper.LOCAL_OVERFLOW.isReplicate()).isFalse(); + assertThat(RegionShortcutWrapper.LOCAL_PERSISTENT.isReplicate()).isFalse(); + assertThat(RegionShortcutWrapper.LOCAL_PERSISTENT_OVERFLOW.isReplicate()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION.isReplicate()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_HEAP_LRU.isReplicate()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_OVERFLOW.isReplicate()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_PERSISTENT.isReplicate()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_PERSISTENT_OVERFLOW.isReplicate()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_PROXY.isReplicate()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_PROXY_REDUNDANT.isReplicate()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT.isReplicate()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_HEAP_LRU.isReplicate()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_OVERFLOW.isReplicate()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT.isReplicate()).isFalse(); + assertThat(RegionShortcutWrapper.PARTITION_REDUNDANT_PERSISTENT_OVERFLOW.isReplicate()).isFalse(); + assertThat(RegionShortcutWrapper.REPLICATE.isReplicate()).isTrue(); + assertThat(RegionShortcutWrapper.REPLICATE_HEAP_LRU.isReplicate()).isTrue(); + assertThat(RegionShortcutWrapper.REPLICATE_OVERFLOW.isReplicate()).isTrue(); + assertThat(RegionShortcutWrapper.REPLICATE_PERSISTENT.isReplicate()).isTrue(); + assertThat(RegionShortcutWrapper.REPLICATE_PERSISTENT_OVERFLOW.isReplicate()).isTrue(); + assertThat(RegionShortcutWrapper.REPLICATE_PROXY.isReplicate()).isTrue(); + assertThat(RegionShortcutWrapper.UNSPECIFIED.isReplicate()).isFalse(); + } +} diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/ReplicatedRegionFactoryBeanTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/ReplicatedRegionFactoryBeanUnitTests.java similarity index 76% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/ReplicatedRegionFactoryBeanTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/ReplicatedRegionFactoryBeanUnitTests.java index cf14d877..e631df18 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/ReplicatedRegionFactoryBeanTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/ReplicatedRegionFactoryBeanUnitTests.java @@ -15,17 +15,17 @@ */ package org.springframework.data.gemfire; -import static org.junit.Assert.assertEquals; +import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; +import org.junit.Test; + import org.apache.geode.cache.DataPolicy; import org.apache.geode.cache.RegionFactory; -import org.junit.Test; - /** * Unit Tests for {@link ReplicatedRegionFactoryBean}. * @@ -37,47 +37,57 @@ import org.junit.Test; * @see org.springframework.data.gemfire.ReplicatedRegionFactoryBean * @since 1.3.3 */ -@SuppressWarnings("unchecked") -public class ReplicatedRegionFactoryBeanTest { +public class ReplicatedRegionFactoryBeanUnitTests { - private final ReplicatedRegionFactoryBean factoryBean = new ReplicatedRegionFactoryBean(); + private final ReplicatedRegionFactoryBean factoryBean = new ReplicatedRegionFactoryBean<>(); - protected RegionFactory createMockRegionFactory() { + @SuppressWarnings("unchecked") + private RegionFactory createMockRegionFactory() { return mock(RegionFactory.class); } @Test public void testResolveDataPolicyWithPersistentUnspecifiedAndDataPolicyUnspecified() { - RegionFactory mockRegionFactory = createMockRegionFactory(); + + RegionFactory mockRegionFactory = createMockRegionFactory(); + factoryBean.resolveDataPolicy(mockRegionFactory, null, (String) null); + verify(mockRegionFactory).setDataPolicy(eq(DataPolicy.REPLICATE)); } @Test public void testResolveDataPolicyWhenNotPersistentAndDataPolicyUnspecified() { - RegionFactory mockRegionFactory = createMockRegionFactory(); + + RegionFactory mockRegionFactory = createMockRegionFactory(); + factoryBean.setPersistent(false); factoryBean.resolveDataPolicy(mockRegionFactory, false, (String) null); + verify(mockRegionFactory).setDataPolicy(eq(DataPolicy.REPLICATE)); } @Test public void testResolveDataPolicyWhenPersistentAndDataPolicyUnspecified() { - RegionFactory mockRegionFactory = createMockRegionFactory(); + + RegionFactory mockRegionFactory = createMockRegionFactory(); + factoryBean.setPersistent(true); factoryBean.resolveDataPolicy(mockRegionFactory, true, (String) null); + verify(mockRegionFactory).setDataPolicy(eq(DataPolicy.PERSISTENT_REPLICATE)); } @Test(expected = IllegalArgumentException.class) public void testResolveDataPolicyWithBlankDataPolicy() { - RegionFactory mockRegionFactory = createMockRegionFactory(); + + RegionFactory mockRegionFactory = createMockRegionFactory(); try { factoryBean.resolveDataPolicy(mockRegionFactory, null, " "); } catch (IllegalArgumentException e) { - assertEquals("Data Policy [ ] is invalid.", e.getMessage()); + assertThat(e.getMessage()).isEqualTo("Data Policy [ ] is invalid."); throw e; } finally { @@ -90,13 +100,14 @@ public class ReplicatedRegionFactoryBeanTest { @Test(expected = IllegalArgumentException.class) public void testResolveDataPolicyWithEmptyDataPolicy() { - RegionFactory mockRegionFactory = createMockRegionFactory(); + + RegionFactory mockRegionFactory = createMockRegionFactory(); try { factoryBean.resolveDataPolicy(mockRegionFactory, null, ""); } catch (IllegalArgumentException e) { - assertEquals("Data Policy [] is invalid.", e.getMessage()); + assertThat(e.getMessage()).isEqualTo("Data Policy [] is invalid."); throw e; } finally { @@ -109,13 +120,14 @@ public class ReplicatedRegionFactoryBeanTest { @Test(expected = IllegalArgumentException.class) public void testResolveDataPolicyWhenPersistentUnspecifiedAndInvalidDataPolicyName() { - RegionFactory mockRegionFactory = createMockRegionFactory(); + + RegionFactory mockRegionFactory = createMockRegionFactory(); try { factoryBean.resolveDataPolicy(mockRegionFactory, null, "INVALID_DATA_POLICY_NAME"); } catch (IllegalArgumentException e) { - assertEquals("Data Policy [INVALID_DATA_POLICY_NAME] is invalid.", e.getMessage()); + assertThat(e.getMessage()).isEqualTo("Data Policy [INVALID_DATA_POLICY_NAME] is invalid."); throw e; } finally { @@ -128,13 +140,14 @@ public class ReplicatedRegionFactoryBeanTest { @Test(expected = IllegalArgumentException.class) public void testResolveDataPolicyWhenPersistentUnspecifiedAndInvalidDataPolicyType() { - RegionFactory mockRegionFactory = createMockRegionFactory(); + + RegionFactory mockRegionFactory = createMockRegionFactory(); try { factoryBean.resolveDataPolicy(mockRegionFactory, null, "PARTITION"); } catch (IllegalArgumentException e) { - assertEquals("Data Policy [PARTITION] is not supported in Replicated Regions.", e.getMessage()); + assertThat(e.getMessage()).isEqualTo("Data Policy [PARTITION] is not supported in Replicated Regions."); throw e; } finally { @@ -145,29 +158,36 @@ public class ReplicatedRegionFactoryBeanTest { @Test public void testResolveDataPolicyWhenPersistentUnspecifiedAndEmptyDataPolicy() { - RegionFactory mockRegionFactory = createMockRegionFactory(); + + RegionFactory mockRegionFactory = createMockRegionFactory(); + factoryBean.resolveDataPolicy(mockRegionFactory, null, "EMPTY"); + verify(mockRegionFactory).setDataPolicy(eq(DataPolicy.EMPTY)); } @Test public void testResolveDataPolicyWhenNotPersistentAndEmptyDataPolicy() { - RegionFactory mockRegionFactory = createMockRegionFactory(); + + RegionFactory mockRegionFactory = createMockRegionFactory(); + factoryBean.setPersistent(false); factoryBean.resolveDataPolicy(mockRegionFactory, false, "empty"); + verify(mockRegionFactory).setDataPolicy(eq(DataPolicy.EMPTY)); } @Test(expected = IllegalArgumentException.class) public void testResolveDataPolicyWhenPersistentAndEmptyDataPolicy() { - RegionFactory mockRegionFactory = createMockRegionFactory(); + + RegionFactory mockRegionFactory = createMockRegionFactory(); try { factoryBean.setPersistent(true); factoryBean.resolveDataPolicy(mockRegionFactory, true, "empty"); } catch (IllegalArgumentException e) { - assertEquals("Data Policy [EMPTY] is not valid when persistent is true", e.getMessage()); + assertThat(e.getMessage()).isEqualTo("Data Policy [EMPTY] is not valid when persistent is true"); throw e; } finally { @@ -179,29 +199,36 @@ public class ReplicatedRegionFactoryBeanTest { @Test public void testResolveDataPolicyWhenPersistentUnspecifiedAndReplicateDataPolicy() { - RegionFactory mockRegionFactory = createMockRegionFactory(); + + RegionFactory mockRegionFactory = createMockRegionFactory(); + factoryBean.resolveDataPolicy(mockRegionFactory, null, "REPLICATE"); + verify(mockRegionFactory).setDataPolicy(eq(DataPolicy.REPLICATE)); } @Test public void testResolveDataPolicyWhenNotPersistentAndReplicateDataPolicy() { - RegionFactory mockRegionFactory = createMockRegionFactory(); + + RegionFactory mockRegionFactory = createMockRegionFactory(); + factoryBean.setPersistent(false); factoryBean.resolveDataPolicy(mockRegionFactory, false, "REPLICATE"); + verify(mockRegionFactory).setDataPolicy(eq(DataPolicy.REPLICATE)); } @Test(expected = IllegalArgumentException.class) public void testResolveDataPolicyWhenPersistentAndReplicateDataPolicy() { - RegionFactory mockRegionFactory = createMockRegionFactory(); + + RegionFactory mockRegionFactory = createMockRegionFactory(); try { factoryBean.setPersistent(true); factoryBean.resolveDataPolicy(mockRegionFactory, true, "REPLICATE"); } catch (IllegalArgumentException e) { - assertEquals("Data Policy [REPLICATE] is not valid when persistent is true", e.getMessage()); + assertThat(e.getMessage()).isEqualTo("Data Policy [REPLICATE] is not valid when persistent is true"); throw e; } finally { @@ -213,21 +240,26 @@ public class ReplicatedRegionFactoryBeanTest { @Test public void testResolveDataPolicyWhenPersistentUnspecifiedAndPersistentReplicateDataPolicy() { - RegionFactory mockRegionFactory = createMockRegionFactory(); + + RegionFactory mockRegionFactory = createMockRegionFactory(); + factoryBean.resolveDataPolicy(mockRegionFactory, null, "PERSISTENT_REPLICATE"); + verify(mockRegionFactory).setDataPolicy(eq(DataPolicy.PERSISTENT_REPLICATE)); } @Test(expected = IllegalArgumentException.class) public void testResolveDataPolicyWhenNotPersistentAndPersistentReplicateDataPolicy() { - RegionFactory mockRegionFactory = createMockRegionFactory(); + + RegionFactory mockRegionFactory = createMockRegionFactory(); try { factoryBean.setPersistent(false); factoryBean.resolveDataPolicy(mockRegionFactory, false, "PERSISTENT_REPLICATE"); } catch (IllegalArgumentException e) { - assertEquals("Data Policy [PERSISTENT_REPLICATE] is not valid when persistent is false", e.getMessage()); + assertThat(e.getMessage()) + .isEqualTo("Data Policy [PERSISTENT_REPLICATE] is not valid when persistent is false"); throw e; } finally { @@ -239,9 +271,12 @@ public class ReplicatedRegionFactoryBeanTest { @Test public void testResolveDataPolicyWhenPersistentAndPersistentReplicateDataPolicy() { - RegionFactory mockRegionFactory = createMockRegionFactory(); + + RegionFactory mockRegionFactory = createMockRegionFactory(); + factoryBean.setPersistent(true); factoryBean.resolveDataPolicy(mockRegionFactory, true, "PERSISTENT_REPLICATE"); + verify(mockRegionFactory).setDataPolicy(eq(DataPolicy.PERSISTENT_REPLICATE)); } } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/ScopeTypeTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/ScopeTypeTest.java deleted file mode 100644 index 1c215622..00000000 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/ScopeTypeTest.java +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Copyright 2010-2021 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.springframework.data.gemfire; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertSame; - -import org.apache.geode.cache.Scope; - -import org.junit.Test; - -/** - * The ScopeTypeTest class is a test suite of test cases testing the contract and functionality of the ScopeType enum. - * - * @author John Blum - * @see org.junit.Test - * @see org.springframework.data.gemfire.ScopeType - * @see org.apache.geode.cache.Scope - * @since 1.6.0 - */ -public class ScopeTypeTest { - - @Test - public void testStaticGetScope() { - assertEquals(Scope.GLOBAL, ScopeType.getScope(ScopeType.GLOBAL)); - assertEquals(Scope.LOCAL, ScopeType.getScope(ScopeType.LOCAL)); - } - - @Test - public void testStaticGetScopeWithNull() { - assertNull(ScopeType.getScope(null)); - } - - @Test - public void testGetScope() { - assertEquals(Scope.DISTRIBUTED_ACK, ScopeType.DISTRIBUTED_ACK.getScope()); - assertEquals(Scope.DISTRIBUTED_NO_ACK, ScopeType.DISTRIBUTED_NO_ACK.getScope()); - assertEquals(Scope.LOCAL, ScopeType.LOCAL.getScope()); - assertEquals(Scope.GLOBAL, ScopeType.GLOBAL.getScope()); - } - - @Test - public void testValueOf() { - try { - for (int ordinal = 0; ordinal < Integer.MAX_VALUE; ordinal++) { - Scope expectedScope = Scope.fromOrdinal(ordinal); - ScopeType scopeType = ScopeType.valueOf(expectedScope); - - assertNotNull(scopeType); - assertSame(expectedScope, scopeType.getScope()); - } - } - catch (ArrayIndexOutOfBoundsException ignore) { - } - } - - @Test - public void testValueOfWithNull() { - assertNull(ScopeType.valueOf((Scope) null)); - } - - @Test - public void testValueOfIgnoreCase() { - assertEquals(ScopeType.DISTRIBUTED_ACK, ScopeType.valueOfIgnoreCase("distributed_ack")); - assertEquals(ScopeType.DISTRIBUTED_NO_ACK, ScopeType.valueOfIgnoreCase("Distributed_No_Ack")); - assertEquals(ScopeType.LOCAL, ScopeType.valueOfIgnoreCase("LOCal ")); - assertEquals(ScopeType.GLOBAL, ScopeType.valueOfIgnoreCase("GLOBAL")); - assertEquals(ScopeType.GLOBAL, ScopeType.valueOfIgnoreCase(" global ")); - assertEquals(ScopeType.DISTRIBUTED_ACK, ScopeType.valueOfIgnoreCase("DisTRIBUTEd-acK")); - } - - @Test - public void testValueOfIgnoreCaseWithInvalidValues() { - assertNull(ScopeType.valueOfIgnoreCase(" distributed ack ")); - assertNull(ScopeType.valueOfIgnoreCase("D!str!but3d_N0_@ck")); - assertNull(ScopeType.valueOfIgnoreCase("DISTRIBUTED_CANT_ACK")); - assertNull(ScopeType.valueOfIgnoreCase("Dist_ACK")); - assertNull(ScopeType.valueOfIgnoreCase("NOT-Distributed-ACK")); - assertNull(ScopeType.valueOfIgnoreCase("LOCALE")); - assertNull(ScopeType.valueOfIgnoreCase("GLO-BAL")); - assertNull(ScopeType.valueOfIgnoreCase(" ")); - assertNull(ScopeType.valueOfIgnoreCase("")); - assertNull(ScopeType.valueOfIgnoreCase(null)); - } - -} diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/ScopeTypeUnitTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/ScopeTypeUnitTests.java new file mode 100644 index 00000000..0d7b6d50 --- /dev/null +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/ScopeTypeUnitTests.java @@ -0,0 +1,103 @@ +/* + * Copyright 2010-2021 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * 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; + +import org.junit.Test; + +import org.apache.geode.cache.Scope; + +/** + * Unit Tests for {@link ScopeType} enum. + * + * @author John Blum + * @see org.junit.Test + * @see org.apache.geode.cache.Scope + * @see org.springframework.data.gemfire.ScopeType + * @since 1.6.0 + */ +public class ScopeTypeUnitTests { + + @Test + public void testStaticGetScope() { + + assertThat(ScopeType.getScope(ScopeType.GLOBAL)).isEqualTo(Scope.GLOBAL); + assertThat(ScopeType.getScope(ScopeType.LOCAL)).isEqualTo(Scope.LOCAL); + } + + @Test + public void testStaticGetScopeWithNull() { + assertThat(ScopeType.getScope(null)).isNull(); + } + + @Test + public void testGetScope() { + + assertThat(ScopeType.DISTRIBUTED_ACK.getScope()).isEqualTo(Scope.DISTRIBUTED_ACK); + assertThat(ScopeType.DISTRIBUTED_NO_ACK.getScope()).isEqualTo(Scope.DISTRIBUTED_NO_ACK); + assertThat(ScopeType.LOCAL.getScope()).isEqualTo(Scope.LOCAL); + assertThat(ScopeType.GLOBAL.getScope()).isEqualTo(Scope.GLOBAL); + } + + @Test + public void testValueOf() { + + try { + for (int ordinal = 0; ordinal < Integer.MAX_VALUE; ordinal++) { + + Scope expectedScope = Scope.fromOrdinal(ordinal); + ScopeType scopeType = ScopeType.valueOf(expectedScope); + + assertThat(scopeType).isNotNull(); + assertThat(scopeType.getScope()).isSameAs(expectedScope); + } + } + catch (ArrayIndexOutOfBoundsException ignore) { + } + } + + @Test + public void testValueOfWithNull() { + assertThat(ScopeType.valueOf((Scope) null)).isNull(); + } + + @Test + public void testValueOfIgnoreCase() { + + assertThat(ScopeType.valueOfIgnoreCase("distributed_ack")).isEqualTo(ScopeType.DISTRIBUTED_ACK); + assertThat(ScopeType.valueOfIgnoreCase("Distributed_No_Ack")).isEqualTo(ScopeType.DISTRIBUTED_NO_ACK); + assertThat(ScopeType.valueOfIgnoreCase("LOCal ")).isEqualTo(ScopeType.LOCAL); + assertThat(ScopeType.valueOfIgnoreCase("GLOBAL")).isEqualTo(ScopeType.GLOBAL); + assertThat(ScopeType.valueOfIgnoreCase(" global ")).isEqualTo(ScopeType.GLOBAL); + assertThat(ScopeType.valueOfIgnoreCase("DisTRIBUTEd-acK")).isEqualTo(ScopeType.DISTRIBUTED_ACK); + } + + @Test + public void testValueOfIgnoreCaseWithInvalidValues() { + + assertThat(ScopeType.valueOfIgnoreCase(" distributed ack ")).isNull(); + assertThat(ScopeType.valueOfIgnoreCase("D!str!but3d_N0_@ck")).isNull(); + assertThat(ScopeType.valueOfIgnoreCase("DISTRIBUTED_CANT_ACK")).isNull(); + assertThat(ScopeType.valueOfIgnoreCase("Dist_ACK")).isNull(); + assertThat(ScopeType.valueOfIgnoreCase("NOT-Distributed-ACK")).isNull(); + assertThat(ScopeType.valueOfIgnoreCase("LOCALE")).isNull(); + assertThat(ScopeType.valueOfIgnoreCase("GLO-BAL")).isNull(); + assertThat(ScopeType.valueOfIgnoreCase(" ")).isNull(); + assertThat(ScopeType.valueOfIgnoreCase("")).isNull(); + assertThat(ScopeType.valueOfIgnoreCase(null)).isNull(); + } +} diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/SubRegionIntegrationTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/SubRegionIntegrationTests.java index b2466a43..2e30720f 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/SubRegionIntegrationTests.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/SubRegionIntegrationTests.java @@ -15,11 +15,7 @@ */ package org.springframework.data.gemfire; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; +import static org.assertj.core.api.Assertions.assertThat; import javax.annotation.Resource; @@ -43,11 +39,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport; import org.springframework.data.gemfire.tests.mock.context.GemFireMockObjectsApplicationContextInitializer; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit4.SpringRunner; /** - * Integration Tests for Apache Geode sub-Regions defined in Spring configuration metadata, - * i.e. Spring Data Geode's XML namespace configuration metadata. + * Integration Tests for Apache Geode {@link Region sub-Regions} defined in SDG XML namespace configuration metadata. * * @author John Blum * @see org.junit.Test @@ -56,10 +51,10 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; * @see org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport * @see org.springframework.data.gemfire.tests.mock.context.GemFireMockObjectsApplicationContextInitializer * @see org.springframework.test.context.ContextConfiguration - * @see org.springframework.test.context.junit4.SpringJUnit4ClassRunner + * @see org.springframework.test.context.junit4.SpringRunner * @since 1.4.0 */ -@RunWith(SpringJUnit4ClassRunner.class) +@RunWith(SpringRunner.class) @ContextConfiguration(value = "complex-subregion.xml", initializers = GemFireMockObjectsApplicationContextInitializer.class) @SuppressWarnings({ "rawtypes", "unused" }) @@ -75,71 +70,74 @@ public class SubRegionIntegrationTests extends IntegrationTestsSupport { private Region accounts; @Test + @SuppressWarnings("unchecked") public void testGemFireAccountsSubRegionCreation() { - assertNotNull("The GemFire Cache was not properly initialized!", cache); + assertThat(cache).as("The GemFire Cache was not properly initialized!").isNotNull(); Region customers = cache.getRegion("Customers"); - assertNotNull(customers); - assertEquals("Customers", customers.getName()); - assertEquals("/Customers", customers.getFullPath()); + assertThat(customers).isNotNull(); + assertThat(customers.getName()).isEqualTo("Customers"); + assertThat(customers.getFullPath()).isEqualTo("/Customers"); Region accounts = customers.getSubregion("Accounts"); - assertNotNull(accounts); - assertEquals("Accounts", accounts.getName()); - assertEquals("/Customers/Accounts", accounts.getFullPath()); + assertThat(accounts).isNotNull(); + assertThat(accounts.getName()).isEqualTo("Accounts"); + assertThat(accounts.getFullPath()).isEqualTo("/Customers/Accounts"); Region cacheAccounts = cache.getRegion("/Customers/Accounts"); - assertSame(accounts, cacheAccounts); + assertThat(cacheAccounts).isSameAs(accounts); } @Test + @SuppressWarnings("unchecked") public void testSpringSubRegionConfiguration() { - assertNotNull("The /Customers/Accounts SubRegion was not properly initialized!", accounts); - assertEquals("Accounts", accounts.getName()); - assertEquals("/Customers/Accounts", accounts.getFullPath()); + assertThat(accounts).as("The /Customers/Accounts SubRegion was not properly initialized!").isNotNull(); + assertThat(accounts.getName()).isEqualTo("Accounts"); + assertThat(accounts.getFullPath()).isEqualTo("/Customers/Accounts"); RegionAttributes regionAttributes = accounts.getAttributes(); - assertNotNull(regionAttributes); - assertEquals(DataPolicy.PERSISTENT_REPLICATE, regionAttributes.getDataPolicy()); - assertEquals(20, regionAttributes.getConcurrencyLevel()); - assertTrue(regionAttributes.isDiskSynchronous()); - assertTrue(regionAttributes.getIgnoreJTA()); - assertFalse(regionAttributes.getIndexMaintenanceSynchronous()); - assertEquals(1000, regionAttributes.getInitialCapacity()); - assertEquals(Long.class, regionAttributes.getKeyConstraint()); - assertEquals(Scope.DISTRIBUTED_ACK, regionAttributes.getScope()); - assertTrue(regionAttributes.getStatisticsEnabled()); - assertEquals(String.class, regionAttributes.getValueConstraint()); - assertNotNull(regionAttributes.getCacheListeners()); - assertEquals(1, regionAttributes.getCacheListeners().length); - assertTrue(regionAttributes.getCacheListeners()[0] instanceof SimpleCacheListener); - assertTrue(regionAttributes.getCacheLoader() instanceof SimpleCacheLoader); - assertTrue(regionAttributes.getCacheWriter() instanceof SimpleCacheWriter); + assertThat(regionAttributes).isNotNull(); + assertThat(regionAttributes.getDataPolicy()).isEqualTo(DataPolicy.PERSISTENT_REPLICATE); + assertThat(regionAttributes.getConcurrencyLevel()).isEqualTo(20); + assertThat(regionAttributes.isDiskSynchronous()).isTrue(); + assertThat(regionAttributes.getIgnoreJTA()).isTrue(); + assertThat(regionAttributes.getIndexMaintenanceSynchronous()).isFalse(); + assertThat(regionAttributes.getInitialCapacity()).isEqualTo(1000); + assertThat(regionAttributes.getKeyConstraint()).isEqualTo(Long.class); + assertThat(regionAttributes.getScope()).isEqualTo(Scope.DISTRIBUTED_ACK); + assertThat(regionAttributes.getStatisticsEnabled()).isTrue(); + assertThat(regionAttributes.getValueConstraint()).isEqualTo(String.class); + assertThat(regionAttributes.getCacheListeners()).isNotNull(); + assertThat(regionAttributes.getCacheListeners().length).isEqualTo(1); + assertThat(regionAttributes.getCacheListeners()[0] instanceof SimpleCacheListener).isTrue(); + assertThat(regionAttributes.getCacheLoader() instanceof SimpleCacheLoader).isTrue(); + assertThat(regionAttributes.getCacheWriter() instanceof SimpleCacheWriter).isTrue(); EvictionAttributes evictionAttributes = regionAttributes.getEvictionAttributes(); - assertNotNull(evictionAttributes); - assertEquals(EvictionAction.OVERFLOW_TO_DISK, evictionAttributes.getAction()); - assertEquals(10000, evictionAttributes.getMaximum()); + assertThat(evictionAttributes).isNotNull(); + assertThat(evictionAttributes.getAction()).isEqualTo(EvictionAction.OVERFLOW_TO_DISK); + assertThat(evictionAttributes.getMaximum()).isEqualTo(10000); MembershipAttributes membershipAttributes = regionAttributes.getMembershipAttributes(); - assertNotNull(membershipAttributes); - assertNotNull(membershipAttributes.getRequiredRoles()); - assertEquals(1, membershipAttributes.getRequiredRoles().size()); - assertTrue(membershipAttributes.getRequiredRoles().iterator().next().getName().equalsIgnoreCase("TEST")); - assertEquals(LossAction.LIMITED_ACCESS, membershipAttributes.getLossAction()); - assertEquals(ResumptionAction.REINITIALIZE, membershipAttributes.getResumptionAction()); + assertThat(membershipAttributes).isNotNull(); + assertThat(membershipAttributes.getRequiredRoles()).isNotNull(); + assertThat(membershipAttributes.getRequiredRoles().size()).isEqualTo(1); + assertThat(membershipAttributes.getRequiredRoles().iterator().next().getName().equalsIgnoreCase("TEST")) + .isTrue(); + assertThat(membershipAttributes.getLossAction()).isEqualTo(LossAction.LIMITED_ACCESS); + assertThat(membershipAttributes.getResumptionAction()).isEqualTo(ResumptionAction.REINITIALIZE); SubscriptionAttributes subscriptionAttributes = regionAttributes.getSubscriptionAttributes(); - assertNotNull(subscriptionAttributes); - assertEquals(InterestPolicy.CACHE_CONTENT, subscriptionAttributes.getInterestPolicy()); + assertThat(subscriptionAttributes).isNotNull(); + assertThat(subscriptionAttributes.getInterestPolicy()).isEqualTo(InterestPolicy.CACHE_CONTENT); } } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/SubscriptionAttributesFactoryBeanTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/SubscriptionAttributesFactoryBeanUnitTests.java similarity index 58% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/SubscriptionAttributesFactoryBeanTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/SubscriptionAttributesFactoryBeanUnitTests.java index f72feda5..fbbaa315 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/SubscriptionAttributesFactoryBeanTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/SubscriptionAttributesFactoryBeanUnitTests.java @@ -13,110 +13,111 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.springframework.data.gemfire; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.Test; import org.apache.geode.cache.InterestPolicy; import org.apache.geode.cache.SubscriptionAttributes; -import org.junit.Test; - /** - * The SubscriptionAttributesFactoryBeanTest class is a test suite of test cases testing the contract and functionality - * of the SubscriptionAttributesFactoryBean class. + * Unit Tests for {@link SubscriptionAttributesFactoryBean}. * * @author John Blum * @see org.junit.Test + * @see org.apache.geode.cache.SubscriptionAttributes * @see org.springframework.data.gemfire.SubscriptionAttributesFactoryBean * @since 1.6.0 */ -public class SubscriptionAttributesFactoryBeanTest { +public class SubscriptionAttributesFactoryBeanUnitTests { @Test public void testIsSingleton() { - assertTrue(new SubscriptionAttributesFactoryBean().isSingleton()); + assertThat(new SubscriptionAttributesFactoryBean().isSingleton()).isTrue(); } @Test public void testSetAndGetInterestPolicy() { + SubscriptionAttributesFactoryBean factoryBean = new SubscriptionAttributesFactoryBean(); - assertEquals(InterestPolicy.DEFAULT, factoryBean.getInterestPolicy()); + assertThat(factoryBean.getInterestPolicy()).isEqualTo(InterestPolicy.DEFAULT); factoryBean.setInterestPolicy(InterestPolicy.CACHE_CONTENT); - assertEquals(InterestPolicy.CACHE_CONTENT, factoryBean.getInterestPolicy()); + assertThat(factoryBean.getInterestPolicy()).isEqualTo(InterestPolicy.CACHE_CONTENT); factoryBean.setInterestPolicy(null); - assertEquals(InterestPolicy.DEFAULT, factoryBean.getInterestPolicy()); + assertThat(factoryBean.getInterestPolicy()).isEqualTo(InterestPolicy.DEFAULT); } @Test public void testGetObjectAndObjectTypeForAllInterestPolicy() throws Exception { + SubscriptionAttributesFactoryBean factoryBean = new SubscriptionAttributesFactoryBean(); factoryBean.setInterestPolicy(InterestPolicy.ALL); factoryBean.afterPropertiesSet(); - assertEquals(InterestPolicy.ALL, factoryBean.getInterestPolicy()); + assertThat(factoryBean.getInterestPolicy()).isEqualTo(InterestPolicy.ALL); SubscriptionAttributes subscriptionAttributes = factoryBean.getObject(); - assertNotNull(subscriptionAttributes); - assertEquals(InterestPolicy.ALL, subscriptionAttributes.getInterestPolicy()); - assertTrue(SubscriptionAttributes.class.isAssignableFrom(factoryBean.getObjectType())); + assertThat(subscriptionAttributes).isNotNull(); + assertThat(subscriptionAttributes.getInterestPolicy()).isEqualTo(InterestPolicy.ALL); + assertThat(SubscriptionAttributes.class.isAssignableFrom(factoryBean.getObjectType())).isTrue(); } @Test public void testGetObjectAndObjectTypeForCacheContentInterestPolicy() throws Exception { + SubscriptionAttributesFactoryBean factoryBean = new SubscriptionAttributesFactoryBean(); factoryBean.setInterestPolicy(InterestPolicy.CACHE_CONTENT); factoryBean.afterPropertiesSet(); - assertEquals(InterestPolicy.CACHE_CONTENT, factoryBean.getInterestPolicy()); + assertThat(factoryBean.getInterestPolicy()).isEqualTo(InterestPolicy.CACHE_CONTENT); SubscriptionAttributes subscriptionAttributes = factoryBean.getObject(); - assertNotNull(subscriptionAttributes); - assertEquals(InterestPolicy.CACHE_CONTENT, subscriptionAttributes.getInterestPolicy()); - assertTrue(SubscriptionAttributes.class.isAssignableFrom(factoryBean.getObjectType())); + assertThat(subscriptionAttributes).isNotNull(); + assertThat(subscriptionAttributes.getInterestPolicy()).isEqualTo(InterestPolicy.CACHE_CONTENT); + assertThat(SubscriptionAttributes.class.isAssignableFrom(factoryBean.getObjectType())).isTrue(); } @Test public void testGetObjectAndObjectTypeForDefaultInterestPolicy() throws Exception { + SubscriptionAttributesFactoryBean factoryBean = new SubscriptionAttributesFactoryBean(); factoryBean.afterPropertiesSet(); - assertEquals(InterestPolicy.DEFAULT, factoryBean.getInterestPolicy()); + assertThat(factoryBean.getInterestPolicy()).isEqualTo(InterestPolicy.DEFAULT); SubscriptionAttributes subscriptionAttributes = factoryBean.getObject(); - assertNotNull(subscriptionAttributes); - assertEquals(InterestPolicy.DEFAULT, subscriptionAttributes.getInterestPolicy()); - assertTrue(SubscriptionAttributes.class.isAssignableFrom(factoryBean.getObjectType())); + assertThat(subscriptionAttributes).isNotNull(); + assertThat(subscriptionAttributes.getInterestPolicy()).isEqualTo(InterestPolicy.DEFAULT); + assertThat(SubscriptionAttributes.class.isAssignableFrom(factoryBean.getObjectType())).isTrue(); } @Test public void testGetObjectAndObjectTypeForNullInterestPolicy() throws Exception { + SubscriptionAttributesFactoryBean factoryBean = new SubscriptionAttributesFactoryBean(); factoryBean.setInterestPolicy(null); factoryBean.afterPropertiesSet(); - assertEquals(InterestPolicy.DEFAULT, factoryBean.getInterestPolicy()); + assertThat(factoryBean.getInterestPolicy()).isEqualTo(InterestPolicy.DEFAULT); SubscriptionAttributes subscriptionAttributes = factoryBean.getObject(); - assertNotNull(subscriptionAttributes); - assertEquals(InterestPolicy.DEFAULT, subscriptionAttributes.getInterestPolicy()); - assertTrue(SubscriptionAttributes.class.isAssignableFrom(factoryBean.getObjectType())); + assertThat(subscriptionAttributes).isNotNull(); + assertThat(subscriptionAttributes.getInterestPolicy()).isEqualTo(InterestPolicy.DEFAULT); + assertThat(SubscriptionAttributes.class.isAssignableFrom(factoryBean.getObjectType())).isTrue(); } - } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/TxIntegrationTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/TxIntegrationTests.java similarity index 63% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/TxIntegrationTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/TxIntegrationTests.java index 355227fd..5e17ca2f 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/TxIntegrationTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/TxIntegrationTests.java @@ -13,11 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.springframework.data.gemfire; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; +import static org.assertj.core.api.Assertions.assertThat; import java.util.Map; @@ -26,25 +24,34 @@ import javax.annotation.Resource; import org.junit.Test; import org.junit.runner.RunWith; +import org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport; import org.springframework.test.annotation.Rollback; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.context.transaction.AfterTransaction; import org.springframework.test.context.transaction.BeforeTransaction; import org.springframework.transaction.annotation.Transactional; /** - * Simple TX integration test. + * Integration Test for Apache Geode cache transactions * * @author Costin Leau + * @author John Blum + * @see org.junit.Test + * @see org.apache.geode.cache.GemFireCache + * @see org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport + * @see org.springframework.test.context.ContextConfiguration + * @see org.springframework.test.context.junit4.SpringRunner */ -@RunWith(SpringJUnit4ClassRunner.class) +@RunWith(SpringRunner.class) @ContextConfiguration(locations = { "basic-tx-config.xml" }) @Transactional -public class TxIntegrationTest { +@SuppressWarnings("unused") +public class TxIntegrationTests extends IntegrationTestsSupport { @Resource(name = "rollback-region") private Map rollbackRegion; + @Resource(name = "commit-region") private Map commitRegion; @@ -52,6 +59,7 @@ public class TxIntegrationTest { @BeforeTransaction public void addItemsToTheCache() { + rollbackRegion.put("Vlaicu", "Aurel"); rollbackRegion.put("Coanda", "Henri"); commitRegion.put("Coanda", "Henri"); @@ -60,14 +68,16 @@ public class TxIntegrationTest { } @Test - public void testTransactionRollback() throws Exception { + public void testTransactionRollback() { + rollbackRegion.remove("Coanda"); rollbackRegion.put("Ciurcu", "Alexandru"); } @Test @Rollback(value = false) - public void testTransactionCommit() throws Exception { + public void testTransactionCommit() { + commitRegion.put("Poenaru", "Petrache"); commitRegion.remove("Coanda"); commitRegion.put("Vlaicu", "A"); @@ -77,13 +87,15 @@ public class TxIntegrationTest { @AfterTransaction public void testTxOutcome() { + if (txCommit) { - assertFalse(commitRegion.containsKey("Coanda")); - assertTrue(commitRegion.containsKey("Poenaru")); - assertTrue(commitRegion.containsValue("A")); + assertThat(commitRegion.containsKey("Coanda")).isFalse(); + assertThat(commitRegion.containsKey("Poenaru")).isTrue(); + assertThat(commitRegion.containsValue("A")).isTrue(); } - assertTrue(rollbackRegion.containsKey("Coanda")); - assertTrue(rollbackRegion.containsKey("Vlaicu")); - assertFalse(rollbackRegion.containsKey("Ciurcu")); + + assertThat(rollbackRegion.containsKey("Coanda")).isTrue(); + assertThat(rollbackRegion.containsKey("Vlaicu")).isTrue(); + assertThat(rollbackRegion.containsKey("Ciurcu")).isFalse(); } } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/cache/CachingWithGemFireIntegrationTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/cache/CachingWithGemFireIntegrationTests.java similarity index 64% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/cache/CachingWithGemFireIntegrationTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/cache/CachingWithGemFireIntegrationTests.java index 9e5bcd84..85f01351 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/cache/CachingWithGemFireIntegrationTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/cache/CachingWithGemFireIntegrationTests.java @@ -17,10 +17,7 @@ package org.springframework.data.gemfire.cache; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; +import static org.assertj.core.api.Assertions.assertThat; import java.util.Map; @@ -34,29 +31,31 @@ import org.apache.geode.cache.Region; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.Cacheable; +import org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport; import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit4.SpringRunner; import org.springframework.util.Assert; /** - * The CachingWithGemFireIntegrationTest class is a test suite of test cases testing the contract and functionality - * of Spring Framework's Cache Abstraction using GemFire as a caching provider applied with Spring Data GemFire. + * Integration Tests testing the contract and functionality of Spring Framework's Cache Abstraction using Apache Geode + * as a caching provider applied with Spring Data for Apache Geode. * * @author John Blum * @see org.junit.Test * @see org.junit.runner.RunWith * @see org.springframework.cache.annotation.Cacheable + * @see org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport * @see org.springframework.test.context.ActiveProfiles * @see org.springframework.test.context.ContextConfiguration - * @see org.springframework.test.context.junit4.SpringJUnit4ClassRunner + * @see org.springframework.test.context.junit4.SpringRunner * @since 1.5.1 */ -@RunWith(SpringJUnit4ClassRunner.class) +@RunWith(SpringRunner.class) @ContextConfiguration @ActiveProfiles("replica") @SuppressWarnings("unused") -public class CachingWithGemFireIntegrationTest { +public class CachingWithGemFireIntegrationTests extends IntegrationTestsSupport { @Autowired private NamedNumbersService namedNumbersService; @@ -66,41 +65,43 @@ public class CachingWithGemFireIntegrationTest { @Test(expected = NullPointerException.class) public void testRegionCacheHit() { - assertNull(namedNumbersRegion.get("eleven")); - assertFalse(namedNumbersRegion.containsKey("eleven")); + + assertThat(namedNumbersRegion.get("eleven")).isNull(); + assertThat(namedNumbersRegion.containsKey("eleven")).isFalse(); namedNumbersRegion.put("eleven", 11); - assertTrue(namedNumbersRegion.containsKey("eleven")); - assertEquals(11, namedNumbersService.get("eleven").intValue()); - assertFalse(namedNumbersService.wasCacheMiss()); + assertThat(namedNumbersRegion.containsKey("eleven")).isTrue(); + assertThat(namedNumbersService.get("eleven").intValue()).isEqualTo(11); + assertThat(namedNumbersService.wasCacheMiss()).isFalse(); try { namedNumbersRegion.put("eleven", null); // GemFire does not accept null values on put(key, value) } finally { - assertTrue(namedNumbersRegion.containsKey("eleven")); - assertEquals(11, namedNumbersRegion.get("eleven").intValue()); - assertEquals(11, namedNumbersService.get("eleven").intValue()); - assertFalse(namedNumbersService.wasCacheMiss()); + assertThat(namedNumbersRegion.containsKey("eleven")).isTrue(); + assertThat(namedNumbersRegion.get("eleven").intValue()).isEqualTo(11); + assertThat(namedNumbersService.get("eleven").intValue()).isEqualTo(11); + assertThat(namedNumbersService.wasCacheMiss()).isFalse(); } } @Test public void testRegionCaching() { - assertFalse(namedNumbersService.wasCacheMiss()); - assertEquals(1, namedNumbersService.get("one").intValue()); - assertTrue(namedNumbersService.wasCacheMiss()); - assertEquals(1, namedNumbersService.get("one").intValue()); - assertFalse(namedNumbersService.wasCacheMiss()); - assertEquals(2, namedNumbersService.get("two").intValue()); - assertTrue(namedNumbersService.wasCacheMiss()); - assertEquals(2, namedNumbersService.get("two").intValue()); - assertFalse(namedNumbersService.wasCacheMiss()); - assertNull(namedNumbersService.get("twelve")); - assertTrue(namedNumbersService.wasCacheMiss()); - assertNull(namedNumbersService.get("twelve")); - assertTrue(namedNumbersService.wasCacheMiss()); + + assertThat(namedNumbersService.wasCacheMiss()).isFalse(); + assertThat(namedNumbersService.get("one").intValue()).isEqualTo(1); + assertThat(namedNumbersService.wasCacheMiss()).isTrue(); + assertThat(namedNumbersService.get("one").intValue()).isEqualTo(1); + assertThat(namedNumbersService.wasCacheMiss()).isFalse(); + assertThat(namedNumbersService.get("two").intValue()).isEqualTo(2); + assertThat(namedNumbersService.wasCacheMiss()).isTrue(); + assertThat(namedNumbersService.get("two").intValue()).isEqualTo(2); + assertThat(namedNumbersService.wasCacheMiss()).isFalse(); + assertThat(namedNumbersService.get("twelve")).isNull(); + assertThat(namedNumbersService.wasCacheMiss()).isTrue(); + assertThat(namedNumbersService.get("twelve")).isNull(); + assertThat(namedNumbersService.wasCacheMiss()).isTrue(); } public static class NamedNumbersService { @@ -160,5 +161,4 @@ public class CachingWithGemFireIntegrationTest { return localCacheMiss; } } - } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/cache/ClientCacheManagerTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/cache/ClientCacheManagerIntegrationTests.java similarity index 50% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/cache/ClientCacheManagerTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/cache/ClientCacheManagerIntegrationTests.java index 248473cc..01d4e450 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/cache/ClientCacheManagerTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/cache/ClientCacheManagerIntegrationTests.java @@ -16,29 +16,38 @@ */ package org.springframework.data.gemfire.cache; -import static org.junit.Assert.assertNotNull; +import static org.assertj.core.api.Assertions.assertThat; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport; +import org.springframework.data.gemfire.tests.mock.context.GemFireMockObjectsApplicationContextInitializer; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit4.SpringRunner; /** + * Integration Tests for {@link GemfireCacheManager}. + * * @author David Turanski * @author John Blum + * @see org.junit.Test + * @see org.springframework.data.gemfire.cache.GemfireCacheManager + * @see org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport + * @see org.springframework.test.context.ContextConfiguration + * @see org.springframework.test.context.junit4.SpringRunner */ -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("/org/springframework/data/gemfire/cache/cache-manager-client-cache.xml") -public class ClientCacheManagerTest { +@RunWith(SpringRunner.class) +@ContextConfiguration(value = "/org/springframework/data/gemfire/cache/cache-manager-client-cache.xml", + initializers = GemFireMockObjectsApplicationContextInitializer.class) +public class ClientCacheManagerIntegrationTests extends IntegrationTestsSupport { @Autowired GemfireCacheManager cacheManager; @Test public void cacheManagerUsesConfiguredGemFireRegionAsCache() { - assertNotNull(cacheManager.getCache("Example")); + assertThat(cacheManager.getCache("Example")).isNotNull(); } - } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/client/ClientRegionFactoryBeanTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/client/ClientRegionFactoryBeanUnitTests.java similarity index 81% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/client/ClientRegionFactoryBeanTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/client/ClientRegionFactoryBeanUnitTests.java index 449802e2..612db8a6 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/client/ClientRegionFactoryBeanTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/client/ClientRegionFactoryBeanUnitTests.java @@ -13,25 +13,19 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.springframework.data.gemfire.client; import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anyString; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.verifyZeroInteractions; +import static org.mockito.Mockito.verifyNoInteractions; import static org.mockito.Mockito.when; import java.io.InputStream; @@ -58,21 +52,22 @@ import org.springframework.data.gemfire.TestUtils; import org.springframework.data.gemfire.util.ArrayUtils; /** - * Unit tests for {@link ClientRegionFactoryBean}. + * Unit Tests for {@link ClientRegionFactoryBean}. * * @author David Turanski * @author John Blum * @see org.junit.Test * @see org.mockito.Mockito - * @see org.springframework.data.gemfire.client.ClientRegionFactoryBean * @see org.apache.geode.cache.EvictionAttributes * @see org.apache.geode.cache.ExpirationAttributes * @see org.apache.geode.cache.Region * @see org.apache.geode.cache.client.ClientCache * @see org.apache.geode.cache.client.ClientRegionFactory * @see org.apache.geode.cache.client.Pool + * @see org.springframework.data.gemfire.client.ClientRegionFactoryBean */ -public class ClientRegionFactoryBeanTest { +@SuppressWarnings("rawtypes") +public class ClientRegionFactoryBeanUnitTests { private ClientRegionFactoryBean factoryBean; @@ -208,7 +203,7 @@ public class ClientRegionFactoryBeanTest { @Test @SuppressWarnings("unchecked") - public void createRegionWithSpecifiedShortcut() throws Exception { + public void createRegionWithSpecifiedShortcut() { BeanFactory mockBeanFactory = mock(BeanFactory.class); @@ -229,15 +224,17 @@ public class ClientRegionFactoryBeanTest { assertThat(actualRegion).isEqualTo(mockRegion); - verifyZeroInteractions(mockBeanFactory); + verifyNoInteractions(mockBeanFactory); + verify(mockClientCache, times(1)) .createClientRegionFactory(eq(ClientRegionShortcut.CACHING_PROXY)); + verify(mockClientRegionFactory, times(1)).create(eq("TestRegion")); } @Test @SuppressWarnings("unchecked") - public void createRegionAsSubRegion() throws Exception { + public void createRegionAsSubRegion() { BeanFactory mockBeanFactory = mock(BeanFactory.class); @@ -260,9 +257,11 @@ public class ClientRegionFactoryBeanTest { assertThat(actualRegion).isEqualTo(mockSubRegion); - verifyZeroInteractions(mockBeanFactory); + verifyNoInteractions(mockBeanFactory); + verify(mockClientCache, times(1)) .createClientRegionFactory(eq(ClientRegionShortcut.PROXY)); + verify(mockClientRegionFactory, times(1)) .createSubregion(eq(mockRegion), eq("TestSubRegion")); } @@ -476,29 +475,29 @@ public class ClientRegionFactoryBeanTest { @Test public void isPersistentIsCorrect() { - assertFalse(factoryBean.isPersistent()); + assertThat(factoryBean.isPersistent()).isFalse(); factoryBean.setPersistent(false); - assertFalse(factoryBean.isPersistent()); + assertThat(factoryBean.isPersistent()).isFalse(); factoryBean.setPersistent(true); - assertTrue(factoryBean.isPersistent()); + assertThat(factoryBean.isPersistent()).isTrue(); } @Test public void isNotPersistentIsCorrect() { - assertFalse(factoryBean.isNotPersistent()); + assertThat(factoryBean.isNotPersistent()).isFalse(); factoryBean.setPersistent(true); - assertFalse(factoryBean.isNotPersistent()); + assertThat(factoryBean.isNotPersistent()).isFalse(); factoryBean.setPersistent(false); - assertTrue(factoryBean.isNotPersistent()); + assertThat(factoryBean.isNotPersistent()).isTrue(); } @Test @@ -506,58 +505,58 @@ public class ClientRegionFactoryBeanTest { ClientRegionFactoryBean factory = new ClientRegionFactoryBean<>(); - assertNotNull(factory); - assertFalse(factory.isClose()); - assertFalse(factory.isDestroy()); + assertThat(factory).isNotNull(); + assertThat(factory.isClose()).isFalse(); + assertThat(factory.isDestroy()).isFalse(); factory.setClose(false); - assertFalse(factory.isClose()); - assertFalse(factory.isDestroy()); // when destroy is false it remains false even when setClose(false) is called + assertThat(factory.isClose()).isFalse(); + assertThat(factory.isDestroy()).isFalse(); // when destroy is false it remains false even when setClose(false) is called factory.setClose(true); - assertTrue(factory.isClose()); // calling setClose(true) should set close to true - assertFalse(factory.isDestroy()); + assertThat(factory.isClose()).isTrue(); // calling setClose(true) should set close to true + assertThat(factory.isDestroy()).isFalse(); factory.setDestroy(false); - assertTrue(factory.isClose()); // calling setDestroy(false) should have no affect on close - assertFalse(factory.isDestroy()); + assertThat(factory.isClose()).isTrue(); // calling setDestroy(false) should have no affect on close + assertThat(factory.isDestroy()).isFalse(); factory.setDestroy(true); - assertFalse(factory.isClose()); // setting destroy to true should set close to false - assertTrue(factory.isDestroy()); // calling setDestroy(true) should set destroy to true + assertThat(factory.isClose()).isFalse(); // setting destroy to true should set close to false + assertThat(factory.isDestroy()).isTrue(); // calling setDestroy(true) should set destroy to true factory.setClose(false); - assertFalse(factory.isClose()); - assertTrue(factory.isDestroy()); // calling setClose(false) should have no affect on destroy + assertThat(factory.isClose()).isFalse(); + assertThat(factory.isDestroy()).isTrue(); // calling setClose(false) should have no affect on destroy factory.setDestroy(false); - assertFalse(factory.isClose()); // setting destroy back to false should have no affect on close - assertFalse(factory.isDestroy()); + assertThat(factory.isClose()).isFalse(); // setting destroy back to false should have no affect on close + assertThat(factory.isDestroy()).isFalse(); factory.setDestroy(true); - assertFalse(factory.isClose()); - assertTrue(factory.isDestroy()); + assertThat(factory.isClose()).isFalse(); + assertThat(factory.isDestroy()).isTrue(); factory.setClose(true); - assertTrue(factory.isClose()); - assertFalse(factory.isDestroy()); // setting close to true should set destroy to false + assertThat(factory.isClose()).isTrue(); + assertThat(factory.isDestroy()).isFalse(); // setting close to true should set destroy to false } @Test public void testResolveClientRegionShortcut() throws Exception { - assertNull(TestUtils.readField("dataPolicy", factoryBean)); - assertNull(TestUtils.readField("persistent", factoryBean)); - assertNull(TestUtils.readField("shortcut", factoryBean)); - assertEquals(ClientRegionShortcut.LOCAL, factoryBean.resolveClientRegionShortcut()); + assertThat(TestUtils.readField("dataPolicy", factoryBean)).isNull(); + assertThat(TestUtils.readField("persistent", factoryBean)).isNull(); + assertThat(TestUtils.readField("shortcut", factoryBean)).isNull(); + assertThat(factoryBean.resolveClientRegionShortcut()).isEqualTo(ClientRegionShortcut.LOCAL); } @Test @@ -565,10 +564,10 @@ public class ClientRegionFactoryBeanTest { factoryBean.setPersistent(false); - assertNull(TestUtils.readField("dataPolicy", factoryBean)); - assertTrue(factoryBean.isNotPersistent()); - assertNull(TestUtils.readField("shortcut", factoryBean)); - assertEquals(ClientRegionShortcut.LOCAL, factoryBean.resolveClientRegionShortcut()); + assertThat(TestUtils.readField("dataPolicy", factoryBean)).isNull(); + assertThat(factoryBean.isNotPersistent()).isTrue(); + assertThat(TestUtils.readField("shortcut", factoryBean)).isNull(); + assertThat(factoryBean.resolveClientRegionShortcut()).isEqualTo(ClientRegionShortcut.LOCAL); } @Test @@ -576,10 +575,10 @@ public class ClientRegionFactoryBeanTest { factoryBean.setPersistent(true); - assertNull(TestUtils.readField("dataPolicy", factoryBean)); - assertTrue(factoryBean.isPersistent()); - assertNull(TestUtils.readField("shortcut", factoryBean)); - assertEquals(ClientRegionShortcut.LOCAL_PERSISTENT, factoryBean.resolveClientRegionShortcut()); + assertThat(TestUtils.readField("dataPolicy", factoryBean)).isNull(); + assertThat(factoryBean.isPersistent()).isTrue(); + assertThat(TestUtils.readField("shortcut", factoryBean)).isNull(); + assertThat(factoryBean.resolveClientRegionShortcut()).isEqualTo(ClientRegionShortcut.LOCAL_PERSISTENT); } @Test @@ -587,9 +586,9 @@ public class ClientRegionFactoryBeanTest { factoryBean.setShortcut(ClientRegionShortcut.CACHING_PROXY_OVERFLOW); - assertNull(TestUtils.readField("dataPolicy", factoryBean)); - assertNull(TestUtils.readField("persistent", factoryBean)); - assertEquals(ClientRegionShortcut.CACHING_PROXY_OVERFLOW, factoryBean.resolveClientRegionShortcut()); + assertThat(TestUtils.readField("dataPolicy", factoryBean)).isNull(); + assertThat(TestUtils.readField("persistent", factoryBean)).isNull(); + assertThat(factoryBean.resolveClientRegionShortcut()).isEqualTo(ClientRegionShortcut.CACHING_PROXY_OVERFLOW); } @Test @@ -598,9 +597,9 @@ public class ClientRegionFactoryBeanTest { factoryBean.setPersistent(false); factoryBean.setShortcut(ClientRegionShortcut.CACHING_PROXY_HEAP_LRU); - assertNull(TestUtils.readField("dataPolicy", factoryBean)); - assertTrue(factoryBean.isNotPersistent()); - assertEquals(ClientRegionShortcut.CACHING_PROXY_HEAP_LRU, factoryBean.resolveClientRegionShortcut()); + assertThat(TestUtils.readField("dataPolicy", factoryBean)).isNull(); + assertThat(factoryBean.isNotPersistent()).isTrue(); + assertThat(factoryBean.resolveClientRegionShortcut()).isEqualTo(ClientRegionShortcut.CACHING_PROXY_HEAP_LRU); } @Test(expected = IllegalArgumentException.class) @@ -610,14 +609,14 @@ public class ClientRegionFactoryBeanTest { factoryBean.setPersistent(true); factoryBean.setShortcut(ClientRegionShortcut.CACHING_PROXY); - assertNull(TestUtils.readField("dataPolicy", factoryBean)); - assertTrue(factoryBean.isPersistent()); + assertThat(TestUtils.readField("dataPolicy", factoryBean)).isNull(); + assertThat(factoryBean.isPersistent()).isTrue(); factoryBean.resolveClientRegionShortcut(); } catch (IllegalArgumentException expected) { - assertEquals("Client Region Shortcut [CACHING_PROXY] is not valid when persistent is true", - expected.getMessage()); + assertThat(expected.getMessage()) + .isEqualTo("Client Region Shortcut [CACHING_PROXY] is not valid when persistent is true"); throw expected; } } @@ -627,9 +626,9 @@ public class ClientRegionFactoryBeanTest { factoryBean.setShortcut(ClientRegionShortcut.LOCAL_PERSISTENT); - assertNull(TestUtils.readField("dataPolicy", factoryBean)); - assertNull(TestUtils.readField("persistent", factoryBean)); - assertEquals(ClientRegionShortcut.LOCAL_PERSISTENT, factoryBean.resolveClientRegionShortcut()); + assertThat(TestUtils.readField("dataPolicy", factoryBean)).isNull(); + assertThat(TestUtils.readField("persistent", factoryBean)).isNull(); + assertThat(factoryBean.resolveClientRegionShortcut()).isEqualTo(ClientRegionShortcut.LOCAL_PERSISTENT); } @Test(expected = IllegalArgumentException.class) @@ -639,14 +638,14 @@ public class ClientRegionFactoryBeanTest { factoryBean.setPersistent(false); factoryBean.setShortcut(ClientRegionShortcut.LOCAL_PERSISTENT); - assertNull(TestUtils.readField("dataPolicy", factoryBean)); - assertTrue(factoryBean.isNotPersistent()); + assertThat(TestUtils.readField("dataPolicy", factoryBean)).isNull(); + assertThat(factoryBean.isNotPersistent()).isTrue(); factoryBean.resolveClientRegionShortcut(); } catch (IllegalArgumentException expected) { - assertEquals("Client Region Shortcut [LOCAL_PERSISTENT] is not valid when persistent is false", - expected.getMessage()); + assertThat(expected.getMessage()) + .isEqualTo("Client Region Shortcut [LOCAL_PERSISTENT] is not valid when persistent is false"); throw expected; } } @@ -657,9 +656,9 @@ public class ClientRegionFactoryBeanTest { factoryBean.setPersistent(true); factoryBean.setShortcut(ClientRegionShortcut.LOCAL_PERSISTENT_OVERFLOW); - assertNull(TestUtils.readField("dataPolicy", factoryBean)); - assertTrue(factoryBean.isPersistent()); - assertEquals(ClientRegionShortcut.LOCAL_PERSISTENT_OVERFLOW, factoryBean.resolveClientRegionShortcut()); + assertThat(TestUtils.readField("dataPolicy", factoryBean)).isNull(); + assertThat(factoryBean.isPersistent()).isTrue(); + assertThat(factoryBean.resolveClientRegionShortcut()).isEqualTo(ClientRegionShortcut.LOCAL_PERSISTENT_OVERFLOW); } @Test @@ -667,9 +666,9 @@ public class ClientRegionFactoryBeanTest { factoryBean.setDataPolicy(DataPolicy.EMPTY); - assertNull(TestUtils.readField("persistent", factoryBean)); - assertNull(TestUtils.readField("shortcut", factoryBean)); - assertEquals(ClientRegionShortcut.PROXY, factoryBean.resolveClientRegionShortcut()); + assertThat(TestUtils.readField("persistent", factoryBean)).isNull(); + assertThat(TestUtils.readField("shortcut", factoryBean)).isNull(); + assertThat(factoryBean.resolveClientRegionShortcut()).isEqualTo(ClientRegionShortcut.PROXY); } @Test @@ -678,9 +677,9 @@ public class ClientRegionFactoryBeanTest { factoryBean.setDataPolicy(DataPolicy.NORMAL); factoryBean.setPersistent(false); - assertTrue(factoryBean.isNotPersistent()); - assertNull(TestUtils.readField("shortcut", factoryBean)); - assertEquals(ClientRegionShortcut.CACHING_PROXY, factoryBean.resolveClientRegionShortcut()); + assertThat(factoryBean.isNotPersistent()).isTrue(); + assertThat(TestUtils.readField("shortcut", factoryBean)).isNull(); + assertThat(factoryBean.resolveClientRegionShortcut()).isEqualTo(ClientRegionShortcut.CACHING_PROXY); } @Test(expected = IllegalArgumentException.class) @@ -690,13 +689,13 @@ public class ClientRegionFactoryBeanTest { factoryBean.setDataPolicy(DataPolicy.NORMAL); factoryBean.setPersistent(true); - assertTrue(factoryBean.isPersistent()); - assertNull(TestUtils.readField("shortcut", factoryBean)); + assertThat(factoryBean.isPersistent()).isTrue(); + assertThat(TestUtils.readField("shortcut", factoryBean)).isNull(); factoryBean.resolveClientRegionShortcut(); } catch (IllegalArgumentException expected) { - assertEquals("Data Policy [NORMAL] is not valid when persistent is true", expected.getMessage()); + assertThat(expected.getMessage()).isEqualTo("Data Policy [NORMAL] is not valid when persistent is true"); throw expected; } } @@ -706,9 +705,9 @@ public class ClientRegionFactoryBeanTest { factoryBean.setDataPolicy(DataPolicy.PERSISTENT_REPLICATE); - assertNull(TestUtils.readField("persistent", factoryBean)); - assertNull(TestUtils.readField("shortcut", factoryBean)); - assertEquals(ClientRegionShortcut.LOCAL_PERSISTENT, factoryBean.resolveClientRegionShortcut()); + assertThat(TestUtils.readField("persistent", factoryBean)).isNull(); + assertThat(TestUtils.readField("shortcut", factoryBean)).isNull(); + assertThat(factoryBean.resolveClientRegionShortcut()).isEqualTo(ClientRegionShortcut.LOCAL_PERSISTENT); } @Test(expected = IllegalArgumentException.class) @@ -718,13 +717,14 @@ public class ClientRegionFactoryBeanTest { factoryBean.setDataPolicy(DataPolicy.PERSISTENT_REPLICATE); factoryBean.setPersistent(false); - assertTrue(factoryBean.isNotPersistent()); - assertNull(TestUtils.readField("shortcut", factoryBean)); + assertThat(factoryBean.isNotPersistent()).isTrue(); + assertThat(TestUtils.readField("shortcut", factoryBean)).isNull(); factoryBean.resolveClientRegionShortcut(); } catch (IllegalArgumentException expected) { - assertEquals("Data Policy [PERSISTENT_REPLICATE] is not valid when persistent is false", expected.getMessage()); + assertThat(expected.getMessage()) + .isEqualTo("Data Policy [PERSISTENT_REPLICATE] is not valid when persistent is false"); throw expected; } } @@ -735,9 +735,9 @@ public class ClientRegionFactoryBeanTest { factoryBean.setDataPolicy(DataPolicy.PERSISTENT_REPLICATE); factoryBean.setPersistent(true); - assertNull(TestUtils.readField("shortcut", factoryBean)); - assertTrue(factoryBean.isPersistent()); - assertEquals(ClientRegionShortcut.LOCAL_PERSISTENT, factoryBean.resolveClientRegionShortcut()); + assertThat(TestUtils.readField("shortcut", factoryBean)).isNull(); + assertThat(factoryBean.isPersistent()).isTrue(); + assertThat(factoryBean.resolveClientRegionShortcut()).isEqualTo(ClientRegionShortcut.LOCAL_PERSISTENT); } private Interest newInterest(K key) { diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/client/ClientRegionShortcutConverterTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/client/ClientRegionShortcutConverterUnitTests.java similarity index 54% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/client/ClientRegionShortcutConverterTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/client/ClientRegionShortcutConverterUnitTests.java index 641ab77a..d711bee0 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/client/ClientRegionShortcutConverterTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/client/ClientRegionShortcutConverterUnitTests.java @@ -14,53 +14,52 @@ * limitations under the License. * */ - package org.springframework.data.gemfire.client; -import static org.junit.Assert.assertEquals; +import static org.assertj.core.api.Assertions.assertThat; import org.junit.Test; import org.apache.geode.cache.client.ClientRegionShortcut; /** - * The ClientRegionShortcutConverterTest class is a test suite of test cases testing the contract and functionality - * of the ClientRegionShortcutConverter class + * Unit Tests for {@link ClientRegionShortcutConverter}. * * @author John Blum * @see org.junit.Test - * @see ClientRegionShortcutConverter * @see org.apache.geode.cache.client.ClientRegionShortcut + * @see org.springframework.data.gemfire.client.ClientRegionShortcutConverter * @since 1.3.4 */ -public class ClientRegionShortcutConverterTest { +public class ClientRegionShortcutConverterUnitTests { private final ClientRegionShortcutConverter converter = new ClientRegionShortcutConverter(); @Test public void testToUpperCase() { - assertEquals("TEST", ClientRegionShortcutConverter.toUpperCase("test")); - assertEquals("TEST", ClientRegionShortcutConverter.toUpperCase(" Test ")); - assertEquals("", ClientRegionShortcutConverter.toUpperCase("")); - assertEquals("", ClientRegionShortcutConverter.toUpperCase(" ")); - assertEquals("NULL", ClientRegionShortcutConverter.toUpperCase("null")); - assertEquals("null", ClientRegionShortcutConverter.toUpperCase(null)); + + assertThat(ClientRegionShortcutConverter.toUpperCase("test")).isEqualTo("TEST"); + assertThat(ClientRegionShortcutConverter.toUpperCase(" Test ")).isEqualTo("TEST"); + assertThat(ClientRegionShortcutConverter.toUpperCase("")).isEqualTo(""); + assertThat(ClientRegionShortcutConverter.toUpperCase(" ")).isEqualTo(""); + assertThat(ClientRegionShortcutConverter.toUpperCase("null")).isEqualTo("NULL"); + assertThat(ClientRegionShortcutConverter.toUpperCase(null)).isEqualTo("null"); } @Test public void testConvert() { + for (ClientRegionShortcut shortcut : ClientRegionShortcut.values()) { - assertEquals(shortcut, converter.convert(shortcut.name())); + assertThat(converter.convert(shortcut.name())).isEqualTo(shortcut); } - assertEquals(ClientRegionShortcut.PROXY, converter.convert("Proxy")); - assertEquals(ClientRegionShortcut.CACHING_PROXY, converter.convert("caching_proxy")); - assertEquals(ClientRegionShortcut.LOCAL_HEAP_LRU, converter.convert("local_Heap_LRU")); + assertThat(converter.convert("Proxy")).isEqualTo(ClientRegionShortcut.PROXY); + assertThat(converter.convert("caching_proxy")).isEqualTo(ClientRegionShortcut.CACHING_PROXY); + assertThat(converter.convert("local_Heap_LRU")).isEqualTo(ClientRegionShortcut.LOCAL_HEAP_LRU); } @Test(expected = IllegalArgumentException.class) public void testConvertWithIllegalEnumeratedValue() { converter.convert("LOCAL Persistent OverFlow"); } - } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/client/ClientRegionShortcutWrapperTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/client/ClientRegionShortcutWrapperTest.java deleted file mode 100644 index c5a8cc52..00000000 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/client/ClientRegionShortcutWrapperTest.java +++ /dev/null @@ -1,153 +0,0 @@ -/* - * Copyright 2016-2021 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -package org.springframework.data.gemfire.client; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import org.junit.Test; - -import org.apache.geode.cache.client.ClientRegionShortcut; - -/** - * The ClientRegionShortcutWrapperTest class is a test suite of test cases testing the contract and functionality of the - * ClientRegionShortcutWrapper enum class type. - * - * @author John Blum - * @see org.junit.Test - * @see ClientRegionShortcutWrapper - * @see org.apache.geode.cache.client.ClientRegionShortcut - * @since 1.4.0 - */ -public class ClientRegionShortcutWrapperTest { - - @Test - public void testOneToOneMapping() { - for (ClientRegionShortcut shortcut : ClientRegionShortcut.values()) { - assertNotNull(ClientRegionShortcutWrapper.valueOf(shortcut.name())); - assertFalse(ClientRegionShortcutWrapper.UNSPECIFIED.equals(ClientRegionShortcutWrapper.valueOf(shortcut))); - } - } - - @Test - public void testClientRegionShortcutUnspecified() { - assertEquals(ClientRegionShortcutWrapper.UNSPECIFIED, ClientRegionShortcutWrapper.valueOf( - (ClientRegionShortcut) null)); - } - - @Test - public void testIsCaching() { - assertTrue(ClientRegionShortcutWrapper.CACHING_PROXY.isCaching()); - assertTrue(ClientRegionShortcutWrapper.CACHING_PROXY_HEAP_LRU.isCaching()); - assertTrue(ClientRegionShortcutWrapper.CACHING_PROXY_OVERFLOW.isCaching()); - assertFalse(ClientRegionShortcutWrapper.LOCAL.isCaching()); - assertFalse(ClientRegionShortcutWrapper.LOCAL_HEAP_LRU.isCaching()); - assertFalse(ClientRegionShortcutWrapper.LOCAL_OVERFLOW.isCaching()); - assertFalse(ClientRegionShortcutWrapper.LOCAL_PERSISTENT.isCaching()); - assertFalse(ClientRegionShortcutWrapper.LOCAL_PERSISTENT_OVERFLOW.isCaching()); - assertFalse(ClientRegionShortcutWrapper.PROXY.isCaching()); - assertFalse(ClientRegionShortcutWrapper.UNSPECIFIED.isCaching()); - } - - @Test - public void testIsHeapLru() { - assertFalse(ClientRegionShortcutWrapper.CACHING_PROXY.isHeapLru()); - assertTrue(ClientRegionShortcutWrapper.CACHING_PROXY_HEAP_LRU.isHeapLru()); - assertFalse(ClientRegionShortcutWrapper.CACHING_PROXY_OVERFLOW.isHeapLru()); - assertFalse(ClientRegionShortcutWrapper.LOCAL.isHeapLru()); - assertTrue(ClientRegionShortcutWrapper.LOCAL_HEAP_LRU.isHeapLru()); - assertFalse(ClientRegionShortcutWrapper.LOCAL_OVERFLOW.isHeapLru()); - assertFalse(ClientRegionShortcutWrapper.LOCAL_PERSISTENT.isHeapLru()); - assertFalse(ClientRegionShortcutWrapper.LOCAL_PERSISTENT_OVERFLOW.isHeapLru()); - assertFalse(ClientRegionShortcutWrapper.PROXY.isHeapLru()); - assertFalse(ClientRegionShortcutWrapper.UNSPECIFIED.isHeapLru()); - } - - @Test - public void testIsLocal() { - assertFalse(ClientRegionShortcutWrapper.CACHING_PROXY.isLocal()); - assertFalse(ClientRegionShortcutWrapper.CACHING_PROXY_HEAP_LRU.isLocal()); - assertFalse(ClientRegionShortcutWrapper.CACHING_PROXY_OVERFLOW.isLocal()); - assertTrue(ClientRegionShortcutWrapper.LOCAL.isLocal()); - assertTrue(ClientRegionShortcutWrapper.LOCAL_HEAP_LRU.isLocal()); - assertTrue(ClientRegionShortcutWrapper.LOCAL_OVERFLOW.isLocal()); - assertTrue(ClientRegionShortcutWrapper.LOCAL_PERSISTENT.isLocal()); - assertTrue(ClientRegionShortcutWrapper.LOCAL_PERSISTENT_OVERFLOW.isLocal()); - assertFalse(ClientRegionShortcutWrapper.PROXY.isLocal()); - assertFalse(ClientRegionShortcutWrapper.UNSPECIFIED.isLocal()); - } - - @Test - public void testIsOverflow() { - assertFalse(ClientRegionShortcutWrapper.CACHING_PROXY.isOverflow()); - assertFalse(ClientRegionShortcutWrapper.CACHING_PROXY_HEAP_LRU.isOverflow()); - assertTrue(ClientRegionShortcutWrapper.CACHING_PROXY_OVERFLOW.isOverflow()); - assertFalse(ClientRegionShortcutWrapper.LOCAL.isOverflow()); - assertFalse(ClientRegionShortcutWrapper.LOCAL_HEAP_LRU.isOverflow()); - assertTrue(ClientRegionShortcutWrapper.LOCAL_OVERFLOW.isOverflow()); - assertFalse(ClientRegionShortcutWrapper.LOCAL_PERSISTENT.isOverflow()); - assertTrue(ClientRegionShortcutWrapper.LOCAL_PERSISTENT_OVERFLOW.isOverflow()); - assertFalse(ClientRegionShortcutWrapper.PROXY.isOverflow()); - assertFalse(ClientRegionShortcutWrapper.UNSPECIFIED.isOverflow()); - } - - @Test - public void testIsPersistent() { - assertFalse(ClientRegionShortcutWrapper.CACHING_PROXY.isPersistent()); - assertFalse(ClientRegionShortcutWrapper.CACHING_PROXY_HEAP_LRU.isPersistent()); - assertFalse(ClientRegionShortcutWrapper.CACHING_PROXY_OVERFLOW.isPersistent()); - assertFalse(ClientRegionShortcutWrapper.LOCAL.isPersistent()); - assertFalse(ClientRegionShortcutWrapper.LOCAL_HEAP_LRU.isPersistent()); - assertFalse(ClientRegionShortcutWrapper.LOCAL_OVERFLOW.isPersistent()); - assertTrue(ClientRegionShortcutWrapper.LOCAL_PERSISTENT.isPersistent()); - assertTrue(ClientRegionShortcutWrapper.LOCAL_PERSISTENT_OVERFLOW.isPersistent()); - assertFalse(ClientRegionShortcutWrapper.PROXY.isPersistent()); - assertFalse(ClientRegionShortcutWrapper.UNSPECIFIED.isPersistent()); - } - - @Test - public void testIsPersistentOverflow() { - assertFalse(ClientRegionShortcutWrapper.CACHING_PROXY.isPersistentOverflow()); - assertFalse(ClientRegionShortcutWrapper.CACHING_PROXY_HEAP_LRU.isPersistentOverflow()); - assertFalse(ClientRegionShortcutWrapper.CACHING_PROXY_OVERFLOW.isPersistentOverflow()); - assertFalse(ClientRegionShortcutWrapper.LOCAL.isPersistentOverflow()); - assertFalse(ClientRegionShortcutWrapper.LOCAL_HEAP_LRU.isPersistentOverflow()); - assertFalse(ClientRegionShortcutWrapper.LOCAL_OVERFLOW.isPersistentOverflow()); - assertFalse(ClientRegionShortcutWrapper.LOCAL_PERSISTENT.isPersistentOverflow()); - assertTrue(ClientRegionShortcutWrapper.LOCAL_PERSISTENT_OVERFLOW.isPersistentOverflow()); - assertFalse(ClientRegionShortcutWrapper.PROXY.isPersistentOverflow()); - assertFalse(ClientRegionShortcutWrapper.UNSPECIFIED.isPersistentOverflow()); - } - - @Test - public void testIsProxy() { - assertTrue(ClientRegionShortcutWrapper.CACHING_PROXY.isProxy()); - assertTrue(ClientRegionShortcutWrapper.CACHING_PROXY_HEAP_LRU.isProxy()); - assertTrue(ClientRegionShortcutWrapper.CACHING_PROXY_OVERFLOW.isProxy()); - assertFalse(ClientRegionShortcutWrapper.LOCAL.isProxy()); - assertFalse(ClientRegionShortcutWrapper.LOCAL_HEAP_LRU.isProxy()); - assertFalse(ClientRegionShortcutWrapper.LOCAL_OVERFLOW.isProxy()); - assertFalse(ClientRegionShortcutWrapper.LOCAL_PERSISTENT.isProxy()); - assertFalse(ClientRegionShortcutWrapper.LOCAL_PERSISTENT_OVERFLOW.isProxy()); - assertTrue(ClientRegionShortcutWrapper.PROXY.isProxy()); - assertFalse(ClientRegionShortcutWrapper.UNSPECIFIED.isProxy()); - } - -} diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/client/ClientRegionShortcutWrapperUnitTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/client/ClientRegionShortcutWrapperUnitTests.java new file mode 100644 index 00000000..a12b5e6c --- /dev/null +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/client/ClientRegionShortcutWrapperUnitTests.java @@ -0,0 +1,156 @@ +/* + * Copyright 2016-2021 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.springframework.data.gemfire.client; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.Test; + +import org.apache.geode.cache.client.ClientRegionShortcut; + +/** + * Unit Tests for {@link ClientRegionShortcutWrapper} enum. + * + * @author John Blum + * @see org.junit.Test + * @see org.apache.geode.cache.client.ClientRegionShortcut + * @see org.springframework.data.gemfire.client.ClientRegionShortcutWrapper + * @since 1.4.0 + */ +public class ClientRegionShortcutWrapperUnitTests { + + @Test + public void testOneToOneMapping() { + + for (ClientRegionShortcut shortcut : ClientRegionShortcut.values()) { + assertThat(ClientRegionShortcutWrapper.valueOf(shortcut.name())).isNotNull(); + assertThat(ClientRegionShortcutWrapper.UNSPECIFIED.equals(ClientRegionShortcutWrapper.valueOf(shortcut))).isFalse(); + } + } + + @Test + public void testClientRegionShortcutUnspecified() { + + assertThat(ClientRegionShortcutWrapper.valueOf( + (ClientRegionShortcut) null)).isEqualTo(ClientRegionShortcutWrapper.UNSPECIFIED); + } + + @Test + public void testIsCaching() { + + assertThat(ClientRegionShortcutWrapper.CACHING_PROXY.isCaching()).isTrue(); + assertThat(ClientRegionShortcutWrapper.CACHING_PROXY_HEAP_LRU.isCaching()).isTrue(); + assertThat(ClientRegionShortcutWrapper.CACHING_PROXY_OVERFLOW.isCaching()).isTrue(); + assertThat(ClientRegionShortcutWrapper.LOCAL.isCaching()).isFalse(); + assertThat(ClientRegionShortcutWrapper.LOCAL_HEAP_LRU.isCaching()).isFalse(); + assertThat(ClientRegionShortcutWrapper.LOCAL_OVERFLOW.isCaching()).isFalse(); + assertThat(ClientRegionShortcutWrapper.LOCAL_PERSISTENT.isCaching()).isFalse(); + assertThat(ClientRegionShortcutWrapper.LOCAL_PERSISTENT_OVERFLOW.isCaching()).isFalse(); + assertThat(ClientRegionShortcutWrapper.PROXY.isCaching()).isFalse(); + assertThat(ClientRegionShortcutWrapper.UNSPECIFIED.isCaching()).isFalse(); + } + + @Test + public void testIsHeapLru() { + + assertThat(ClientRegionShortcutWrapper.CACHING_PROXY.isHeapLru()).isFalse(); + assertThat(ClientRegionShortcutWrapper.CACHING_PROXY_HEAP_LRU.isHeapLru()).isTrue(); + assertThat(ClientRegionShortcutWrapper.CACHING_PROXY_OVERFLOW.isHeapLru()).isFalse(); + assertThat(ClientRegionShortcutWrapper.LOCAL.isHeapLru()).isFalse(); + assertThat(ClientRegionShortcutWrapper.LOCAL_HEAP_LRU.isHeapLru()).isTrue(); + assertThat(ClientRegionShortcutWrapper.LOCAL_OVERFLOW.isHeapLru()).isFalse(); + assertThat(ClientRegionShortcutWrapper.LOCAL_PERSISTENT.isHeapLru()).isFalse(); + assertThat(ClientRegionShortcutWrapper.LOCAL_PERSISTENT_OVERFLOW.isHeapLru()).isFalse(); + assertThat(ClientRegionShortcutWrapper.PROXY.isHeapLru()).isFalse(); + assertThat(ClientRegionShortcutWrapper.UNSPECIFIED.isHeapLru()).isFalse(); + } + + @Test + public void testIsLocal() { + + assertThat(ClientRegionShortcutWrapper.CACHING_PROXY.isLocal()).isFalse(); + assertThat(ClientRegionShortcutWrapper.CACHING_PROXY_HEAP_LRU.isLocal()).isFalse(); + assertThat(ClientRegionShortcutWrapper.CACHING_PROXY_OVERFLOW.isLocal()).isFalse(); + assertThat(ClientRegionShortcutWrapper.LOCAL.isLocal()).isTrue(); + assertThat(ClientRegionShortcutWrapper.LOCAL_HEAP_LRU.isLocal()).isTrue(); + assertThat(ClientRegionShortcutWrapper.LOCAL_OVERFLOW.isLocal()).isTrue(); + assertThat(ClientRegionShortcutWrapper.LOCAL_PERSISTENT.isLocal()).isTrue(); + assertThat(ClientRegionShortcutWrapper.LOCAL_PERSISTENT_OVERFLOW.isLocal()).isTrue(); + assertThat(ClientRegionShortcutWrapper.PROXY.isLocal()).isFalse(); + assertThat(ClientRegionShortcutWrapper.UNSPECIFIED.isLocal()).isFalse(); + } + + @Test + public void testIsOverflow() { + + assertThat(ClientRegionShortcutWrapper.CACHING_PROXY.isOverflow()).isFalse(); + assertThat(ClientRegionShortcutWrapper.CACHING_PROXY_HEAP_LRU.isOverflow()).isFalse(); + assertThat(ClientRegionShortcutWrapper.CACHING_PROXY_OVERFLOW.isOverflow()).isTrue(); + assertThat(ClientRegionShortcutWrapper.LOCAL.isOverflow()).isFalse(); + assertThat(ClientRegionShortcutWrapper.LOCAL_HEAP_LRU.isOverflow()).isFalse(); + assertThat(ClientRegionShortcutWrapper.LOCAL_OVERFLOW.isOverflow()).isTrue(); + assertThat(ClientRegionShortcutWrapper.LOCAL_PERSISTENT.isOverflow()).isFalse(); + assertThat(ClientRegionShortcutWrapper.LOCAL_PERSISTENT_OVERFLOW.isOverflow()).isTrue(); + assertThat(ClientRegionShortcutWrapper.PROXY.isOverflow()).isFalse(); + assertThat(ClientRegionShortcutWrapper.UNSPECIFIED.isOverflow()).isFalse(); + } + + @Test + public void testIsPersistent() { + + assertThat(ClientRegionShortcutWrapper.CACHING_PROXY.isPersistent()).isFalse(); + assertThat(ClientRegionShortcutWrapper.CACHING_PROXY_HEAP_LRU.isPersistent()).isFalse(); + assertThat(ClientRegionShortcutWrapper.CACHING_PROXY_OVERFLOW.isPersistent()).isFalse(); + assertThat(ClientRegionShortcutWrapper.LOCAL.isPersistent()).isFalse(); + assertThat(ClientRegionShortcutWrapper.LOCAL_HEAP_LRU.isPersistent()).isFalse(); + assertThat(ClientRegionShortcutWrapper.LOCAL_OVERFLOW.isPersistent()).isFalse(); + assertThat(ClientRegionShortcutWrapper.LOCAL_PERSISTENT.isPersistent()).isTrue(); + assertThat(ClientRegionShortcutWrapper.LOCAL_PERSISTENT_OVERFLOW.isPersistent()).isTrue(); + assertThat(ClientRegionShortcutWrapper.PROXY.isPersistent()).isFalse(); + assertThat(ClientRegionShortcutWrapper.UNSPECIFIED.isPersistent()).isFalse(); + } + + @Test + public void testIsPersistentOverflow() { + + assertThat(ClientRegionShortcutWrapper.CACHING_PROXY.isPersistentOverflow()).isFalse(); + assertThat(ClientRegionShortcutWrapper.CACHING_PROXY_HEAP_LRU.isPersistentOverflow()).isFalse(); + assertThat(ClientRegionShortcutWrapper.CACHING_PROXY_OVERFLOW.isPersistentOverflow()).isFalse(); + assertThat(ClientRegionShortcutWrapper.LOCAL.isPersistentOverflow()).isFalse(); + assertThat(ClientRegionShortcutWrapper.LOCAL_HEAP_LRU.isPersistentOverflow()).isFalse(); + assertThat(ClientRegionShortcutWrapper.LOCAL_OVERFLOW.isPersistentOverflow()).isFalse(); + assertThat(ClientRegionShortcutWrapper.LOCAL_PERSISTENT.isPersistentOverflow()).isFalse(); + assertThat(ClientRegionShortcutWrapper.LOCAL_PERSISTENT_OVERFLOW.isPersistentOverflow()).isTrue(); + assertThat(ClientRegionShortcutWrapper.PROXY.isPersistentOverflow()).isFalse(); + assertThat(ClientRegionShortcutWrapper.UNSPECIFIED.isPersistentOverflow()).isFalse(); + } + + @Test + public void testIsProxy() { + + assertThat(ClientRegionShortcutWrapper.CACHING_PROXY.isProxy()).isTrue(); + assertThat(ClientRegionShortcutWrapper.CACHING_PROXY_HEAP_LRU.isProxy()).isTrue(); + assertThat(ClientRegionShortcutWrapper.CACHING_PROXY_OVERFLOW.isProxy()).isTrue(); + assertThat(ClientRegionShortcutWrapper.LOCAL.isProxy()).isFalse(); + assertThat(ClientRegionShortcutWrapper.LOCAL_HEAP_LRU.isProxy()).isFalse(); + assertThat(ClientRegionShortcutWrapper.LOCAL_OVERFLOW.isProxy()).isFalse(); + assertThat(ClientRegionShortcutWrapper.LOCAL_PERSISTENT.isProxy()).isFalse(); + assertThat(ClientRegionShortcutWrapper.LOCAL_PERSISTENT_OVERFLOW.isProxy()).isFalse(); + assertThat(ClientRegionShortcutWrapper.PROXY.isProxy()).isTrue(); + assertThat(ClientRegionShortcutWrapper.UNSPECIFIED.isProxy()).isFalse(); + } +} diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/client/InterestResultPolicyTypeTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/client/InterestResultPolicyTypeTest.java deleted file mode 100644 index 1c6aaa1d..00000000 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/client/InterestResultPolicyTypeTest.java +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Copyright 2010-2021 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.springframework.data.gemfire.client; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertSame; - -import org.junit.Test; - -import org.apache.geode.cache.InterestResultPolicy; - -/** - * The InterestResultPolicyTypeTest class is a test suite of test cases testing the contract and functionality - * of the InterestResultPolicyType enum. - * - * @author John Blum - * @see org.junit.Test - * @see org.springframework.data.gemfire.client.InterestResultPolicyTypeTest - * @see org.apache.geode.cache.InterestResultPolicy - * @since 1.6.0 - */ -public class InterestResultPolicyTypeTest { - - @Test - public void testStaticGetInterestResultPolicy() { - assertEquals(InterestResultPolicy.KEYS, InterestResultPolicyType.getInterestResultPolicy( - InterestResultPolicyType.KEYS)); - assertEquals(InterestResultPolicy.KEYS_VALUES, InterestResultPolicyType.getInterestResultPolicy( - InterestResultPolicyType.KEYS_VALUES)); - } - - @Test - public void testStaticGetInterestResultPolicyWithNull() { - assertNull(InterestResultPolicyType.getInterestResultPolicy(null)); - } - - @Test - public void testDefault() { - assertEquals(InterestResultPolicyType.DEFAULT, InterestResultPolicyType.valueOf(InterestResultPolicy.DEFAULT)); - assertEquals(InterestResultPolicy.DEFAULT, InterestResultPolicyType.DEFAULT.getInterestResultPolicy()); - assertSame(InterestResultPolicyType.KEYS_VALUES, InterestResultPolicyType.DEFAULT); - } - - @Test - public void testValueOf() { - try { - for (byte ordinal = 0; ordinal < Byte.MAX_VALUE; ordinal++) { - InterestResultPolicy interestResultPolicy = InterestResultPolicy.fromOrdinal(ordinal); - InterestResultPolicyType interestResultPolicyType = InterestResultPolicyType.valueOf( - interestResultPolicy); - - assertNotNull(interestResultPolicyType); - assertEquals(interestResultPolicy, interestResultPolicyType.getInterestResultPolicy()); - } - } - catch (ArrayIndexOutOfBoundsException ignore) { - } - } - - @Test - public void testValueOfWithNull() { - assertNull(InterestResultPolicyType.valueOf((InterestResultPolicy) null)); - } - - @Test - public void testValueOfIgnoreCase() { - assertEquals(InterestResultPolicyType.KEYS, InterestResultPolicyType.valueOfIgnoreCase("KEYS")); - assertEquals(InterestResultPolicyType.KEYS_VALUES, InterestResultPolicyType.valueOfIgnoreCase("Keys_Values")); - assertEquals(InterestResultPolicyType.NONE, InterestResultPolicyType.valueOfIgnoreCase("none")); - assertEquals(InterestResultPolicyType.NONE, InterestResultPolicyType.valueOfIgnoreCase("nONE")); - } - - @Test - public void testValueOfIgnoreCaseWithInvalidValues() { - assertNull(InterestResultPolicyType.valueOfIgnoreCase("keyz")); - assertNull(InterestResultPolicyType.valueOfIgnoreCase("KEY_VALUE")); - assertNull(InterestResultPolicyType.valueOfIgnoreCase("all")); - assertNull(InterestResultPolicyType.valueOfIgnoreCase(" ")); - assertNull(InterestResultPolicyType.valueOfIgnoreCase("")); - assertNull(InterestResultPolicyType.valueOfIgnoreCase(null)); - } - -} diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/client/InterestResultPolicyTypeUnitTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/client/InterestResultPolicyTypeUnitTests.java new file mode 100644 index 00000000..6387fdfc --- /dev/null +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/client/InterestResultPolicyTypeUnitTests.java @@ -0,0 +1,98 @@ +/* + * Copyright 2010-2021 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.gemfire.client; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.Test; + +import org.apache.geode.cache.InterestResultPolicy; + +/** + * Unit Tests for {@link InterestResultPolicyType} enum. + * + * @author John Blum + * @see org.junit.Test + * @see org.apache.geode.cache.InterestResultPolicy + * @see org.springframework.data.gemfire.client.InterestResultPolicyTypeUnitTests + * @since 1.6.0 + */ +public class InterestResultPolicyTypeUnitTests { + + @Test + public void testStaticGetInterestResultPolicy() { + + assertThat(InterestResultPolicyType.getInterestResultPolicy(InterestResultPolicyType.KEYS)).isEqualTo(InterestResultPolicy.KEYS); + assertThat(InterestResultPolicyType.getInterestResultPolicy(InterestResultPolicyType.KEYS_VALUES)).isEqualTo(InterestResultPolicy.KEYS_VALUES); + } + + @Test + public void testStaticGetInterestResultPolicyWithNull() { + assertThat(InterestResultPolicyType.getInterestResultPolicy(null)).isNull(); + } + + @Test + public void testDefault() { + + assertThat(InterestResultPolicyType.valueOf(InterestResultPolicy.DEFAULT)).isEqualTo(InterestResultPolicyType.DEFAULT); + assertThat(InterestResultPolicyType.DEFAULT.getInterestResultPolicy()).isEqualTo(InterestResultPolicy.DEFAULT); + assertThat(InterestResultPolicyType.DEFAULT).isSameAs(InterestResultPolicyType.KEYS_VALUES); + } + + @Test + public void testValueOf() { + + try { + for (byte ordinal = 0; ordinal < Byte.MAX_VALUE; ordinal++) { + + InterestResultPolicy interestResultPolicy = InterestResultPolicy.fromOrdinal(ordinal); + + InterestResultPolicyType interestResultPolicyType = + InterestResultPolicyType.valueOf(interestResultPolicy); + + assertThat(interestResultPolicyType).isNotNull(); + assertThat(interestResultPolicyType.getInterestResultPolicy()).isEqualTo(interestResultPolicy); + } + } + catch (ArrayIndexOutOfBoundsException ignore) { + } + } + + @Test + public void testValueOfWithNull() { + assertThat(InterestResultPolicyType.valueOf((InterestResultPolicy) null)).isNull(); + } + + @Test + public void testValueOfIgnoreCase() { + + assertThat(InterestResultPolicyType.valueOfIgnoreCase("KEYS")).isEqualTo(InterestResultPolicyType.KEYS); + assertThat(InterestResultPolicyType.valueOfIgnoreCase("Keys_Values")).isEqualTo(InterestResultPolicyType.KEYS_VALUES); + assertThat(InterestResultPolicyType.valueOfIgnoreCase("none")).isEqualTo(InterestResultPolicyType.NONE); + assertThat(InterestResultPolicyType.valueOfIgnoreCase("nONE")).isEqualTo(InterestResultPolicyType.NONE); + } + + @Test + public void testValueOfIgnoreCaseWithInvalidValues() { + assertThat(InterestResultPolicyType.valueOfIgnoreCase("keyz")).isNull(); + + assertThat(InterestResultPolicyType.valueOfIgnoreCase("KEY_VALUE")).isNull(); + assertThat(InterestResultPolicyType.valueOfIgnoreCase("all")).isNull(); + assertThat(InterestResultPolicyType.valueOfIgnoreCase(" ")).isNull(); + assertThat(InterestResultPolicyType.valueOfIgnoreCase("")).isNull(); + assertThat(InterestResultPolicyType.valueOfIgnoreCase(null)).isNull(); + } +} diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/client/SpringJavaConfiguredClientCacheIntegrationTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/client/SpringJavaConfiguredClientCacheIntegrationTests.java similarity index 65% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/client/SpringJavaConfiguredClientCacheIntegrationTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/client/SpringJavaConfiguredClientCacheIntegrationTests.java index 45079e71..77219d3f 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/client/SpringJavaConfiguredClientCacheIntegrationTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/client/SpringJavaConfiguredClientCacheIntegrationTests.java @@ -13,13 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.springframework.data.gemfire.client; -import static org.hamcrest.CoreMatchers.equalTo; -import static org.hamcrest.CoreMatchers.is; -import static org.hamcrest.CoreMatchers.notNullValue; -import static org.junit.Assert.assertThat; +import static org.assertj.core.api.Assertions.assertThat; import java.util.Properties; @@ -28,31 +24,35 @@ import javax.annotation.Resource; import org.junit.Test; import org.junit.runner.RunWith; +import org.apache.geode.cache.client.ClientCache; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit4.SpringRunner; /** - * The SpringJavaConfiguredClientCacheIntegrationTest class is a test suite of test cases testing - * the proper configuration of a GemFire ClientCache instance using Spring Java-based configuration meta-data. + * Integration Tests for the proper configuration of a {@link ClientCache} instance + * using Spring Java-based configuration metadata. * * @author John Blum * @see org.junit.Test + * @see org.apache.geode.cache.client.ClientCache * @see org.springframework.context.annotation.Bean * @see org.springframework.context.annotation.Configuration * @see org.springframework.data.gemfire.client.ClientCacheFactoryBean + * @see org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport * @see org.springframework.test.context.ContextConfiguration - * @see org.springframework.test.context.junit4.SpringJUnit4ClassRunner - * @see org.apache.geode.cache.client.ClientCache + * @see org.springframework.test.context.junit4.SpringRunner * @link https://jira.spring.io/browse/SGF-441 * @since 1.8.0 */ -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration(classes = SpringJavaConfiguredClientCacheIntegrationTest.GemFireConfiguration.class) +@RunWith(SpringRunner.class) +@ContextConfiguration(classes = SpringJavaConfiguredClientCacheIntegrationTests.TestConfiguration.class) @SuppressWarnings("unused") -public class SpringJavaConfiguredClientCacheIntegrationTest { +public class SpringJavaConfiguredClientCacheIntegrationTests extends IntegrationTestsSupport { @Resource(name = "&clientCache") private ClientCacheFactoryBean clientCacheFactoryBean; @@ -62,28 +62,30 @@ public class SpringJavaConfiguredClientCacheIntegrationTest { @Test public void clientCacheFactoryBeanConfiguration() { - assertThat(clientCacheFactoryBean, is(notNullValue())); - assertThat(clientCacheFactoryBean.getBeanName(), is(equalTo("clientCache"))); - assertThat(clientCacheFactoryBean.getProperties(), is(equalTo(gemfireProperties))); + + assertThat(clientCacheFactoryBean).isNotNull(); + assertThat(clientCacheFactoryBean.getBeanName()).isEqualTo("clientCache"); + assertThat(clientCacheFactoryBean.getProperties()).isEqualTo(gemfireProperties); } @Configuration - public static class GemFireConfiguration { + static class TestConfiguration { @Bean - public Properties gemfireProperties() { + Properties gemfireProperties() { Properties gemfireProperties = new Properties(); - gemfireProperties.setProperty("name", SpringJavaConfiguredClientCacheIntegrationTest.class.getSimpleName()); - gemfireProperties.setProperty("log-level", "error"); + + gemfireProperties.setProperty("name", SpringJavaConfiguredClientCacheIntegrationTests.class.getSimpleName()); return gemfireProperties; } @Bean - public ClientCacheFactoryBean clientCache() { + ClientCacheFactoryBean clientCache() { ClientCacheFactoryBean clientCacheFactoryBean = new ClientCacheFactoryBean(); + clientCacheFactoryBean.setUseBeanFactoryLocator(false); clientCacheFactoryBean.setProperties(gemfireProperties()); diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/client/function/ListRegionsOnServerFunctionTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/client/function/ListRegionsOnServerFunctionUnitTests.java similarity index 56% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/client/function/ListRegionsOnServerFunctionTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/client/function/ListRegionsOnServerFunctionUnitTests.java index b584fca0..54262b04 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/client/function/ListRegionsOnServerFunctionTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/client/function/ListRegionsOnServerFunctionUnitTests.java @@ -14,17 +14,14 @@ * limitations under the License. * */ - package org.springframework.data.gemfire.client.function; -import static org.hamcrest.CoreMatchers.equalTo; -import static org.hamcrest.CoreMatchers.is; -import static org.hamcrest.CoreMatchers.not; -import static org.hamcrest.CoreMatchers.nullValue; -import static org.junit.Assert.assertThat; +import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doAnswer; +import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -36,8 +33,6 @@ import java.util.List; import java.util.concurrent.atomic.AtomicReference; import org.junit.Test; -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; import org.apache.geode.cache.Cache; import org.apache.geode.cache.Region; @@ -45,34 +40,34 @@ import org.apache.geode.cache.execute.FunctionContext; import org.apache.geode.cache.execute.ResultSender; /** - * The ListRegionsOnServerFunctionTest class is a test suite of test cases testing the contract and functionality - * of the ListRegionsOnServerFunction GemFire Function class. + * Unit Tests for {@link ListRegionsOnServerFunction}. * * @author John Blum * @see org.junit.Test * @see org.mockito.Mockito - * @see ListRegionsOnServerFunction + * @see org.apache.geode.cache.Region + * @see org.springframework.data.gemfire.client.function.ListRegionsOnServerFunction * @since 1.7.0 */ -public class ListRegionsOnServerFunctionTest { +public class ListRegionsOnServerFunctionUnitTests { - private ListRegionsOnServerFunction function = new ListRegionsOnServerFunction(); + private final ListRegionsOnServerFunction function = spy(new ListRegionsOnServerFunction()); @Test @SuppressWarnings("unchecked") public void executeReturnsRootRegionNames() { - final Cache mockCache = mock(Cache.class, "MockGemFireCache"); - Region mockRegionOne = mock(Region.class, "MockGemFireRegionOne"); - Region mockRegionTwo = mock(Region.class, "MockGemFireRegionTwo"); - Region mockRegionThree = mock(Region.class, "MockGemFireRegionThree"); + Cache mockCache = mock(Cache.class, "MockGemFireCache"); - FunctionContext mockFunctionContext = mock(FunctionContext.class, "MockGemFireFunctionContext"); + Region mockRegionOne = mock(Region.class, "MockGemFireRegionOne"); + Region mockRegionTwo = mock(Region.class, "MockGemFireRegionTwo"); + Region mockRegionThree = mock(Region.class, "MockGemFireRegionThree"); + + FunctionContext mockFunctionContext = mock(FunctionContext.class, "MockGemFireFunctionContext"); ResultSender mockResultSender = mock(ResultSender.class, "MockGemFireResultSender"); - when(mockCache.rootRegions()).thenReturn(new HashSet<>( - Arrays.>asList(mockRegionOne, mockRegionTwo, mockRegionThree))); + when(mockCache.rootRegions()).thenReturn(new HashSet<>(Arrays.asList(mockRegionOne, mockRegionTwo, mockRegionThree))); when(mockRegionOne.getName()).thenReturn("One"); when(mockRegionTwo.getName()).thenReturn("Two"); when(mockRegionThree.getName()).thenReturn("Three"); @@ -80,28 +75,23 @@ public class ListRegionsOnServerFunctionTest { final AtomicReference> regionNames = new AtomicReference<>(null); - doAnswer(new Answer() { - @Override - public Void answer(final InvocationOnMock invocation) throws Throwable { - regionNames.compareAndSet(null, invocation.getArgument(0)); - return null; - } + doAnswer(invocation -> { + regionNames.compareAndSet(null, invocation.getArgument(0)); + return null; }).when(mockResultSender).lastResult(any(List.class)); - ListRegionsOnServerFunction function = new ListRegionsOnServerFunction() { - @Override Cache getCache() { - return mockCache; - } - }; + ListRegionsOnServerFunction function = spy(new ListRegionsOnServerFunction()); + + doReturn(mockCache).when(function).getCache(); function.execute(mockFunctionContext); List actualRegionNames = regionNames.get(); - assertThat(actualRegionNames, is(not(nullValue()))); - assertThat(actualRegionNames.isEmpty(), is(false)); - assertThat(actualRegionNames.size(), is(equalTo(3))); - assertThat(actualRegionNames.containsAll(Arrays.asList("One", "Two", "Three")), is(true)); + assertThat(actualRegionNames).isNotNull(); + assertThat(actualRegionNames.isEmpty()).isFalse(); + assertThat(actualRegionNames.size()).isEqualTo(3); + assertThat(actualRegionNames.containsAll(Arrays.asList("One", "Two", "Three"))).isTrue(); verify(mockCache, times(1)).rootRegions(); verify(mockRegionOne, times(1)).getName(); @@ -114,9 +104,10 @@ public class ListRegionsOnServerFunctionTest { @Test @SuppressWarnings("unchecked") public void executeWithNoRegions() { - final Cache mockCache = mock(Cache.class, "MockGemFireCache"); - FunctionContext mockFunctionContext = mock(FunctionContext.class, "MockGemFireFunctionContext"); + Cache mockCache = mock(Cache.class, "MockGemFireCache"); + + FunctionContext mockFunctionContext = mock(FunctionContext.class, "MockGemFireFunctionContext"); ResultSender mockResultSender = mock(ResultSender.class, "MockGemFireResultSender"); @@ -125,26 +116,21 @@ public class ListRegionsOnServerFunctionTest { final AtomicReference> regionNames = new AtomicReference<>(null); - doAnswer(new Answer() { - @Override - public Void answer(final InvocationOnMock invocation) throws Throwable { - regionNames.compareAndSet(null, invocation.getArgument(0)); - return null; - } + doAnswer(invocation -> { + regionNames.compareAndSet(null, invocation.getArgument(0)); + return null; }).when(mockResultSender).lastResult(any(List.class)); - ListRegionsOnServerFunction function = new ListRegionsOnServerFunction() { - @Override Cache getCache() { - return mockCache; - } - }; + ListRegionsOnServerFunction function = spy(new ListRegionsOnServerFunction()); + + doReturn(mockCache).when(function).getCache(); function.execute(mockFunctionContext); List actualRegionNames = regionNames.get(); - assertThat(actualRegionNames, is(not(nullValue()))); - assertThat(actualRegionNames.isEmpty(), is(true)); + assertThat(actualRegionNames).isNotNull(); + assertThat(actualRegionNames.isEmpty()).isTrue(); verify(mockCache, times(1)).rootRegions(); verify(mockFunctionContext, times(1)).getResultSender(); @@ -153,17 +139,17 @@ public class ListRegionsOnServerFunctionTest { @Test public void getIdIsFullyQualifiedClassName() { - assertThat(function.getId(), is(equalTo(ListRegionsOnServerFunction.class.getName()))); + assertThat(function.getId()).isEqualTo(ListRegionsOnServerFunction.class.getName()); } @Test public void hasResultIsTrue() { - assertThat(function.hasResult(), is(true)); + assertThat(function.hasResult()).isTrue(); } @Test public void isHighAvailabilityAndOptimizeForWriteAreFalse() { - assertThat(function.isHA(), is(false)); - assertThat(function.optimizeForWrite(), is(false)); + assertThat(function.isHA()).isFalse(); + assertThat(function.optimizeForWrite()).isFalse(); } } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/CacheServerNamespaceTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/CacheServerNamespaceIntegrationTests.java similarity index 55% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/CacheServerNamespaceTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/CacheServerNamespaceIntegrationTests.java index ee1bf784..5611c063 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/CacheServerNamespaceTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/CacheServerNamespaceIntegrationTests.java @@ -15,9 +15,7 @@ */ package org.springframework.data.gemfire.config.xml; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; +import static org.assertj.core.api.Assertions.assertThat; import org.junit.Test; import org.junit.runner.RunWith; @@ -27,9 +25,10 @@ import org.apache.geode.cache.server.ClientSubscriptionConfig; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; +import org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport; import org.springframework.data.gemfire.tests.mock.context.GemFireMockObjectsApplicationContextInitializer; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit4.SpringRunner; import org.springframework.util.StringUtils; /** @@ -41,14 +40,16 @@ import org.springframework.util.StringUtils; * @see org.junit.Test * @see org.apache.geode.cache.server.CacheServer * @see org.springframework.context.ApplicationContext + * @see org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport * @see org.springframework.data.gemfire.tests.mock.context.GemFireMockObjectsApplicationContextInitializer * @see org.springframework.test.context.ContextConfiguration * @see org.springframework.test.context.junit4.SpringJUnit4ClassRunner */ -@ContextConfiguration(locations="server-ns.xml", initializers= GemFireMockObjectsApplicationContextInitializer.class) -@RunWith(SpringJUnit4ClassRunner.class) +@RunWith(SpringRunner.class) +@ContextConfiguration(locations = "server-ns.xml", + initializers = GemFireMockObjectsApplicationContextInitializer.class) @SuppressWarnings("unused") -public class CacheServerNamespaceTest { +public class CacheServerNamespaceIntegrationTests extends IntegrationTestsSupport { @Autowired private ApplicationContext applicationContext; @@ -59,25 +60,27 @@ public class CacheServerNamespaceTest { CacheServer cacheServer = applicationContext.getBean("advanced-config", CacheServer.class); - assertNotNull(cacheServer); - assertEquals(1, cacheServer.getGroups().length); - assertEquals("localhost", cacheServer.getBindAddress()); - assertTrue(cacheServer.getPort() != 0); - assertEquals("localhost", cacheServer.getHostnameForClients()); - assertEquals("test-server", cacheServer.getGroups()[0]); - assertEquals(2000L, cacheServer.getLoadPollInterval()); - assertEquals(22, cacheServer.getMaxConnections()); - assertEquals(16, cacheServer.getMaxThreads()); - assertEquals(1000, cacheServer.getMaximumMessageCount()); - assertEquals(30000, cacheServer.getMaximumTimeBetweenPings()); - assertTrue(cacheServer.isRunning()); + assertThat(cacheServer).isNotNull(); + assertThat(cacheServer.getGroups().length).isEqualTo(1); + assertThat(cacheServer.getBindAddress()).isEqualTo("localhost"); + assertThat(cacheServer.getPort() != 0).isTrue(); + assertThat(cacheServer.getHostnameForClients()).isEqualTo("localhost"); + assertThat(cacheServer.getGroups()[0]).isEqualTo("test-server"); + assertThat(cacheServer.getLoadPollInterval()).isEqualTo(2000L); + assertThat(cacheServer.getMaxConnections()).isEqualTo(22); + assertThat(cacheServer.getMaxThreads()).isEqualTo(16); + assertThat(cacheServer.getMaximumMessageCount()).isEqualTo(1000); + assertThat(cacheServer.getMaximumTimeBetweenPings()).isEqualTo(30000); + assertThat(cacheServer.isRunning()).isTrue(); ClientSubscriptionConfig clientSubscriptionConfig = cacheServer.getClientSubscriptionConfig(); - assertNotNull(clientSubscriptionConfig); - assertEquals(1000, clientSubscriptionConfig.getCapacity()); - assertTrue("ENTRY".equalsIgnoreCase(clientSubscriptionConfig.getEvictionPolicy())); - assertTrue(String.format("Expected empty DiskStoreName; but was (%1$s)", clientSubscriptionConfig.getDiskStoreName()), - StringUtils.isEmpty(clientSubscriptionConfig.getDiskStoreName())); + assertThat(clientSubscriptionConfig).isNotNull(); + assertThat(clientSubscriptionConfig.getCapacity()).isEqualTo(1000); + assertThat("ENTRY".equalsIgnoreCase(clientSubscriptionConfig.getEvictionPolicy())).isTrue(); + + assertThat(StringUtils.isEmpty(clientSubscriptionConfig.getDiskStoreName())) + .describedAs("Expected empty DiskStoreName; but was (%1$s)", clientSubscriptionConfig.getDiskStoreName()) + .isTrue(); } } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/CacheSubscriptionTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/CacheSubscriptionTest.java index fe1011d1..69e6771f 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/CacheSubscriptionTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/CacheSubscriptionTest.java @@ -13,17 +13,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.springframework.data.gemfire.config.xml; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; +import static org.assertj.core.api.Assertions.assertThat; import org.junit.Test; import org.junit.runner.RunWith; import org.apache.geode.cache.InterestPolicy; +import org.apache.geode.cache.Region; import org.apache.geode.cache.RegionAttributes; import org.apache.geode.cache.SubscriptionAttributes; @@ -31,67 +29,80 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.data.gemfire.PeerRegionFactoryBean; import org.springframework.data.gemfire.TestUtils; +import org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport; +import org.springframework.data.gemfire.tests.mock.context.GemFireMockObjectsApplicationContextInitializer; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit4.SpringRunner; /** - * Test to ensure subscription policy can be applied to server regions. + * Integration Tests ensuring subscription policy can be applied to server {@link Region Regions}. * * @author Lyndon Adams * @author John Blum + * @see org.junit.Test + * @see org.apache.geode.cache.Region + * @see org.apache.geode.cache.SubscriptionAttributes + * @see org.springframework.data.gemfire.SubscriptionAttributesFactoryBean + * @see org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport + * @see org.springframework.data.gemfire.tests.mock.context.GemFireMockObjectsApplicationContextInitializer + * @see org.springframework.test.context.ContextConfiguration + * @see org.springframework.test.context.junit4.SpringRunner * @since 1.3.0 */ -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("subscription-ns.xml") -@SuppressWarnings("unused") -public class CacheSubscriptionTest{ +@RunWith(SpringRunner.class) +@ContextConfiguration(locations = "subscription-ns.xml", + initializers = GemFireMockObjectsApplicationContextInitializer.class) +@SuppressWarnings({ "rawtypes", "unused" }) +public class CacheSubscriptionTest extends IntegrationTestsSupport { @Autowired - private ApplicationContext context; + private ApplicationContext applicationContext; @Test public void testReplicatedRegionSubscriptionAllPolicy() throws Exception { - assertTrue(context.containsBean("replicALL")); - PeerRegionFactoryBean regionFactoryBean = context.getBean("&replicALL", PeerRegionFactoryBean.class); + assertThat(applicationContext.containsBean("replicALL")).isTrue(); + + PeerRegionFactoryBean regionFactoryBean = applicationContext.getBean("&replicALL", PeerRegionFactoryBean.class); RegionAttributes regionAttributes = TestUtils.readField("attributes", regionFactoryBean); - assertNotNull(regionAttributes); + assertThat(regionAttributes).isNotNull(); SubscriptionAttributes subscriptionAttributes = regionAttributes.getSubscriptionAttributes(); - assertNotNull(subscriptionAttributes); - assertEquals(InterestPolicy.ALL, subscriptionAttributes.getInterestPolicy()); + assertThat(subscriptionAttributes).isNotNull(); + assertThat(subscriptionAttributes.getInterestPolicy()).isEqualTo(InterestPolicy.ALL); } @Test public void testPartitionRegionSubscriptionCacheContentPolicy() throws Exception { - assertTrue(context.containsBean("partCACHE_CONTENT")); - PeerRegionFactoryBean regionFactoryBean = context.getBean("&partCACHE_CONTENT", PeerRegionFactoryBean.class); + assertThat(applicationContext.containsBean("partCACHE_CONTENT")).isTrue(); + + PeerRegionFactoryBean regionFactoryBean = applicationContext.getBean("&partCACHE_CONTENT", PeerRegionFactoryBean.class); RegionAttributes regionAttributes = TestUtils.readField("attributes", regionFactoryBean); - assertNotNull(regionAttributes); + assertThat(regionAttributes).isNotNull(); SubscriptionAttributes subscriptionAttributes = regionAttributes.getSubscriptionAttributes(); - assertNotNull(subscriptionAttributes); - assertEquals(InterestPolicy.CACHE_CONTENT, subscriptionAttributes.getInterestPolicy()); + assertThat(subscriptionAttributes).isNotNull(); + assertThat(subscriptionAttributes.getInterestPolicy()).isEqualTo(InterestPolicy.CACHE_CONTENT); } @Test public void testPartitionRegionSubscriptionDefaultPolicy() throws Exception { - assertTrue(context.containsBean("partDEFAULT")); - PeerRegionFactoryBean regionFactoryBean = context.getBean("&partDEFAULT", PeerRegionFactoryBean.class); + assertThat(applicationContext.containsBean("partDEFAULT")).isTrue(); + + PeerRegionFactoryBean regionFactoryBean = applicationContext.getBean("&partDEFAULT", PeerRegionFactoryBean.class); RegionAttributes regionAttributes = TestUtils.readField("attributes", regionFactoryBean); - assertNotNull(regionAttributes); + assertThat(regionAttributes).isNotNull(); SubscriptionAttributes subscriptionAttributes = regionAttributes.getSubscriptionAttributes(); - assertNotNull(subscriptionAttributes); - assertEquals(InterestPolicy.DEFAULT, subscriptionAttributes.getInterestPolicy()); + assertThat(subscriptionAttributes).isNotNull(); + assertThat(subscriptionAttributes.getInterestPolicy()).isEqualTo(InterestPolicy.DEFAULT); } - } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/ClientRegionNamespaceTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/ClientRegionNamespaceIntegrationTests.java similarity index 50% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/ClientRegionNamespaceTests.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/ClientRegionNamespaceIntegrationTests.java index 5d281c4e..3cffb91c 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/ClientRegionNamespaceTests.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/ClientRegionNamespaceIntegrationTests.java @@ -16,12 +16,8 @@ package org.springframework.data.gemfire.config.xml; import static java.util.Arrays.stream; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNotSame; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.data.Offset.offset; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @@ -80,7 +76,7 @@ import org.springframework.util.ObjectUtils; @RunWith(SpringRunner.class) @ContextConfiguration(locations = "client-ns.xml", initializers = GemFireMockObjectsApplicationContextInitializer.class) @SuppressWarnings("unused") -public class ClientRegionNamespaceTests extends IntegrationTestsSupport { +public class ClientRegionNamespaceIntegrationTests extends IntegrationTestsSupport { @Autowired private ApplicationContext applicationContext; @@ -94,198 +90,206 @@ public class ClientRegionNamespaceTests extends IntegrationTestsSupport { @Test public void testBeanNames() { - assertTrue(applicationContext.containsBean("SimpleRegion")); - assertTrue(applicationContext.containsBean("Publisher")); - assertTrue(applicationContext.containsBean("ComplexRegion")); - assertTrue(applicationContext.containsBean("PersistentRegion")); - assertTrue(applicationContext.containsBean("OverflowRegion")); - assertTrue(applicationContext.containsBean("Compressed")); + assertThat(applicationContext.containsBean("SimpleRegion")).isTrue(); + assertThat(applicationContext.containsBean("Publisher")).isTrue(); + assertThat(applicationContext.containsBean("ComplexRegion")).isTrue(); + assertThat(applicationContext.containsBean("PersistentRegion")).isTrue(); + assertThat(applicationContext.containsBean("OverflowRegion")).isTrue(); + assertThat(applicationContext.containsBean("Compressed")).isTrue(); } @Test public void testSimpleClientRegion() { - assertTrue(applicationContext.containsBean("simple")); + assertThat(applicationContext.containsBean("simple")).isTrue(); Region simple = applicationContext.getBean("simple", Region.class); - assertNotNull("The 'SimpleRegion' Client Region was not properly configured and initialized!", simple); - assertEquals("SimpleRegion", simple.getName()); - assertEquals(Region.SEPARATOR + "SimpleRegion", simple.getFullPath()); - assertNotNull(simple.getAttributes()); - assertEquals(DataPolicy.NORMAL, simple.getAttributes().getDataPolicy()); + assertThat(simple).as("The 'SimpleRegion' Client Region was not properly configured and initialized!") + .isNotNull(); + assertThat(simple.getName()).isEqualTo("SimpleRegion"); + assertThat(simple.getFullPath()).isEqualTo(Region.SEPARATOR + "SimpleRegion"); + assertThat(simple.getAttributes()).isNotNull(); + assertThat(simple.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.NORMAL); } @Test @SuppressWarnings("rawtypes") public void testPublishingClientRegion() throws Exception { - assertTrue(applicationContext.containsBean("empty")); + assertThat(applicationContext.containsBean("empty")).isTrue(); ClientRegionFactoryBean emptyClientRegionFactoryBean = applicationContext .getBean("&empty", ClientRegionFactoryBean.class); - assertNotNull(emptyClientRegionFactoryBean); - assertEquals(DataPolicy.EMPTY, TestUtils.readField("dataPolicy", emptyClientRegionFactoryBean)); - assertEquals("empty", TestUtils.readField("beanName", emptyClientRegionFactoryBean)); - assertEquals("Publisher", TestUtils.readField("name", emptyClientRegionFactoryBean)); - assertEquals("gemfire-pool", TestUtils.readField("poolName", emptyClientRegionFactoryBean)); + assertThat(emptyClientRegionFactoryBean).isNotNull(); + assertThat(TestUtils.readField("dataPolicy", emptyClientRegionFactoryBean)).isEqualTo(DataPolicy.EMPTY); + assertThat(TestUtils.readField("beanName", emptyClientRegionFactoryBean)).isEqualTo("empty"); + assertThat(TestUtils.readField("name", emptyClientRegionFactoryBean)).isEqualTo("Publisher"); + assertThat(TestUtils.readField("poolName", emptyClientRegionFactoryBean)).isEqualTo("gemfire-pool"); } @Test @SuppressWarnings("rawtypes") public void testComplexClientRegion() throws Exception { - assertTrue(applicationContext.containsBean("complex")); + assertThat(applicationContext.containsBean("complex")).isTrue(); ClientRegionFactoryBean complexClientRegionFactoryBean = applicationContext .getBean("&complex", ClientRegionFactoryBean.class); - assertNotNull(complexClientRegionFactoryBean); + assertThat(complexClientRegionFactoryBean).isNotNull(); CacheListener[] cacheListeners = TestUtils.readField("cacheListeners", complexClientRegionFactoryBean); - assertFalse(ObjectUtils.isEmpty(cacheListeners)); - assertEquals(2, cacheListeners.length); - assertSame(cacheListeners[0], applicationContext.getBean("c-listener")); - assertTrue(cacheListeners[1] instanceof SimpleCacheListener); - assertNotSame(cacheListeners[0], cacheListeners[1]); + assertThat(ObjectUtils.isEmpty(cacheListeners)).isFalse(); + assertThat(cacheListeners.length).isEqualTo(2); + assertThat(applicationContext.getBean("c-listener")).isSameAs(cacheListeners[0]); + assertThat(cacheListeners[1] instanceof SimpleCacheListener).isTrue(); + assertThat(cacheListeners[1]).isNotSameAs(cacheListeners[0]); - RegionAttributes complexRegionAttributes = TestUtils.readField("attributes", complexClientRegionFactoryBean); + RegionAttributes complexRegionAttributes = + TestUtils.>readField("attributes", complexClientRegionFactoryBean); - assertNotNull(complexRegionAttributes); - assertEquals(0.5f, complexRegionAttributes.getLoadFactor(), 0.001); - assertEquals(ExpirationAction.INVALIDATE, complexRegionAttributes.getEntryTimeToLive().getAction()); - assertEquals(500, complexRegionAttributes.getEntryTimeToLive().getTimeout()); - assertEquals(5, complexRegionAttributes.getEvictionAttributes().getMaximum()); + assertThat(complexRegionAttributes).isNotNull(); + assertThat(complexRegionAttributes.getLoadFactor()).isCloseTo(0.5f, offset(0.001f)); + assertThat(complexRegionAttributes.getEntryTimeToLive().getAction()).isEqualTo(ExpirationAction.INVALIDATE); + assertThat(complexRegionAttributes.getEntryTimeToLive().getTimeout()).isEqualTo(500); + assertThat(complexRegionAttributes.getEvictionAttributes().getMaximum()).isEqualTo(5); } @Test @SuppressWarnings("rawtypes") public void testPersistentClientRegion() { - assertTrue(applicationContext.containsBean("persistent")); + assertThat(applicationContext.containsBean("persistent")).isTrue(); - Region persistent = applicationContext.getBean("persistent", Region.class); + Region persistent = applicationContext.getBean("persistent", Region.class); - assertNotNull("The 'PersistentRegion' Region was not properly configured and initialized!", persistent); - assertEquals("PersistentRegion", persistent.getName()); - assertEquals(Region.SEPARATOR + "PersistentRegion", persistent.getFullPath()); + assertThat(persistent) + .describedAs("The 'PersistentRegion' Region was not properly configured and initialized!") + .isNotNull(); + + assertThat(persistent.getName()).isEqualTo("PersistentRegion"); + assertThat(persistent.getFullPath()).isEqualTo(Region.SEPARATOR + "PersistentRegion"); RegionAttributes persistentRegionAttributes = persistent.getAttributes(); - assertEquals(DataPolicy.PERSISTENT_REPLICATE, persistentRegionAttributes.getDataPolicy()); - assertEquals("diskStore", persistentRegionAttributes.getDiskStoreName()); - assertEquals("gemfire-pool", persistentRegionAttributes.getPoolName()); + assertThat(persistentRegionAttributes.getDataPolicy()).isEqualTo(DataPolicy.PERSISTENT_REPLICATE); + assertThat(persistentRegionAttributes.getDiskStoreName()).isEqualTo("diskStore"); + assertThat(persistentRegionAttributes.getPoolName()).isEqualTo("gemfire-pool"); } @Test @SuppressWarnings("rawtypes") public void testOverflowClientRegion() throws Exception { - assertTrue(applicationContext.containsBean("overflow")); + assertThat(applicationContext.containsBean("overflow")).isTrue(); ClientRegionFactoryBean overflowClientRegionFactoryBean = applicationContext .getBean("&overflow", ClientRegionFactoryBean.class); - assertNotNull(overflowClientRegionFactoryBean); - assertEquals("diskStore", TestUtils.readField("diskStoreName", overflowClientRegionFactoryBean)); - assertEquals("gemfire-pool", TestUtils.readField("poolName", overflowClientRegionFactoryBean)); + assertThat(overflowClientRegionFactoryBean).isNotNull(); + assertThat(TestUtils.readField("diskStoreName", overflowClientRegionFactoryBean)).isEqualTo("diskStore"); + assertThat(TestUtils.readField("poolName", overflowClientRegionFactoryBean)).isEqualTo("gemfire-pool"); - RegionAttributes overflowRegionAttributes = TestUtils.readField("attributes", overflowClientRegionFactoryBean); + RegionAttributes overflowRegionAttributes = + TestUtils.>readField("attributes", overflowClientRegionFactoryBean); - assertNotNull(overflowRegionAttributes); - assertEquals(DataPolicy.NORMAL, overflowRegionAttributes.getDataPolicy()); + assertThat(overflowRegionAttributes).isNotNull(); + assertThat(overflowRegionAttributes.getDataPolicy()).isEqualTo(DataPolicy.NORMAL); EvictionAttributes overflowEvictionAttributes = overflowRegionAttributes.getEvictionAttributes(); - assertNotNull(overflowEvictionAttributes); - assertEquals(EvictionAction.OVERFLOW_TO_DISK, overflowEvictionAttributes.getAction()); - assertEquals(EvictionAlgorithm.LRU_MEMORY, overflowEvictionAttributes.getAlgorithm()); - assertEquals(10, overflowEvictionAttributes.getMaximum()); - assertTrue(overflowEvictionAttributes.getObjectSizer() instanceof SimpleObjectSizer); + assertThat(overflowEvictionAttributes).isNotNull(); + assertThat(overflowEvictionAttributes.getAction()).isEqualTo(EvictionAction.OVERFLOW_TO_DISK); + assertThat(overflowEvictionAttributes.getAlgorithm()).isEqualTo(EvictionAlgorithm.LRU_MEMORY); + assertThat(overflowEvictionAttributes.getMaximum()).isEqualTo(10); + assertThat(overflowEvictionAttributes.getObjectSizer() instanceof SimpleObjectSizer).isTrue(); } @Test public void testClientRegionWithCacheLoaderAndCacheWriter() throws Exception { - assertTrue(applicationContext.containsBean("loadWithWrite")); + assertThat(applicationContext.containsBean("loadWithWrite")).isTrue(); ClientRegionFactoryBean factory = applicationContext.getBean("&loadWithWrite", ClientRegionFactoryBean.class); - assertNotNull(factory); - assertEquals("LoadedFullOfWrites", TestUtils.readField("name", factory)); - assertEquals(ClientRegionShortcut.LOCAL, TestUtils.readField("shortcut", factory)); - assertTrue(TestUtils.readField("cacheLoader", factory) instanceof TestCacheLoader); - assertTrue(TestUtils.readField("cacheWriter", factory) instanceof TestCacheWriter); + assertThat(factory).isNotNull(); + assertThat(TestUtils.readField("name", factory)).isEqualTo("LoadedFullOfWrites"); + assertThat(TestUtils.readField("shortcut", factory)).isEqualTo(ClientRegionShortcut.LOCAL); + assertThat(TestUtils.readField("cacheLoader", factory)).isInstanceOf(TestCacheLoader.class); + assertThat(TestUtils.readField("cacheWriter", factory)).isInstanceOf(TestCacheWriter.class); } @Test public void testCompressedReplicateRegion() { - assertTrue(applicationContext.containsBean("Compressed")); + assertThat(applicationContext.containsBean("Compressed")).isTrue(); Region compressed = applicationContext.getBean("Compressed", Region.class); - assertNotNull("The 'Compressed' Client Region was not properly configured and initialized!", compressed); - assertEquals("Compressed", compressed.getName()); - assertEquals(Region.SEPARATOR + "Compressed", compressed.getFullPath()); - assertNotNull(compressed.getAttributes()); - assertEquals(DataPolicy.EMPTY, compressed.getAttributes().getDataPolicy()); - assertEquals("gemfire-pool", compressed.getAttributes().getPoolName()); - assertTrue(String.format("Expected 'TestCompressor'; but was '%1$s'!", - ObjectUtils.nullSafeClassName(compressed.getAttributes().getCompressor())), - compressed.getAttributes().getCompressor() instanceof TestCompressor); - assertEquals("STD", compressed.getAttributes().getCompressor().toString()); + assertThat(compressed).as("The 'Compressed' Client Region was not properly configured and initialized!") + .isNotNull(); + assertThat(compressed.getName()).isEqualTo("Compressed"); + assertThat(compressed.getFullPath()).isEqualTo(Region.SEPARATOR + "Compressed"); + assertThat(compressed.getAttributes()).isNotNull(); + assertThat(compressed.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.EMPTY); + assertThat(compressed.getAttributes().getPoolName()).isEqualTo("gemfire-pool"); + assertThat(compressed.getAttributes().getCompressor() instanceof TestCompressor) + .as(String.format("Expected 'TestCompressor'; but was '%1$s'!", + ObjectUtils.nullSafeClassName(compressed.getAttributes().getCompressor()))).isTrue(); + assertThat(compressed.getAttributes().getCompressor().toString()).isEqualTo("STD"); } @Test @SuppressWarnings("unchecked") public void testClientRegionWithAttributes() { - assertTrue(applicationContext.containsBean("client-with-attributes")); + assertThat(applicationContext.containsBean("client-with-attributes")).isTrue(); Region clientRegion = applicationContext.getBean("client-with-attributes", Region.class); - assertNotNull("The 'client-with-attributes' Client Region was not properly configured and initialized!", clientRegion); - assertEquals("client-with-attributes", clientRegion.getName()); - assertEquals(Region.SEPARATOR + "client-with-attributes", clientRegion.getFullPath()); - assertNotNull(clientRegion.getAttributes()); - assertFalse(clientRegion.getAttributes().getCloningEnabled()); - assertTrue(clientRegion.getAttributes().getConcurrencyChecksEnabled()); - assertEquals(8, clientRegion.getAttributes().getConcurrencyLevel()); - assertEquals(DataPolicy.NORMAL, clientRegion.getAttributes().getDataPolicy()); - assertFalse(clientRegion.getAttributes().getDataPolicy().withPersistence()); - assertEquals(64, clientRegion.getAttributes().getInitialCapacity()); - assertEquals(Long.class, clientRegion.getAttributes().getKeyConstraint()); - assertEquals("0.85", String.valueOf(clientRegion.getAttributes().getLoadFactor())); - assertEquals("gemfire-pool", clientRegion.getAttributes().getPoolName()); - assertEquals(String.class, clientRegion.getAttributes().getValueConstraint()); + assertThat(clientRegion) + .as("The 'client-with-attributes' Client Region was not properly configured and initialized!").isNotNull(); + assertThat(clientRegion.getName()).isEqualTo("client-with-attributes"); + assertThat(clientRegion.getFullPath()).isEqualTo(Region.SEPARATOR + "client-with-attributes"); + assertThat(clientRegion.getAttributes()).isNotNull(); + assertThat(clientRegion.getAttributes().getCloningEnabled()).isFalse(); + assertThat(clientRegion.getAttributes().getConcurrencyChecksEnabled()).isTrue(); + assertThat(clientRegion.getAttributes().getConcurrencyLevel()).isEqualTo(8); + assertThat(clientRegion.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.NORMAL); + assertThat(clientRegion.getAttributes().getDataPolicy().withPersistence()).isFalse(); + assertThat(clientRegion.getAttributes().getInitialCapacity()).isEqualTo(64); + assertThat(clientRegion.getAttributes().getKeyConstraint()).isEqualTo(Long.class); + assertThat(String.valueOf(clientRegion.getAttributes().getLoadFactor())).isEqualTo("0.85"); + assertThat(clientRegion.getAttributes().getPoolName()).isEqualTo("gemfire-pool"); + assertThat(clientRegion.getAttributes().getValueConstraint()).isEqualTo(String.class); } @Test @SuppressWarnings("unchecked") public void testClientRegionWithRegisteredInterests() throws Exception { - assertTrue(applicationContext.containsBean("client-with-interests")); + assertThat(applicationContext.containsBean("client-with-interests")).isTrue(); ClientRegionFactoryBean factoryBean = applicationContext.getBean("&client-with-interests", ClientRegionFactoryBean.class); - assertNotNull(factoryBean); + assertThat(factoryBean).isNotNull(); Interest[] interests = TestUtils.readField("interests", factoryBean); - assertNotNull(interests); - assertEquals(2, interests.length); + assertThat(interests).isNotNull(); + assertThat(interests.length).isEqualTo(2); assertInterest(true, false, InterestResultPolicy.KEYS, getInterestWithKey(".*", interests)); assertInterest(true, false, InterestResultPolicy.KEYS_VALUES, getInterestWithKey("keyPrefix.*", interests)); Region mockClientRegion = applicationContext.getBean("client-with-interests", Region.class); - assertNotNull(mockClientRegion); + assertThat(mockClientRegion).isNotNull(); verify(mockClientRegion, times(1)).registerInterest(eq(".*"), eq(InterestResultPolicy.KEYS), eq(true), eq(false)); @@ -297,10 +301,10 @@ public class ClientRegionNamespaceTests extends IntegrationTestsSupport { private void assertInterest(boolean expectedDurable, boolean expectedReceiveValues, InterestResultPolicy expectedPolicy, Interest actualInterest) { - assertNotNull(actualInterest); - assertEquals(expectedDurable, actualInterest.isDurable()); - assertEquals(expectedReceiveValues, actualInterest.isReceiveValues()); - assertEquals(expectedPolicy, actualInterest.getPolicy()); + assertThat(actualInterest).isNotNull(); + assertThat(actualInterest.isDurable()).isEqualTo(expectedDurable); + assertThat(actualInterest.isReceiveValues()).isEqualTo(expectedReceiveValues); + assertThat(actualInterest.getPolicy()).isEqualTo(expectedPolicy); } @SuppressWarnings("rawtypes") diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/ClientRegionUsingDataPolicyAndShortcutTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/ClientRegionUsingDataPolicyAndShortcutIntegrationTests.java similarity index 58% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/ClientRegionUsingDataPolicyAndShortcutTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/ClientRegionUsingDataPolicyAndShortcutIntegrationTests.java index 43419b60..84b2e27f 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/ClientRegionUsingDataPolicyAndShortcutTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/ClientRegionUsingDataPolicyAndShortcutIntegrationTests.java @@ -13,36 +13,45 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.springframework.data.gemfire.config.xml; -import static org.junit.Assert.assertTrue; +import static org.assertj.core.api.Assertions.assertThat; import org.junit.Test; +import org.apache.geode.cache.DataPolicy; +import org.apache.geode.cache.Region; +import org.apache.geode.cache.client.ClientRegionShortcut; + import org.springframework.beans.factory.parsing.BeanDefinitionParsingException; import org.springframework.context.support.ClassPathXmlApplicationContext; /** - * The ClientRegionUsingDataPolicyAndShortcutTest class is a test suite of test case testing a client Region - * bean definition with both data-policy and shortcut specified. + * Integration Tests for client {@link Region} bean definition with both {@literal data-policy}(i.e. {@link DataPolicy}) + * and {@literal shortcut} {@link ClientRegionShortcut} attributes specified. * * @author John Blum * @see org.junit.Test + * @see org.apache.geode.cache.DataPolicy + * @see org.apache.geode.cache.Region + * @see org.apache.geode.cache.client.ClientRegionShortcut + * @see org.springframework.context.support.ClassPathXmlApplicationContext * @since 1.3.3 */ -public class ClientRegionUsingDataPolicyAndShortcutTest { +public class ClientRegionUsingDataPolicyAndShortcutIntegrationTests { @Test(expected = BeanDefinitionParsingException.class) public void testClientRegionBeanDefinitionWithDataPolicyAndShortcut() { + try { new ClassPathXmlApplicationContext( "/org/springframework/data/gemfire/config/xml/client-region-using-datapolicy-and-shortcut.xml"); } - catch (BeanDefinitionParsingException e) { - assertTrue(e.getMessage().contains("Only one of [data-policy, shortcut] may be specified with element")); - throw e; + catch (BeanDefinitionParsingException expected) { + + assertThat(expected).hasMessageContaining("Only one of [data-policy, shortcut] may be specified with element"); + + throw expected; } } - } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/ContinuousQueryListenerContainerNamespaceIntegrationTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/ContinuousQueryListenerContainerNamespaceIntegrationTests.java index b0be8098..5bebc776 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/ContinuousQueryListenerContainerNamespaceIntegrationTests.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/ContinuousQueryListenerContainerNamespaceIntegrationTests.java @@ -15,11 +15,7 @@ */ package org.springframework.data.gemfire.config.xml; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; +import static org.assertj.core.api.Assertions.assertThat; import java.util.ArrayList; import java.util.Arrays; @@ -89,20 +85,21 @@ public class ContinuousQueryListenerContainerNamespaceIntegrationTests @Test public void testContainerConfiguration() throws Exception { - assertNotNull("The ContinuousQueryListenerContainer was not properly configured!", container); - assertTrue("The CQ Listener Container should be active (initialized)!", container.isActive()); - assertFalse("The CQ Listener container should not be configured to auto-start!", container.isAutoStartup()); - assertFalse("The CQ Listener Container should not be running!", container.isRunning()); - assertEquals(4, container.getPhase()); - assertNotNull(testErrorHandler); - assertSame(testErrorHandler, TestUtils.readField("errorHandler", container)); - assertNotNull(testTaskExecutor); - assertSame(testTaskExecutor, TestUtils.readField("taskExecutor", container)); + assertThat(container).as("The ContinuousQueryListenerContainer was not properly configured!").isNotNull(); + assertThat(container.isActive()).as("The CQ Listener Container should be active (initialized)!").isTrue(); + assertThat(container.isAutoStartup()).as("The CQ Listener container should not be configured to auto-start!") + .isFalse(); + assertThat(container.isRunning()).as("The CQ Listener Container should not be running!").isFalse(); + assertThat(container.getPhase()).isEqualTo(4); + assertThat(testErrorHandler).isNotNull(); + assertThat(TestUtils.readField("errorHandler", container)).isSameAs(testErrorHandler); + assertThat(testTaskExecutor).isNotNull(); + assertThat(TestUtils.readField("taskExecutor", container)).isSameAs(testTaskExecutor); CqQuery[] queries = gemfireCache.getQueryService().getCqs(); - assertNotNull(queries); - assertEquals(3, queries.length); + assertThat(queries).isNotNull(); + assertThat(queries.length).isEqualTo(3); List actualNames = new ArrayList<>(3); @@ -110,8 +107,8 @@ public class ContinuousQueryListenerContainerNamespaceIntegrationTests actualNames.add(query.getName()); - assertEquals("SELECT * FROM /test-cq", query.getQueryString()); - assertEquals("Q3".equalsIgnoreCase(query.getName()), query.isDurable()); + assertThat(query.getQueryString()).isEqualTo("SELECT * FROM /test-cq"); + assertThat(query.isDurable()).isEqualTo("Q3".equalsIgnoreCase(query.getName())); CqListener cqListener = query.getCqAttributes().getCqListener(); @@ -119,11 +116,11 @@ public class ContinuousQueryListenerContainerNamespaceIntegrationTests // So, get the SDG "ContinuousQueryListener" ContinuousQueryListener listener = TestUtils.readField("listener", cqListener); - assertTrue(listener instanceof ContinuousQueryListenerAdapter); - assertTrue(((ContinuousQueryListenerAdapter) listener).getDelegate() instanceof GemfireMDP); + assertThat(listener instanceof ContinuousQueryListenerAdapter).isTrue(); + assertThat(((ContinuousQueryListenerAdapter) listener).getDelegate() instanceof GemfireMDP).isTrue(); if ("Q2".equalsIgnoreCase(query.getName())) { - assertEquals("handleQuery", TestUtils.readField("defaultListenerMethod", listener)); + assertThat(TestUtils.readField("defaultListenerMethod", listener)).isEqualTo("handleQuery"); } } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/DiskStoreEvictionAndExpirationRegionParsingIntegrationTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/DiskStoreEvictionAndExpirationRegionParsingIntegrationTests.java index 0be6ae3e..dd3e3302 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/DiskStoreEvictionAndExpirationRegionParsingIntegrationTests.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/DiskStoreEvictionAndExpirationRegionParsingIntegrationTests.java @@ -15,12 +15,7 @@ */ package org.springframework.data.gemfire.config.xml; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; +import static org.assertj.core.api.Assertions.assertThat; import static org.springframework.data.gemfire.util.ArrayUtils.nullSafeArray; import java.io.File; @@ -97,7 +92,7 @@ public class DiskStoreEvictionAndExpirationRegionParsingIntegrationTests extends @BeforeClass public static void setUp() { diskStoreDirectory = new File("./tmp"); - assertTrue(diskStoreDirectory.isDirectory() || diskStoreDirectory.mkdirs()); + assertThat(diskStoreDirectory.isDirectory() || diskStoreDirectory.mkdirs()).isTrue(); } @AfterClass @@ -115,91 +110,96 @@ public class DiskStoreEvictionAndExpirationRegionParsingIntegrationTests extends @Test public void testDiskStore() { - assertNotNull(applicationContext.getBean("ds2")); + assertThat(applicationContext.getBean("ds2")).isNotNull(); applicationContext.getBean("diskStore1"); - assertNotNull(diskStore); - assertEquals("diskStore1", diskStore.getName()); - assertEquals(50, diskStore.getQueueSize()); - assertTrue(diskStore.getAutoCompact()); - assertEquals(DiskStoreFactory.DEFAULT_COMPACTION_THRESHOLD, diskStore.getCompactionThreshold()); - assertEquals(9999, diskStore.getTimeInterval()); - assertEquals(1, diskStore.getMaxOplogSize()); - assertEquals(diskStoreDirectory, diskStore.getDiskDirs()[0]); + assertThat(diskStore).isNotNull(); + assertThat(diskStore.getName()).isEqualTo("diskStore1"); + assertThat(diskStore.getQueueSize()).isEqualTo(50); + assertThat(diskStore.getAutoCompact()).isTrue(); + assertThat(diskStore.getCompactionThreshold()).isEqualTo(DiskStoreFactory.DEFAULT_COMPACTION_THRESHOLD); + assertThat(diskStore.getTimeInterval()).isEqualTo(9999); + assertThat(diskStore.getMaxOplogSize()).isEqualTo(1); + assertThat(diskStore.getDiskDirs()[0]).isEqualTo(diskStoreDirectory); Cache cache = applicationContext.getBean("gemfireCache", Cache.class); - assertSame(diskStore, cache.findDiskStore("diskStore1")); + assertThat(cache.findDiskStore("diskStore1")).isSameAs(diskStore); } @Test @SuppressWarnings("rawtypes") public void testReplicatedDataRegionAttributes() throws Exception { - assertTrue(applicationContext.containsBean("replicated-data")); + assertThat(applicationContext.containsBean("replicated-data")).isTrue(); PeerRegionFactoryBean replicatedDataRegionFactoryBean = applicationContext.getBean("&replicated-data", PeerRegionFactoryBean.class); - assertTrue(replicatedDataRegionFactoryBean instanceof ReplicatedRegionFactoryBean); - assertEquals(DataPolicy.REPLICATE, replicatedDataRegionFactoryBean.getDataPolicy()); - assertFalse(replicatedDataRegionFactoryBean.getDataPolicy().withPersistence()); - assertEquals("diskStore1", TestUtils.readField("diskStoreName", replicatedDataRegionFactoryBean)); - assertNull(TestUtils.readField("scope", replicatedDataRegionFactoryBean)); + assertThat(replicatedDataRegionFactoryBean instanceof ReplicatedRegionFactoryBean).isTrue(); + assertThat(replicatedDataRegionFactoryBean.getDataPolicy()).isEqualTo(DataPolicy.REPLICATE); + assertThat(replicatedDataRegionFactoryBean.getDataPolicy().withPersistence()).isFalse(); + assertThat(TestUtils.readField("diskStoreName", replicatedDataRegionFactoryBean)).isEqualTo("diskStore1"); + assertThat(TestUtils.readField("scope", replicatedDataRegionFactoryBean)).isNull(); Region replicatedDataRegion = applicationContext.getBean("replicated-data", Region.class); RegionAttributes replicatedDataRegionAttributes = TestUtils.readField("attributes", replicatedDataRegionFactoryBean); - assertNotNull(replicatedDataRegionAttributes); - assertEquals(Scope.DISTRIBUTED_NO_ACK, replicatedDataRegionAttributes.getScope()); + assertThat(replicatedDataRegionAttributes).isNotNull(); + assertThat(replicatedDataRegionAttributes.getScope()).isEqualTo(Scope.DISTRIBUTED_NO_ACK); EvictionAttributes replicatedDataEvictionAttributes = replicatedDataRegionAttributes.getEvictionAttributes(); - assertNotNull(replicatedDataEvictionAttributes); - assertEquals(EvictionAction.OVERFLOW_TO_DISK, replicatedDataEvictionAttributes.getAction()); - assertEquals(EvictionAlgorithm.LRU_ENTRY, replicatedDataEvictionAttributes.getAlgorithm()); - assertEquals(50, replicatedDataEvictionAttributes.getMaximum()); - assertNull(replicatedDataEvictionAttributes.getObjectSizer()); + assertThat(replicatedDataEvictionAttributes).isNotNull(); + assertThat(replicatedDataEvictionAttributes.getAction()).isEqualTo(EvictionAction.OVERFLOW_TO_DISK); + assertThat(replicatedDataEvictionAttributes.getAlgorithm()).isEqualTo(EvictionAlgorithm.LRU_ENTRY); + assertThat(replicatedDataEvictionAttributes.getMaximum()).isEqualTo(50); + assertThat(replicatedDataEvictionAttributes.getObjectSizer()).isNull(); } @Test @SuppressWarnings("rawtypes") public void testPartitionDataOptions() throws Exception { - assertTrue(applicationContext.containsBean("partition-data")); - PeerRegionFactoryBean fb = applicationContext.getBean("&partition-data", PeerRegionFactoryBean.class); - assertTrue(fb instanceof PartitionedRegionFactoryBean); - assertTrue(TestUtils.readField("persistent", fb)); - RegionAttributes attrs = TestUtils.readField("attributes", fb); + assertThat(applicationContext.containsBean("partition-data")).isTrue(); + + PeerRegionFactoryBean regionFactoryBean = applicationContext.getBean("&partition-data", PeerRegionFactoryBean.class); + + assertThat(regionFactoryBean instanceof PartitionedRegionFactoryBean).isTrue(); + assertThat(TestUtils.readField("persistent", regionFactoryBean)).isTrue(); + RegionAttributes attrs = TestUtils.readField("attributes", regionFactoryBean); EvictionAttributes evicAttr = attrs.getEvictionAttributes(); - assertEquals(EvictionAction.LOCAL_DESTROY, evicAttr.getAction()); - assertEquals(EvictionAlgorithm.LRU_MEMORY, evicAttr.getAlgorithm()); + + assertThat(evicAttr.getAction()).isEqualTo(EvictionAction.LOCAL_DESTROY); + assertThat(evicAttr.getAlgorithm()).isEqualTo(EvictionAlgorithm.LRU_MEMORY); + ObjectSizer sizer = evicAttr.getObjectSizer(); - assertEquals(SimpleObjectSizer.class, sizer.getClass()); + + assertThat(sizer.getClass()).isEqualTo(SimpleObjectSizer.class); } @Test @SuppressWarnings("rawtypes") public void testEntryTtl() throws Exception { - assertTrue(applicationContext.containsBean("replicated-data")); + assertThat(applicationContext.containsBean("replicated-data")).isTrue(); PeerRegionFactoryBean fb = applicationContext.getBean("&replicated-data", PeerRegionFactoryBean.class); RegionAttributes attrs = TestUtils.readField("attributes", fb); ExpirationAttributes entryTTL = attrs.getEntryTimeToLive(); - assertEquals(100, entryTTL.getTimeout()); - assertEquals(ExpirationAction.DESTROY, entryTTL.getAction()); + assertThat(entryTTL.getTimeout()).isEqualTo(100); + assertThat(entryTTL.getAction()).isEqualTo(ExpirationAction.DESTROY); ExpirationAttributes entryTTI = attrs.getEntryIdleTimeout(); - assertEquals(200, entryTTI.getTimeout()); - assertEquals(ExpirationAction.INVALIDATE, entryTTI.getAction()); + assertThat(entryTTI.getTimeout()).isEqualTo(200); + assertThat(entryTTI.getAction()).isEqualTo(ExpirationAction.INVALIDATE); ExpirationAttributes regionTTL = attrs.getRegionTimeToLive(); - assertEquals(300, regionTTL.getTimeout()); - assertEquals(ExpirationAction.DESTROY, regionTTL.getAction()); + assertThat(regionTTL.getTimeout()).isEqualTo(300); + assertThat(regionTTL.getAction()).isEqualTo(ExpirationAction.DESTROY); ExpirationAttributes regionTTI = attrs.getRegionIdleTimeout(); - assertEquals(400, regionTTI.getTimeout()); - assertEquals(ExpirationAction.INVALIDATE, regionTTI.getAction()); + assertThat(regionTTI.getTimeout()).isEqualTo(400); + assertThat(regionTTI.getAction()).isEqualTo(ExpirationAction.INVALIDATE); } @@ -207,16 +207,16 @@ public class DiskStoreEvictionAndExpirationRegionParsingIntegrationTests extends @SuppressWarnings("rawtypes") public void testCustomExpiry() throws Exception { - assertTrue(applicationContext.containsBean("replicated-data-custom-expiry")); + assertThat(applicationContext.containsBean("replicated-data-custom-expiry")).isTrue(); PeerRegionFactoryBean fb = applicationContext.getBean("&replicated-data-custom-expiry", PeerRegionFactoryBean.class); RegionAttributes attrs = TestUtils.readField("attributes", fb); - assertNotNull(attrs.getCustomEntryIdleTimeout()); - assertNotNull(attrs.getCustomEntryTimeToLive()); + assertThat(attrs.getCustomEntryIdleTimeout()).isNotNull(); + assertThat(attrs.getCustomEntryTimeToLive()).isNotNull(); - assertTrue(attrs.getCustomEntryIdleTimeout() instanceof TestCustomExpiry); - assertTrue(attrs.getCustomEntryTimeToLive() instanceof TestCustomExpiry); + assertThat(attrs.getCustomEntryIdleTimeout() instanceof TestCustomExpiry).isTrue(); + assertThat(attrs.getCustomEntryTimeToLive() instanceof TestCustomExpiry).isTrue(); } public static class TestCustomExpiry implements CustomExpiry { diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/FunctionServiceNamespaceIntegrationTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/FunctionServiceNamespaceIntegrationTests.java index 58a6c450..79172a98 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/FunctionServiceNamespaceIntegrationTests.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/FunctionServiceNamespaceIntegrationTests.java @@ -15,8 +15,7 @@ */ package org.springframework.data.gemfire.config.xml; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.assertj.core.api.Assertions.assertThat; import org.junit.Test; import org.junit.runner.RunWith; @@ -55,9 +54,9 @@ public class FunctionServiceNamespaceIntegrationTests extends IntegrationTestsSu @Test public void testFunctionsRegistered() { - assertEquals(2, FunctionService.getRegisteredFunctions().size()); - assertNotNull(FunctionService.getFunction("function1")); - assertNotNull(FunctionService.getFunction("function2")); + assertThat(FunctionService.getRegisteredFunctions().size()).isEqualTo(2); + assertThat(FunctionService.getFunction("function1")).isNotNull(); + assertThat(FunctionService.getFunction("function2")).isNotNull(); } public static class Function1 implements Function { diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/IndexNamespaceIntegrationTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/IndexNamespaceIntegrationTests.java index cdae8bc6..b67b4550 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/IndexNamespaceIntegrationTests.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/IndexNamespaceIntegrationTests.java @@ -16,7 +16,6 @@ package org.springframework.data.gemfire.config.xml; import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.Assert.assertEquals; import javax.annotation.Resource; @@ -34,22 +33,6 @@ import org.springframework.data.gemfire.tests.mock.context.GemFireMockObjectsApp import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringRunner; -/** - * Integration Tests with test cases testing the functionality of GemFire Index creation using - * the Spring Data for Apache Geode XML namespace (XSD) configuration metadata and the {@link IndexParser}. - * - * @author Costin Leau - * @author David Turanski - * @author John Blum - * @see org.apache.geode.cache.Region - * @see org.springframework.data.gemfire.IndexFactoryBean - * @see org.springframework.data.gemfire.config.xml.IndexParser - * @see org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport - * @see org.springframework.data.gemfire.tests.mock.context.GemFireMockObjectsApplicationContextInitializer - * @see org.springframework.test.context.ContextConfiguration - * @see org.springframework.test.context.junit4.SpringJUnit4ClassRunner - * @since 1.1.0 - */ @RunWith(SpringRunner.class) @ContextConfiguration(locations = "index-ns.xml", initializers = GemFireMockObjectsApplicationContextInitializer.class) @SuppressWarnings({ "deprecation", "unused" }) @@ -69,11 +52,11 @@ public class IndexNamespaceIntegrationTests extends IntegrationTestsSupport { @Test public void basicIndexIsCorrect() { - assertEquals("basic", basic.getName()); - assertEquals("status", basic.getIndexedExpression()); - assertEquals(Region.SEPARATOR + TEST_REGION_NAME, basic.getFromClause()); - assertEquals(TEST_REGION_NAME, basic.getRegion().getName()); - assertEquals(org.apache.geode.cache.query.IndexType.FUNCTIONAL, basic.getType()); + assertThat(basic.getName()).isEqualTo("basic"); + assertThat(basic.getIndexedExpression()).isEqualTo("status"); + assertThat(basic.getFromClause()).isEqualTo(Region.SEPARATOR + TEST_REGION_NAME); + assertThat(basic.getRegion().getName()).isEqualTo(TEST_REGION_NAME); + assertThat(basic.getType()).isEqualTo(org.apache.geode.cache.query.IndexType.FUNCTIONAL); } @Test @@ -88,11 +71,11 @@ public class IndexNamespaceIntegrationTests extends IntegrationTestsSupport { @Test public void complexIndexIsCorrect() { - assertEquals("complex-index", complex.getName()); - assertEquals("tsi.name", complex.getIndexedExpression()); - assertEquals(Region.SEPARATOR + TEST_REGION_NAME + " tsi", complex.getFromClause()); - assertEquals(TEST_REGION_NAME, complex.getRegion().getName()); - assertEquals(org.apache.geode.cache.query.IndexType.HASH, complex.getType()); + assertThat(complex.getName()).isEqualTo("complex-index"); + assertThat(complex.getIndexedExpression()).isEqualTo("tsi.name"); + assertThat(complex.getFromClause()).isEqualTo(Region.SEPARATOR + TEST_REGION_NAME + " tsi"); + assertThat(complex.getRegion().getName()).isEqualTo(TEST_REGION_NAME); + assertThat(complex.getType()).isEqualTo(org.apache.geode.cache.query.IndexType.HASH); } @Test diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/InvalidRegionDefinitionUsingBeansNamespaceTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/InvalidRegionDefinitionUsingBeansNamespaceIntegrationTests.java similarity index 54% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/InvalidRegionDefinitionUsingBeansNamespaceTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/InvalidRegionDefinitionUsingBeansNamespaceIntegrationTests.java index ef1a6844..d829050b 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/InvalidRegionDefinitionUsingBeansNamespaceTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/InvalidRegionDefinitionUsingBeansNamespaceIntegrationTests.java @@ -13,30 +13,37 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.springframework.data.gemfire.config.xml; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.assertj.core.api.Assertions.assertThat; import org.junit.Test; +import org.apache.geode.cache.DataPolicy; +import org.apache.geode.cache.Region; + import org.springframework.beans.factory.BeanCreationException; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.data.gemfire.PeerRegionFactoryBean; +import org.springframework.data.gemfire.RegionAttributesFactoryBean; +import org.springframework.data.gemfire.client.ClientRegionFactoryBean; +import org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport; /** - * The InvalidRegionDefinitionUsingBeansNamespaceTest class is a test suite of test cases testing the definition of - * invalid Region beans in a Spring context. Specifically, this test class tests the specification of the Region's - * DataPolicy on a nested RegionAttributesFactoryBean conflicting with the 'persistent' attribute configuration - * on the containing RegionFactoryBean definition. + * Integration Tests testing the definition of invalid {@link Region} beans in a Spring context. + * + * Specifically, this test class tests the specification of the {@link Region} {@link DataPolicy} + * on a nested {@link RegionAttributesFactoryBean} conflicting with the {@literal persistent} attribute + * configuration on the containing {@link ClientRegionFactoryBean} and {@link PeerRegionFactoryBean} definitions. * * @author John Blum * @see org.junit.Test - * @see PeerRegionFactoryBean + * @see org.springframework.data.gemfire.PeerRegionFactoryBean + * @see org.springframework.data.gemfire.client.ClientRegionFactoryBean + * @see org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport * @since 1.6.0 */ -public class InvalidRegionDefinitionUsingBeansNamespaceTest { +public class InvalidRegionDefinitionUsingBeansNamespaceIntegrationTests extends IntegrationTestsSupport { private static final String CONFIG_LOCATION = "org/springframework/data/gemfire/config/xml/InvalidDataPolicyPersistentAttributeSettingsBeansNamespaceTest.xml"; @@ -49,9 +56,9 @@ public class InvalidRegionDefinitionUsingBeansNamespaceTest { } catch (BeanCreationException expected) { - assertTrue(expected.getCause() instanceof IllegalArgumentException); - assertEquals("Data Policy [REPLICATE] is not valid when persistent is true", - expected.getCause().getMessage()); + assertThat(expected.getCause() instanceof IllegalArgumentException).isTrue(); + assertThat(expected.getCause().getMessage()) + .isEqualTo("Data Policy [REPLICATE] is not valid when persistent is true"); throw (IllegalArgumentException) expected.getCause(); } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/JndiBindingsTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/JndiBindingsIntegrationTests.java similarity index 62% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/JndiBindingsTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/JndiBindingsIntegrationTests.java index 96b9c893..5ab22083 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/JndiBindingsTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/JndiBindingsIntegrationTests.java @@ -13,11 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.springframework.data.gemfire.config.xml; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.assertj.core.api.Assertions.assertThat; import org.junit.Test; import org.junit.runner.RunWith; @@ -26,33 +24,40 @@ import org.apache.geode.cache.Cache; import org.apache.geode.internal.datasource.GemFireBasicDataSource; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit4.SpringRunner; /** + * Integration Tests for Apache Geode JNDI context bindings. + * * This test requires a real cache * * @author David Turanski * @author John Blum + * @see org.junit.Test + * @see org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport + * @see org.springframework.test.context.ContextConfiguration + * @see org.springframework.test.context.junit4.SpringRunner */ +@RunWith(SpringRunner.class) @ContextConfiguration("jndi-binding-ns.xml") -@RunWith(SpringJUnit4ClassRunner.class) @SuppressWarnings("unused") -public class JndiBindingsTest { +public class JndiBindingsIntegrationTests extends IntegrationTestsSupport { @Autowired private Cache cache; @Test public void testJndiBindings() throws Exception { + Object dataSourceObject = cache.getJNDIContext().lookup("java:/SimpleDataSource"); - assertTrue(dataSourceObject instanceof GemFireBasicDataSource); + assertThat(dataSourceObject instanceof GemFireBasicDataSource).isTrue(); GemFireBasicDataSource dataSource = (GemFireBasicDataSource) dataSourceObject; - assertEquals("org.apache.derby.jdbc.EmbeddedDriver", dataSource.getJDBCDriver()); - assertEquals(60, dataSource.getLoginTimeout()); + assertThat(dataSource.getJDBCDriver()).isEqualTo("org.apache.derby.jdbc.EmbeddedDriver"); + assertThat(dataSource.getLoginTimeout()).isEqualTo(60); } - } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/JndiBindingsPropertyPlaceholderIntegrationTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/JndiBindingsPropertyPlaceholderIntegrationTests.java new file mode 100644 index 00000000..d93ac4f4 --- /dev/null +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/JndiBindingsPropertyPlaceholderIntegrationTests.java @@ -0,0 +1,118 @@ +/* + * Copyright 2010-2021 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.gemfire.config.xml; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.fail; + +import java.util.List; +import java.util.Map; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import org.apache.geode.internal.datasource.ConfigProperty; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.ApplicationContext; +import org.springframework.data.gemfire.CacheFactoryBean; +import org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport; +import org.springframework.data.gemfire.tests.mock.context.GemFireMockObjectsApplicationContextInitializer; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringRunner; + +/** + * Integration Tests testing the configuration of a cache JNDI DataSource using property placeholders. + * + * @author John Blum + * @see org.junit.Test + * @see org.springframework.context.ApplicationContext + * @see org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport + * @see org.springframework.data.gemfire.tests.mock.context.GemFireMockObjectsApplicationContextInitializer + * @see org.springframework.test.context.ContextConfiguration + * @see org.springframework.test.context.junit4.SpringRunner + * @since 1.4.0 + */ +@RunWith(SpringRunner.class) +@ContextConfiguration(locations = "jndi-binding-with-property-placeholders-ns.xml", + initializers = GemFireMockObjectsApplicationContextInitializer.class) +public class JndiBindingsPropertyPlaceholderIntegrationTests extends IntegrationTestsSupport { + + @Autowired + @SuppressWarnings("unused") + private ApplicationContext applicationContext; + + protected void assertPropertyValueExists(String expectedPropertyName, String expectedPropertyValue, + List properties) { + + for (ConfigProperty property : properties) { + if (expectedPropertyName.equals(property.getName())) { + assertThat(property.getValue()).isEqualTo(expectedPropertyValue); + assertThat(property.getType()).isEqualTo(String.class.getName()); + return; + } + } + + fail("ConfigProperty with name [%1$s] was not found!", expectedPropertyName); + } + + @Test + public void testCacheJndiDataSourceConfiguration() { + + CacheFactoryBean factory = applicationContext.getBean("&gemfireCache", CacheFactoryBean.class); + + List jndiDataSources = factory.getJndiDataSources(); + + assertThat(jndiDataSources).isNotNull(); + assertThat(jndiDataSources.size()).isEqualTo(1); + + CacheFactoryBean.JndiDataSource dataSource = jndiDataSources.get(0); + + assertThat(dataSource).isNotNull(); + + Map attributes = dataSource.getAttributes(); + + assertThat(attributes).isNotNull(); + assertThat(attributes.isEmpty()).isFalse(); + assertThat(attributes.get("jndi-name")).isEqualTo("testDataSource"); + assertThat(attributes.get("type")).isEqualTo("XAPooledDataSource"); + assertThat(attributes.get("blocking-timeout-seconds")).isEqualTo("60"); + assertThat(attributes.get("conn-pooled-datasource-class")) + .isEqualTo("org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource"); + assertThat(attributes.get("connection-url")).isEqualTo("jdbc:derby:testDataStore;create=true"); + assertThat(attributes.get("idle-timeout-seconds")).isEqualTo("180"); + assertThat(attributes.get("init-pool-size")).isEqualTo("10"); + assertThat(attributes.get("jdbc-driver-class")).isEqualTo("org.apache.derby.jdbc.EmbeddedDriver"); + assertThat(attributes.get("login-timeout-seconds")).isEqualTo("30"); + assertThat(attributes.get("managed-connection-factory-class")) + .isEqualTo("org.apache.derby.jdbc.NonExistingManagedConnectionFactoryClass"); + assertThat(attributes.get("max-pool-size")).isEqualTo("50"); + assertThat(attributes.get("password")).isEqualTo("test123"); + assertThat(attributes.get("transaction-type")).isEqualTo("XATransaction"); + assertThat(attributes.get("user-name")).isEqualTo("masterdba"); + assertThat(attributes.get("xa-datasource-class")).isEqualTo("org.apache.derby.jdbc.EmbeddedXADataSource"); + + List props = dataSource.getProps(); + + assertThat(props).isNotNull(); + assertThat(props.isEmpty()).isFalse(); + assertPropertyValueExists("schemaName", "testSchema", props); + assertPropertyValueExists("databaseName", "testDataStore", props); + assertPropertyValueExists("description", "test", props); + assertPropertyValueExists("email", "masterdba@xcompany.com", props); + assertPropertyValueExists("phone", "501-555-1234", props); + } +} diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/JndiBindingsPropertyPlaceholderTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/JndiBindingsPropertyPlaceholderTest.java deleted file mode 100644 index abeacbae..00000000 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/JndiBindingsPropertyPlaceholderTest.java +++ /dev/null @@ -1,116 +0,0 @@ -/* - * Copyright 2010-2021 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.springframework.data.gemfire.config.xml; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.fail; - -import java.util.List; -import java.util.Map; - -import org.junit.Test; -import org.junit.runner.RunWith; - -import org.apache.geode.internal.datasource.ConfigProperty; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.ApplicationContext; -import org.springframework.data.gemfire.CacheFactoryBean; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -/** - * The JndiBindingsPropertyPlaceholderTest class is a test suite of test cases testing the configuration of a GemFire - * Cache JNDI DataSource using property placeholders. - * - * @author John Blum - * @see org.junit.Test - * @see org.springframework.context.ApplicationContext - * @see org.springframework.data.gemfire.test.GemfireTestApplicationContextInitializer - * @see org.springframework.test.context.ContextConfiguration - * @see org.springframework.test.context.junit4.SpringJUnit4ClassRunner - * @since 1.4.0 - * @since 7.0.1 (GemFire) - */ -@ContextConfiguration(locations = "jndi-binding-with-property-placeholders-ns.xml") -@RunWith(SpringJUnit4ClassRunner.class) -public class JndiBindingsPropertyPlaceholderTest { - - @Autowired - @SuppressWarnings("unused") - private ApplicationContext context; - - protected void assertPropertyValueExists(final String expectedPropertyName, final String expectedPropertyValue, - final List properties) { - for (ConfigProperty property : properties) { - if (expectedPropertyName.equals(property.getName())) { - assertEquals(expectedPropertyValue, property.getValue()); - assertEquals(String.class.getName(), property.getType()); - return; - } - } - - fail(String.format("ConfigProperty with name [%1$s] was not found!", expectedPropertyName)); - } - - @Test - public void testCacheJndiDataSourceConfiguration() { - CacheFactoryBean factory = context.getBean("&gemfireCache", CacheFactoryBean.class); - - List jndiDataSources = factory.getJndiDataSources(); - - assertNotNull(jndiDataSources); - assertEquals(1, jndiDataSources.size()); - - CacheFactoryBean.JndiDataSource dataSource = jndiDataSources.get(0); - - assertNotNull(dataSource); - - Map attributes = dataSource.getAttributes(); - - assertNotNull(attributes); - assertFalse(attributes.isEmpty()); - assertEquals("testDataSource", attributes.get("jndi-name")); - assertEquals("XAPooledDataSource", attributes.get("type")); - assertEquals("60", attributes.get("blocking-timeout-seconds")); - assertEquals("org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource", attributes.get("conn-pooled-datasource-class")); - assertEquals("jdbc:derby:testDataStore;create=true", attributes.get("connection-url")); - assertEquals("180", attributes.get("idle-timeout-seconds")); - assertEquals("10", attributes.get("init-pool-size")); - assertEquals("org.apache.derby.jdbc.EmbeddedDriver", attributes.get("jdbc-driver-class")); - assertEquals("30", attributes.get("login-timeout-seconds")); - assertEquals("org.apache.derby.jdbc.NonExistingManagedConnectionFactoryClass", attributes.get("managed-connection-factory-class")); - assertEquals("50", attributes.get("max-pool-size")); - assertEquals("test123", attributes.get("password")); - assertEquals("XATransaction", attributes.get("transaction-type")); - assertEquals("masterdba", attributes.get("user-name")); - assertEquals("org.apache.derby.jdbc.EmbeddedXADataSource", attributes.get("xa-datasource-class")); - - List props = dataSource.getProps(); - - assertNotNull(props); - assertFalse(props.isEmpty()); - assertPropertyValueExists("schemaName", "testSchema", props); - assertPropertyValueExists("databaseName", "testDataStore", props); - assertPropertyValueExists("description", "test", props); - assertPropertyValueExists("email", "masterdba@xcompany.com", props); - assertPropertyValueExists("phone", "501-555-1234", props); - } - -} diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/LocalRegionNamespaceIntegrationTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/LocalRegionNamespaceIntegrationTests.java index 2ece7c01..a7ae6799 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/LocalRegionNamespaceIntegrationTests.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/LocalRegionNamespaceIntegrationTests.java @@ -15,12 +15,7 @@ */ package org.springframework.data.gemfire.config.xml; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNotSame; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; +import static org.assertj.core.api.Assertions.assertThat; import org.junit.Test; import org.junit.runner.RunWith; @@ -69,82 +64,90 @@ public class LocalRegionNamespaceIntegrationTests extends IntegrationTestsSuppor private ApplicationContext applicationContext; @Test - public void testSimpleLocalRegion() throws Exception { + public void testSimpleLocalRegion() { - assertTrue(applicationContext.containsBean("simple")); + assertThat(applicationContext.containsBean("simple")).isTrue(); Region simple = applicationContext.getBean("simple", Region.class); - assertNotNull("The 'simple' Region was not properly configured or initialized!", simple); - assertEquals("simple", simple.getName()); - assertEquals(Region.SEPARATOR + "simple", simple.getFullPath()); - assertNotNull(simple.getAttributes()); - assertEquals(DataPolicy.NORMAL, simple.getAttributes().getDataPolicy()); + assertThat(simple) + .describedAs("The 'simple' Region was not properly configured or initialized!") + .isNotNull(); + + assertThat(simple.getName()).isEqualTo("simple"); + assertThat(simple.getFullPath()).isEqualTo(Region.SEPARATOR + "simple"); + assertThat(simple.getAttributes()).isNotNull(); + assertThat(simple.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.NORMAL); } @Test @SuppressWarnings({ "deprecation", "rawtypes" }) public void testPublisherLocalRegion() throws Exception { - assertTrue(applicationContext.containsBean("pub")); + assertThat(applicationContext.containsBean("pub")).isTrue(); PeerRegionFactoryBean publisherRegionFactoryBean = applicationContext.getBean("&pub", PeerRegionFactoryBean.class); - assertNotNull(publisherRegionFactoryBean); - assertEquals(DataPolicy.NORMAL, TestUtils.readField("dataPolicy", publisherRegionFactoryBean)); - assertEquals("publisher", TestUtils.readField("name", publisherRegionFactoryBean)); - assertEquals(Scope.LOCAL, TestUtils.readField("scope", publisherRegionFactoryBean)); + assertThat(publisherRegionFactoryBean).isNotNull(); + assertThat(TestUtils.readField("dataPolicy", publisherRegionFactoryBean)).isEqualTo(DataPolicy.NORMAL); + assertThat(TestUtils.readField("name", publisherRegionFactoryBean)).isEqualTo("publisher"); + assertThat(TestUtils.readField("scope", publisherRegionFactoryBean)).isEqualTo(Scope.LOCAL); RegionAttributes publisherRegionAttributes = TestUtils.readField("attributes", publisherRegionFactoryBean); - assertNotNull(publisherRegionAttributes); - assertFalse(publisherRegionAttributes.getPublisher()); + assertThat(publisherRegionAttributes).isNotNull(); + assertThat(publisherRegionAttributes.getPublisher()).isFalse(); } @Test @SuppressWarnings("rawtypes") public void testComplexLocal() throws Exception { - assertTrue(applicationContext.containsBean("complex")); + assertThat(applicationContext.containsBean("complex")).isTrue(); PeerRegionFactoryBean complexRegionFactoryBean = applicationContext.getBean("&complex", PeerRegionFactoryBean.class); - assertNotNull(complexRegionFactoryBean); + assertThat(complexRegionFactoryBean).isNotNull(); CacheListener[] cacheListeners = TestUtils.readField("cacheListeners", complexRegionFactoryBean); - assertFalse(ObjectUtils.isEmpty(cacheListeners)); - assertEquals(2, cacheListeners.length); - assertSame(applicationContext.getBean("c-listener"), cacheListeners[0]); - assertTrue(cacheListeners[1] instanceof SimpleCacheListener); - assertNotSame(cacheListeners[0], cacheListeners[1]); - assertSame(applicationContext.getBean("c-loader"), TestUtils.readField("cacheLoader", complexRegionFactoryBean)); - assertSame(applicationContext.getBean("c-writer"), TestUtils.readField("cacheWriter", complexRegionFactoryBean)); + assertThat(ObjectUtils.isEmpty(cacheListeners)).isFalse(); + assertThat(cacheListeners.length).isEqualTo(2); + assertThat(cacheListeners[0]).isSameAs(applicationContext.getBean("c-listener")); + assertThat(cacheListeners[1] instanceof SimpleCacheListener).isTrue(); + assertThat(cacheListeners[1]).isNotSameAs(cacheListeners[0]); + assertThat(TestUtils.readField("cacheLoader", complexRegionFactoryBean)) + .isSameAs(applicationContext.getBean("c-loader")); + assertThat(TestUtils.readField("cacheWriter", complexRegionFactoryBean)) + .isSameAs(applicationContext.getBean("c-writer")); } @Test - @SuppressWarnings("rawtypes") - public void testLocalWithAttributes() throws Exception { + @SuppressWarnings({ "rawtypes", "unchecked" }) + public void testLocalWithAttributes() { - assertTrue(applicationContext.containsBean("local-with-attributes")); + assertThat(applicationContext.containsBean("local-with-attributes")).isTrue(); Region region = applicationContext.getBean("local-with-attributes", Region.class); - assertNotNull("The 'local-with-attributes' Region was not properly configured and initialized!", region); - assertEquals("local-with-attributes", region.getName()); - assertEquals(Region.SEPARATOR + "local-with-attributes", region.getFullPath()); + assertThat(region) + .describedAs("The 'local-with-attributes' Region was not properly configured and initialized!") + .isNotNull(); + + assertThat(region.getName()).isEqualTo("local-with-attributes"); + assertThat(region.getFullPath()).isEqualTo(Region.SEPARATOR + "local-with-attributes"); RegionAttributes localRegionAttributes = region.getAttributes(); - assertEquals(DataPolicy.PRELOADED, localRegionAttributes.getDataPolicy()); - assertTrue(localRegionAttributes.isDiskSynchronous()); - assertTrue(localRegionAttributes.getIgnoreJTA()); - assertFalse(localRegionAttributes.getIndexMaintenanceSynchronous()); - assertEquals(10, localRegionAttributes.getInitialCapacity()); - assertEquals(String.class, localRegionAttributes.getKeyConstraint()); - assertEquals("0.9", String.valueOf(localRegionAttributes.getLoadFactor())); - assertTrue(localRegionAttributes.getOffHeap()); - assertEquals(String.class, localRegionAttributes.getValueConstraint()); + assertThat(localRegionAttributes.getDataPolicy()).isEqualTo(DataPolicy.PRELOADED); + assertThat(localRegionAttributes.isDiskSynchronous()).isTrue(); + assertThat(localRegionAttributes.getIgnoreJTA()).isTrue(); + assertThat(localRegionAttributes.getIndexMaintenanceSynchronous()).isFalse(); + assertThat(localRegionAttributes.getInitialCapacity()).isEqualTo(10); + assertThat(localRegionAttributes.getKeyConstraint()).isEqualTo(String.class); + assertThat(String.valueOf(localRegionAttributes.getLoadFactor())).isEqualTo("0.9"); + assertThat(localRegionAttributes.getOffHeap()).isTrue(); + assertThat(localRegionAttributes.getValueConstraint()).isEqualTo(String.class); } @Test @@ -155,45 +158,49 @@ public class LocalRegionNamespaceIntegrationTests extends IntegrationTestsSuppor Region existing = cache.createRegionFactory().create("existing"); - assertTrue(applicationContext.containsBean("lookup")); + assertThat(applicationContext.containsBean("lookup")).isTrue(); ResolvableRegionFactoryBean localRegionFactoryBean = applicationContext.getBean("&lookup", ResolvableRegionFactoryBean.class); - assertEquals("existing", TestUtils.readField("name", localRegionFactoryBean)); - assertSame(existing, applicationContext.getBean("lookup")); + assertThat(TestUtils.readField("name", localRegionFactoryBean)).isEqualTo("existing"); + assertThat(applicationContext.getBean("lookup")).isSameAs(existing); } @Test - @SuppressWarnings("rawtypes") + @SuppressWarnings({ "rawtypes", "unchecked" }) public void testLocalPersistent() { Region persistentLocalRegion = applicationContext.getBean("persistent", Region.class); - assertNotNull("The 'persistent' Local Region was not properly configured and initialized!", persistentLocalRegion); - assertEquals("persistent", persistentLocalRegion.getName()); - assertEquals(Region.SEPARATOR + "persistent", persistentLocalRegion.getFullPath()); + assertThat(persistentLocalRegion) + .describedAs("The 'persistent' Local Region was not properly configured and initialized!") + .isNotNull(); + + assertThat(persistentLocalRegion.getName()).isEqualTo("persistent"); + assertThat(persistentLocalRegion.getFullPath()).isEqualTo(Region.SEPARATOR + "persistent"); RegionAttributes persistentRegionAttributes = persistentLocalRegion.getAttributes(); - assertNotNull(persistentRegionAttributes); - assertTrue(persistentRegionAttributes.getDataPolicy().withPersistence()); + assertThat(persistentRegionAttributes).isNotNull(); + assertThat(persistentRegionAttributes.getDataPolicy().withPersistence()).isTrue(); } @Test public void testCompressedLocalRegion() { - assertTrue(applicationContext.containsBean("Compressed")); + assertThat(applicationContext.containsBean("Compressed")).isTrue(); Region compressed = applicationContext.getBean("Compressed", Region.class); - assertNotNull("The 'Compressed' Local Region was not properly configured and initialized!", compressed); - assertEquals("Compressed", compressed.getName()); - assertEquals(Region.SEPARATOR + "Compressed", compressed.getFullPath()); - assertNotNull(compressed.getAttributes()); - assertEquals(DataPolicy.NORMAL, compressed.getAttributes().getDataPolicy()); - assertEquals(Scope.LOCAL, compressed.getAttributes().getScope()); - assertTrue(compressed.getAttributes().getCompressor() instanceof TestCompressor); - assertEquals("ABC", compressed.getAttributes().getCompressor().toString()); + assertThat(compressed).as("The 'Compressed' Local Region was not properly configured and initialized!") + .isNotNull(); + assertThat(compressed.getName()).isEqualTo("Compressed"); + assertThat(compressed.getFullPath()).isEqualTo(Region.SEPARATOR + "Compressed"); + assertThat(compressed.getAttributes()).isNotNull(); + assertThat(compressed.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.NORMAL); + assertThat(compressed.getAttributes().getScope()).isEqualTo(Scope.LOCAL); + assertThat(compressed.getAttributes().getCompressor() instanceof TestCompressor).isTrue(); + assertThat(compressed.getAttributes().getCompressor().toString()).isEqualTo("ABC"); } public static class TestCompressor implements Compressor { diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/LocalRegionWithEvictionPolicyActionNamespaceIntegrationTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/LocalRegionWithEvictionPolicyActionNamespaceIntegrationTests.java index 24d7a6f3..55b3877c 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/LocalRegionWithEvictionPolicyActionNamespaceIntegrationTests.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/LocalRegionWithEvictionPolicyActionNamespaceIntegrationTests.java @@ -15,8 +15,7 @@ */ package org.springframework.data.gemfire.config.xml; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.assertj.core.api.Assertions.assertThat; import javax.annotation.Resource; @@ -64,39 +63,41 @@ public class LocalRegionWithEvictionPolicyActionNamespaceIntegrationTests extend @Test public void testLocalRegionConfigurationWithEvictionPolicyActionSetToLocalDestroy() { - assertNotNull("The 'LocalDestroy' Region was not properly configured and initialized!", localDestroyRegion); - assertEquals("LocalDestroy", localDestroyRegion.getName()); - assertEquals("/LocalDestroy", localDestroyRegion.getFullPath()); - assertNotNull(localDestroyRegion.getAttributes()); - assertEquals(DataPolicy.NORMAL, localDestroyRegion.getAttributes().getDataPolicy()); - assertEquals(Scope.LOCAL, localDestroyRegion.getAttributes().getScope()); - assertNotNull(localDestroyRegion.getAttributes().getEvictionAttributes()); - assertEquals(EvictionAction.LOCAL_DESTROY, localDestroyRegion.getAttributes().getEvictionAttributes().getAction()); + assertThat(localDestroyRegion).as("The 'LocalDestroy' Region was not properly configured and initialized!") + .isNotNull(); + assertThat(localDestroyRegion.getName()).isEqualTo("LocalDestroy"); + assertThat(localDestroyRegion.getFullPath()).isEqualTo("/LocalDestroy"); + assertThat(localDestroyRegion.getAttributes()).isNotNull(); + assertThat(localDestroyRegion.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.NORMAL); + assertThat(localDestroyRegion.getAttributes().getScope()).isEqualTo(Scope.LOCAL); + assertThat(localDestroyRegion.getAttributes().getEvictionAttributes()).isNotNull(); + assertThat(localDestroyRegion.getAttributes().getEvictionAttributes().getAction()) + .isEqualTo(EvictionAction.LOCAL_DESTROY); } @Test public void testLocalRegionConfigurationWithEvictionPolicyActionSetToNone() { - assertNotNull("The 'None' Region was not properly configured and initialized!", noneRegion); - assertEquals("None", noneRegion.getName()); - assertEquals("/None", noneRegion.getFullPath()); - assertNotNull(noneRegion.getAttributes()); - assertEquals(DataPolicy.NORMAL, noneRegion.getAttributes().getDataPolicy()); - assertEquals(Scope.LOCAL, noneRegion.getAttributes().getScope()); - assertNotNull(noneRegion.getAttributes().getEvictionAttributes()); - assertEquals(EvictionAction.NONE, noneRegion.getAttributes().getEvictionAttributes().getAction()); + assertThat(noneRegion).as("The 'None' Region was not properly configured and initialized!").isNotNull(); + assertThat(noneRegion.getName()).isEqualTo("None"); + assertThat(noneRegion.getFullPath()).isEqualTo("/None"); + assertThat(noneRegion.getAttributes()).isNotNull(); + assertThat(noneRegion.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.NORMAL); + assertThat(noneRegion.getAttributes().getScope()).isEqualTo(Scope.LOCAL); + assertThat(noneRegion.getAttributes().getEvictionAttributes()).isNotNull(); + assertThat(noneRegion.getAttributes().getEvictionAttributes().getAction()).isEqualTo(EvictionAction.NONE); } @Test public void testLocalRegionConfigurationWithEvictionPolicyActionSetToOverflowToDisk() { - assertNotNull("The 'Overflow' Region was not properly configured and initialized!", overflowRegion); - assertEquals("Overflow", overflowRegion.getName()); - assertEquals("/Overflow", overflowRegion.getFullPath()); - assertNotNull(overflowRegion.getAttributes()); - assertEquals(DataPolicy.NORMAL, overflowRegion.getAttributes().getDataPolicy()); - assertEquals(Scope.LOCAL, overflowRegion.getAttributes().getScope()); - assertNotNull(overflowRegion.getAttributes().getEvictionAttributes()); - assertEquals(EvictionAction.OVERFLOW_TO_DISK, overflowRegion.getAttributes().getEvictionAttributes().getAction()); + assertThat(overflowRegion).as("The 'Overflow' Region was not properly configured and initialized!").isNotNull(); + assertThat(overflowRegion.getName()).isEqualTo("Overflow"); + assertThat(overflowRegion.getFullPath()).isEqualTo("/Overflow"); + assertThat(overflowRegion.getAttributes()).isNotNull(); + assertThat(overflowRegion.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.NORMAL); + assertThat(overflowRegion.getAttributes().getScope()).isEqualTo(Scope.LOCAL); + assertThat(overflowRegion.getAttributes().getEvictionAttributes()).isNotNull(); + assertThat(overflowRegion.getAttributes().getEvictionAttributes().getAction()).isEqualTo(EvictionAction.OVERFLOW_TO_DISK); } } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/MultipleCacheTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/MultipleCacheIntegrationTests.java similarity index 54% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/MultipleCacheTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/MultipleCacheIntegrationTests.java index cbdbe265..bc0d84fb 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/MultipleCacheTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/MultipleCacheIntegrationTests.java @@ -12,26 +12,37 @@ */ package org.springframework.data.gemfire.config.xml; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertSame; +import static org.assertj.core.api.Assertions.assertThat; import org.junit.Test; import org.apache.geode.cache.Cache; +import org.apache.geode.cache.GemFireCache; import org.apache.geode.cache.Region; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; +import org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport; /** + * Integration Tests for multiple Apache Geode {@link GemFireCache caches}. + * * @author David Turanski * @author John Blum + * @see org.junit.Test + * @see org.apache.geode.cache.Cache + * @see org.apache.geode.cache.GemFireCache + * @see org.apache.geode.cache.Region + * @see org.springframework.context.ConfigurableApplicationContext + * @see org.springframework.context.support.ClassPathXmlApplicationContext + * @see org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport */ -public class MultipleCacheTest { + +public class MultipleCacheIntegrationTests extends IntegrationTestsSupport { @Test public void testMultipleCaches() { + String configLocation = "/org/springframework/data/gemfire/config/xml/MultipleCacheTest-context.xml"; ConfigurableApplicationContext context1 = new ClassPathXmlApplicationContext(configLocation); @@ -40,21 +51,20 @@ public class MultipleCacheTest { Cache cache1 = context1.getBean(Cache.class); Cache cache2 = context2.getBean(Cache.class); - assertNotNull(cache1); - assertSame(cache1, cache2); + assertThat(cache1).isNotNull(); + assertThat(cache2).isSameAs(cache1); - Region region1 = context1.getBean(Region.class); - Region region2 = context2.getBean(Region.class); + Region region1 = context1.getBean(Region.class); + Region region2 = context2.getBean(Region.class); - assertNotNull(region1); - assertSame(region1, region2); - assertFalse(cache1.isClosed()); - assertFalse(region1.isDestroyed()); + assertThat(region1).isNotNull(); + assertThat(region2).isSameAs(region1); + assertThat(cache1.isClosed()).isFalse(); + assertThat(region1.isDestroyed()).isFalse(); context1.close(); - assertFalse(cache1.isClosed()); - assertFalse("region was destroyed", region1.isDestroyed()); + assertThat(cache1.isClosed()).isFalse(); + assertThat(region1.isDestroyed()).as("region was destroyed").isFalse(); } - } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/PartitionedRegionNamespaceIntegrationTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/PartitionedRegionNamespaceIntegrationTests.java index a4a13acf..8e666dc6 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/PartitionedRegionNamespaceIntegrationTests.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/PartitionedRegionNamespaceIntegrationTests.java @@ -16,12 +16,6 @@ package org.springframework.data.gemfire.config.xml; import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; import java.util.Arrays; import java.util.List; @@ -79,23 +73,23 @@ public class PartitionedRegionNamespaceIntegrationTests extends IntegrationTests @Test public void testSimplePartitionRegion() { - assertTrue(applicationContext.containsBean("simple")); + assertThat(applicationContext.containsBean("simple")).isTrue(); Region simple = applicationContext.getBean("simple", Region.class); - assertNotNull(simple); - assertEquals("simple", simple.getName()); - assertEquals(Region.SEPARATOR + "simple", simple.getFullPath()); - assertNotNull(simple.getAttributes()); - assertEquals(DataPolicy.PARTITION, simple.getAttributes().getDataPolicy()); + assertThat(simple).isNotNull(); + assertThat(simple.getName()).isEqualTo("simple"); + assertThat(simple.getFullPath()).isEqualTo(Region.SEPARATOR + "simple"); + assertThat(simple.getAttributes()).isNotNull(); + assertThat(simple.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.PARTITION); } @Test @SuppressWarnings("rawtypes") public void testOptionsPartitionRegion() throws Exception { - assertTrue(applicationContext.containsBean("options")); - assertTrue(applicationContext.containsBean("redundant")); + assertThat(applicationContext.containsBean("options")).isTrue(); + assertThat(applicationContext.containsBean("redundant")).isTrue(); Region options = applicationContext.getBean("options", Region.class); @@ -106,70 +100,74 @@ public class PartitionedRegionNamespaceIntegrationTests extends IntegrationTests PeerRegionFactoryBean optionsRegionFactoryBean = applicationContext.getBean("&options", PeerRegionFactoryBean.class); - assertTrue(optionsRegionFactoryBean instanceof PartitionedRegionFactoryBean); - assertNull(TestUtils.readField("scope", optionsRegionFactoryBean)); - assertEquals("redundant", TestUtils.readField("name", optionsRegionFactoryBean)); - assertNull(TestUtils.readField("scope", optionsRegionFactoryBean)); + assertThat(optionsRegionFactoryBean instanceof PartitionedRegionFactoryBean).isTrue(); + assertThat(TestUtils.readField("scope", optionsRegionFactoryBean)).isNull(); + assertThat(TestUtils.readField("name", optionsRegionFactoryBean)).isEqualTo("redundant"); + assertThat(TestUtils.readField("scope", optionsRegionFactoryBean)).isNull(); RegionAttributes optionsRegionAttributes = optionsRegionFactoryBean.getAttributes(); - assertNotNull(optionsRegionAttributes); - assertTrue(optionsRegionAttributes.getOffHeap()); - assertTrue(optionsRegionAttributes.getStatisticsEnabled()); + assertThat(optionsRegionAttributes).isNotNull(); + assertThat(optionsRegionAttributes.getOffHeap()).isTrue(); + assertThat(optionsRegionAttributes.getStatisticsEnabled()).isTrue(); PartitionAttributes optionsRegionPartitionAttributes = optionsRegionAttributes.getPartitionAttributes(); - assertNotNull(optionsRegionPartitionAttributes); - assertEquals(1, optionsRegionPartitionAttributes.getRedundantCopies()); - assertEquals(4, optionsRegionPartitionAttributes.getTotalNumBuckets()); - assertTrue(optionsRegionPartitionAttributes.getPartitionResolver() instanceof SimplePartitionResolver); + assertThat(optionsRegionPartitionAttributes).isNotNull(); + assertThat(optionsRegionPartitionAttributes.getRedundantCopies()).isEqualTo(1); + assertThat(optionsRegionPartitionAttributes.getTotalNumBuckets()).isEqualTo(4); + assertThat(optionsRegionPartitionAttributes.getPartitionResolver() instanceof SimplePartitionResolver).isTrue(); } @Test @SuppressWarnings("rawtypes") public void testComplexPartitionRegion() throws Exception { - assertTrue(applicationContext.containsBean("complex")); + assertThat(applicationContext.containsBean("complex")).isTrue(); PeerRegionFactoryBean complexRegionFactoryBean = applicationContext.getBean("&complex", PeerRegionFactoryBean.class); CacheListener[] cacheListeners = TestUtils.readField("cacheListeners", complexRegionFactoryBean); - assertFalse(ObjectUtils.isEmpty(cacheListeners)); - assertEquals(2, cacheListeners.length); - assertSame(cacheListeners[0], applicationContext.getBean("c-listener")); - assertTrue(cacheListeners[1] instanceof SimpleCacheListener); + assertThat(ObjectUtils.isEmpty(cacheListeners)).isFalse(); + assertThat(cacheListeners.length).isEqualTo(2); + assertThat(applicationContext.getBean("c-listener")).isSameAs(cacheListeners[0]); + assertThat(cacheListeners[1] instanceof SimpleCacheListener).isTrue(); - assertSame(applicationContext.getBean("c-loader"), TestUtils.readField("cacheLoader", complexRegionFactoryBean)); - assertSame(applicationContext.getBean("c-writer"), TestUtils.readField("cacheWriter", complexRegionFactoryBean)); + assertThat(TestUtils.readField("cacheLoader", complexRegionFactoryBean)) + .isSameAs(applicationContext.getBean("c-loader")); + assertThat(TestUtils.readField("cacheWriter", complexRegionFactoryBean)) + .isSameAs(applicationContext.getBean("c-writer")); RegionAttributes complexRegionAttributes = TestUtils.readField("attributes", complexRegionFactoryBean); - assertNotNull(complexRegionAttributes); + assertThat(complexRegionAttributes).isNotNull(); PartitionAttributes complexRegionPartitionAttributes = complexRegionAttributes.getPartitionAttributes(); - assertNotNull(complexRegionPartitionAttributes); - assertEquals(20, complexRegionPartitionAttributes.getLocalMaxMemory()); - assertNotNull(complexRegionPartitionAttributes.getPartitionListeners()); - assertEquals(1, complexRegionPartitionAttributes.getPartitionListeners().length); - assertTrue(complexRegionPartitionAttributes.getPartitionListeners()[0] instanceof TestPartitionListener); + assertThat(complexRegionPartitionAttributes).isNotNull(); + assertThat(complexRegionPartitionAttributes.getLocalMaxMemory()).isEqualTo(20); + assertThat(complexRegionPartitionAttributes.getPartitionListeners()).isNotNull(); + assertThat(complexRegionPartitionAttributes.getPartitionListeners().length).isEqualTo(1); + assertThat(complexRegionPartitionAttributes.getPartitionListeners()[0] instanceof TestPartitionListener) + .isTrue(); } @Test public void testCompressedPartitionRegion() { - assertTrue(applicationContext.containsBean("compressed")); + assertThat(applicationContext.containsBean("compressed")).isTrue(); Region compressed = applicationContext.getBean("compressed", Region.class); - assertNotNull("The 'compressed' PARTITION Region was not properly configured and initialized!", compressed); - assertEquals("compressed", compressed.getName()); - assertEquals(Region.SEPARATOR + "compressed", compressed.getFullPath()); - assertNotNull(compressed.getAttributes()); - assertEquals(DataPolicy.PARTITION, compressed.getAttributes().getDataPolicy()); - assertTrue(compressed.getAttributes().getCompressor() instanceof TestCompressor); - assertEquals("testCompressor", compressed.getAttributes().getCompressor().toString()); + assertThat(compressed).as("The 'compressed' PARTITION Region was not properly configured and initialized!") + .isNotNull(); + assertThat(compressed.getName()).isEqualTo("compressed"); + assertThat(compressed.getFullPath()).isEqualTo(Region.SEPARATOR + "compressed"); + assertThat(compressed.getAttributes()).isNotNull(); + assertThat(compressed.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.PARTITION); + assertThat(compressed.getAttributes().getCompressor() instanceof TestCompressor).isTrue(); + assertThat(compressed.getAttributes().getCompressor().toString()).isEqualTo("testCompressor"); } @Test @@ -178,73 +176,75 @@ public class PartitionedRegionNamespaceIntegrationTests extends IntegrationTests PeerRegionFactoryBean fixedRegionFactoryBean = applicationContext.getBean("&fixed", PeerRegionFactoryBean.class); - assertNotNull(fixedRegionFactoryBean); + assertThat(fixedRegionFactoryBean).isNotNull(); RegionAttributes fixedRegionAttributes = TestUtils.readField("attributes", fixedRegionFactoryBean); - assertNotNull(fixedRegionAttributes); + assertThat(fixedRegionAttributes).isNotNull(); PartitionAttributes fixedRegionPartitionAttributes = fixedRegionAttributes.getPartitionAttributes(); - assertNotNull(fixedRegionPartitionAttributes); + assertThat(fixedRegionPartitionAttributes).isNotNull(); - assertNotNull(fixedRegionPartitionAttributes.getFixedPartitionAttributes()); - assertEquals(3, fixedRegionPartitionAttributes.getFixedPartitionAttributes().size()); + assertThat(fixedRegionPartitionAttributes.getFixedPartitionAttributes()).isNotNull(); + assertThat(fixedRegionPartitionAttributes.getFixedPartitionAttributes().size()).isEqualTo(3); FixedPartitionAttributes fixedPartitionAttributes = (FixedPartitionAttributes) fixedRegionPartitionAttributes.getFixedPartitionAttributes().get(0); - assertEquals(3, fixedPartitionAttributes.getNumBuckets()); - assertTrue(fixedPartitionAttributes.isPrimary()); + assertThat(fixedPartitionAttributes.getNumBuckets()).isEqualTo(3); + assertThat(fixedPartitionAttributes.isPrimary()).isTrue(); } @Test public void testMultiplePartitionListeners() { - assertTrue(applicationContext.containsBean("listeners")); + assertThat(applicationContext.containsBean("listeners")).isTrue(); Region listeners = applicationContext.getBean("listeners", Region.class); - assertNotNull("The 'listeners' PARTITION Region was not properly configured and initialized!", listeners); - assertEquals("listeners", listeners.getName()); - assertEquals(Region.SEPARATOR + "listeners", listeners.getFullPath()); - assertNotNull(listeners.getAttributes()); - assertEquals(DataPolicy.PARTITION, listeners.getAttributes().getDataPolicy()); + assertThat(listeners).as("The 'listeners' PARTITION Region was not properly configured and initialized!") + .isNotNull(); + assertThat(listeners.getName()).isEqualTo("listeners"); + assertThat(listeners.getFullPath()).isEqualTo(Region.SEPARATOR + "listeners"); + assertThat(listeners.getAttributes()).isNotNull(); + assertThat(listeners.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.PARTITION); PartitionAttributes listenersPartitionAttributes = listeners.getAttributes().getPartitionAttributes(); - assertNotNull(listenersPartitionAttributes); - assertNotNull(listenersPartitionAttributes.getPartitionListeners()); - assertEquals(4, listenersPartitionAttributes.getPartitionListeners().length); + assertThat(listenersPartitionAttributes).isNotNull(); + assertThat(listenersPartitionAttributes.getPartitionListeners()).isNotNull(); + assertThat(listenersPartitionAttributes.getPartitionListeners().length).isEqualTo(4); List expectedNames = Arrays.asList("X", "Y", "Z", "ABC"); for (PartitionListener listener : listenersPartitionAttributes.getPartitionListeners()) { - assertTrue(listener instanceof TestPartitionListener); - assertTrue(expectedNames.contains(listener.toString())); + assertThat(listener instanceof TestPartitionListener).isTrue(); + assertThat(expectedNames.contains(listener.toString())).isTrue(); } } @Test public void testSinglePartitionListeners() { - assertTrue(applicationContext.containsBean("listenerRef")); + assertThat(applicationContext.containsBean("listenerRef")).isTrue(); Region listeners = applicationContext.getBean("listenerRef", Region.class); - assertNotNull("The 'listenerRef' PARTITION Region was not properly configured and initialized!", listeners); - assertEquals("listenerRef", listeners.getName()); - assertEquals(Region.SEPARATOR + "listenerRef", listeners.getFullPath()); - assertNotNull(listeners.getAttributes()); - assertEquals(DataPolicy.PARTITION, listeners.getAttributes().getDataPolicy()); + assertThat(listeners).as("The 'listenerRef' PARTITION Region was not properly configured and initialized!") + .isNotNull(); + assertThat(listeners.getName()).isEqualTo("listenerRef"); + assertThat(listeners.getFullPath()).isEqualTo(Region.SEPARATOR + "listenerRef"); + assertThat(listeners.getAttributes()).isNotNull(); + assertThat(listeners.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.PARTITION); PartitionAttributes listenersPartitionAttributes = listeners.getAttributes().getPartitionAttributes(); - assertNotNull(listenersPartitionAttributes); - assertNotNull(listenersPartitionAttributes.getPartitionListeners()); - assertEquals(1, listenersPartitionAttributes.getPartitionListeners().length); - assertTrue(listenersPartitionAttributes.getPartitionListeners()[0] instanceof TestPartitionListener); - assertEquals("ABC", listenersPartitionAttributes.getPartitionListeners()[0].toString()); + assertThat(listenersPartitionAttributes).isNotNull(); + assertThat(listenersPartitionAttributes.getPartitionListeners()).isNotNull(); + assertThat(listenersPartitionAttributes.getPartitionListeners().length).isEqualTo(1); + assertThat(listenersPartitionAttributes.getPartitionListeners()[0] instanceof TestPartitionListener).isTrue(); + assertThat(listenersPartitionAttributes.getPartitionListeners()[0].toString()).isEqualTo("ABC"); } public static class TestCompressor implements Compressor { diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/RegionDefinitionUsingBeansNamespaceIntegrationTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/RegionDefinitionUsingBeansNamespaceIntegrationTests.java index 5df8212b..0d59e21f 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/RegionDefinitionUsingBeansNamespaceIntegrationTests.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/RegionDefinitionUsingBeansNamespaceIntegrationTests.java @@ -15,9 +15,7 @@ */ package org.springframework.data.gemfire.config.xml; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; +import static org.assertj.core.api.Assertions.assertThat; import javax.annotation.Resource; @@ -73,15 +71,15 @@ public class RegionDefinitionUsingBeansNamespaceIntegrationTests extends Integra @Test public void testExampleRegionBeanDefinitionConfiguration() { - assertNotNull("The '/Example' Region was not properly configured and initialized!", example); - assertEquals("Example", example.getName()); - assertEquals("/Example", example.getFullPath()); - assertNotNull(example.getAttributes()); - assertEquals(DataPolicy.PERSISTENT_PARTITION, example.getAttributes().getDataPolicy()); - assertTrue(example.getAttributes().getStatisticsEnabled()); - assertNotNull(example.getAttributes().getPartitionAttributes()); - assertEquals(1, example.getAttributes().getPartitionAttributes().getRedundantCopies()); - assertEquals(0, example.getAttributes().getPartitionAttributes().getRecoveryDelay()); + assertThat(example).as("The '/Example' Region was not properly configured and initialized!").isNotNull(); + assertThat(example.getName()).isEqualTo("Example"); + assertThat(example.getFullPath()).isEqualTo("/Example"); + assertThat(example.getAttributes()).isNotNull(); + assertThat(example.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.PERSISTENT_PARTITION); + assertThat(example.getAttributes().getStatisticsEnabled()).isTrue(); + assertThat(example.getAttributes().getPartitionAttributes()).isNotNull(); + assertThat(example.getAttributes().getPartitionAttributes().getRedundantCopies()).isEqualTo(1); + assertThat(example.getAttributes().getPartitionAttributes().getRecoveryDelay()).isEqualTo(0); } @Test @@ -90,32 +88,33 @@ public class RegionDefinitionUsingBeansNamespaceIntegrationTests extends Integra PeerRegionFactoryBean anotherExampleRegionFactoryBean = applicationContext.getBean("&AnotherExample", PeerRegionFactoryBean.class); - assertNotNull(anotherExampleRegionFactoryBean); - assertEquals(DataPolicy.PERSISTENT_PARTITION, anotherExampleRegionFactoryBean.getDataPolicy()); - assertTrue(Boolean.TRUE.equals(TestUtils.readField("persistent", anotherExampleRegionFactoryBean))); + assertThat(anotherExampleRegionFactoryBean).isNotNull(); + assertThat(anotherExampleRegionFactoryBean.getDataPolicy()).isEqualTo(DataPolicy.PERSISTENT_PARTITION); + assertThat(Boolean.TRUE.equals(TestUtils.readField("persistent", anotherExampleRegionFactoryBean))).isTrue(); RegionAttributes anotherExampleRegionAttributes = TestUtils.readField("attributes", anotherExampleRegionFactoryBean); - assertNotNull(anotherExampleRegionAttributes); - assertEquals(DataPolicy.PARTITION, anotherExampleRegionAttributes.getDataPolicy()); + assertThat(anotherExampleRegionAttributes).isNotNull(); + assertThat(anotherExampleRegionAttributes.getDataPolicy()).isEqualTo(DataPolicy.PARTITION); PartitionAttributes anotherExamplePartitionAttributes = anotherExampleRegionAttributes.getPartitionAttributes(); - assertNotNull(anotherExamplePartitionAttributes); - assertEquals(2, anotherExamplePartitionAttributes.getRedundantCopies()); + assertThat(anotherExamplePartitionAttributes).isNotNull(); + assertThat(anotherExamplePartitionAttributes.getRedundantCopies()).isEqualTo(2); } @Test public void testAnotherExampleRegionDefinitionConfiguration() { - assertNotNull("The '/AnotherExample' Region was not properly configured and initialized!", anotherExample); - assertEquals("AnotherExample", anotherExample.getName()); - assertEquals("/AnotherExample", anotherExample.getFullPath()); - assertNotNull(anotherExample.getAttributes()); - assertEquals(DataPolicy.PERSISTENT_PARTITION, anotherExample.getAttributes().getDataPolicy()); - assertNotNull(anotherExample.getAttributes().getPartitionAttributes()); - assertEquals(2, anotherExample.getAttributes().getPartitionAttributes().getRedundantCopies()); + assertThat(anotherExample).as("The '/AnotherExample' Region was not properly configured and initialized!") + .isNotNull(); + assertThat(anotherExample.getName()).isEqualTo("AnotherExample"); + assertThat(anotherExample.getFullPath()).isEqualTo("/AnotherExample"); + assertThat(anotherExample.getAttributes()).isNotNull(); + assertThat(anotherExample.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.PERSISTENT_PARTITION); + assertThat(anotherExample.getAttributes().getPartitionAttributes()).isNotNull(); + assertThat(anotherExample.getAttributes().getPartitionAttributes().getRedundantCopies()).isEqualTo(2); } public static final class TestRegionFactoryBean extends PeerRegionFactoryBean { } 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 b2746055..6dd4b290 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 @@ -15,9 +15,7 @@ */ package org.springframework.data.gemfire.config.xml; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; +import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.mock; import javax.annotation.Resource; @@ -43,6 +41,7 @@ import org.springframework.util.Assert; * * @author John Blum * @see org.junit.Test + * @see org.mockito.Mockito * @see org.apache.geode.cache.ExpirationAttributes * @see org.apache.geode.cache.Region * @see org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport @@ -75,35 +74,37 @@ public class RegionExpirationAttributesNamespaceIntegrationTests extends Integra private void assertRegionMetaData(Region region, String regionName, String regionFullPath, DataPolicy dataPolicy) { - assertNotNull(String.format("The '%1$s' Region was not properly configured and initialized!", regionName), region); - assertEquals(regionName, region.getName()); - assertEquals(regionFullPath, region.getFullPath()); - assertNotNull(region.getAttributes()); - assertEquals(dataPolicy, region.getAttributes().getDataPolicy()); + assertThat(region) + .as(String.format("The '%1$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) { if (expirationAttributes != null) { //assertEquals(ExpirationAction.INVALIDATE, expirationAttributes.getAction()); - assertEquals(0, expirationAttributes.getTimeout()); + assertThat(expirationAttributes.getTimeout()).isEqualTo(0); } } private void assertExpirationAttributes(ExpirationAttributes expirationAttributes, int timeout, ExpirationAction action) { - assertNotNull(expirationAttributes); - assertEquals(timeout, expirationAttributes.getTimeout()); - assertEquals(action, expirationAttributes.getAction()); + assertThat(expirationAttributes).isNotNull(); + assertThat(expirationAttributes.getTimeout()).isEqualTo(timeout); + assertThat(expirationAttributes.getAction()).isEqualTo(action); } @SuppressWarnings("unchecked") private void assertCustomExpiry(CustomExpiry customExpiry, String name, int timeout, ExpirationAction action) { - assertNotNull(customExpiry); - assertEquals(name, customExpiry.toString()); + assertThat(customExpiry).isNotNull(); + assertThat(customExpiry.toString()).isEqualTo(name); assertExpirationAttributes(customExpiry.getExpiry(mock(Region.Entry.class)), timeout, action); } @@ -115,8 +116,8 @@ public class RegionExpirationAttributesNamespaceIntegrationTests extends Integra 600, ExpirationAction.DESTROY); assertExpirationAttributes(replicateExample.getAttributes().getEntryIdleTimeout(), 300, ExpirationAction.INVALIDATE); - assertNull(replicateExample.getAttributes().getCustomEntryTimeToLive()); - assertNull(replicateExample.getAttributes().getCustomEntryIdleTimeout()); + assertThat(replicateExample.getAttributes().getCustomEntryTimeToLive()).isNull(); + assertThat(replicateExample.getAttributes().getCustomEntryIdleTimeout()).isNull(); } @Test @@ -126,8 +127,8 @@ public class RegionExpirationAttributesNamespaceIntegrationTests extends Integra assertExpirationAttributes(preloadedExample.getAttributes().getEntryTimeToLive(), 120, ExpirationAction.LOCAL_DESTROY); assertNoExpiration(preloadedExample.getAttributes().getEntryIdleTimeout()); - assertNull(preloadedExample.getAttributes().getCustomEntryTimeToLive()); - assertNull(preloadedExample.getAttributes().getCustomEntryIdleTimeout()); + assertThat(preloadedExample.getAttributes().getCustomEntryTimeToLive()).isNull(); + assertThat(preloadedExample.getAttributes().getCustomEntryIdleTimeout()).isNull(); } @Test @@ -137,7 +138,7 @@ public class RegionExpirationAttributesNamespaceIntegrationTests extends Integra assertExpirationAttributes(partitionExample.getAttributes().getEntryTimeToLive(), 300, ExpirationAction.DESTROY); assertNoExpiration(partitionExample.getAttributes().getEntryIdleTimeout()); - assertNull(partitionExample.getAttributes().getCustomEntryTimeToLive()); + assertThat(partitionExample.getAttributes().getCustomEntryTimeToLive()).isNull(); assertCustomExpiry(partitionExample.getAttributes().getCustomEntryIdleTimeout(), "PartitionCustomExpiry", 120, ExpirationAction.INVALIDATE); } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/ReplicatedRegionNamespaceIntegrationTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/ReplicatedRegionNamespaceIntegrationTests.java index f7e2084f..f58a1d9b 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/ReplicatedRegionNamespaceIntegrationTests.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/ReplicatedRegionNamespaceIntegrationTests.java @@ -15,19 +15,16 @@ */ package org.springframework.data.gemfire.config.xml; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNotSame; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.data.Offset.offset; import org.junit.Test; import org.junit.runner.RunWith; import org.apache.geode.cache.Cache; import org.apache.geode.cache.CacheListener; +import org.apache.geode.cache.CacheLoader; +import org.apache.geode.cache.CacheWriter; import org.apache.geode.cache.DataPolicy; import org.apache.geode.cache.Region; import org.apache.geode.cache.RegionAttributes; @@ -74,109 +71,113 @@ public class ReplicatedRegionNamespaceIntegrationTests extends IntegrationTestsS @Test public void testSimpleReplicateRegion() throws Exception { - assertTrue(applicationContext.containsBean("simple")); + assertThat(applicationContext.containsBean("simple")).isTrue(); PeerRegionFactoryBean simpleRegionFactoryBean = applicationContext.getBean("&simple", PeerRegionFactoryBean.class); - assertEquals("simple", TestUtils.readField("beanName", simpleRegionFactoryBean)); - assertEquals(false, TestUtils.readField("close", simpleRegionFactoryBean)); - assertNull(TestUtils.readField("scope", simpleRegionFactoryBean)); + assertThat(TestUtils.readField("beanName", simpleRegionFactoryBean)).isEqualTo("simple"); + assertThat(TestUtils.readField("close", simpleRegionFactoryBean)).isEqualTo(false); + assertThat(TestUtils.readField("scope", simpleRegionFactoryBean)).isNull(); RegionAttributes simpleRegionAttributes = TestUtils.readField("attributes", simpleRegionFactoryBean); - assertNotNull(simpleRegionAttributes); - assertFalse(simpleRegionAttributes.getConcurrencyChecksEnabled()); - assertEquals(13, simpleRegionAttributes.getConcurrencyLevel()); - assertEquals(Scope.DISTRIBUTED_NO_ACK, simpleRegionAttributes.getScope()); + assertThat(simpleRegionAttributes).isNotNull(); + assertThat(simpleRegionAttributes.getConcurrencyChecksEnabled()).isFalse(); + assertThat(simpleRegionAttributes.getConcurrencyLevel()).isEqualTo(13); + assertThat(simpleRegionAttributes.getScope()).isEqualTo(Scope.DISTRIBUTED_NO_ACK); } @Test @SuppressWarnings({ "deprecation", "rawtypes" }) public void testPublishReplicateRegion() throws Exception { - assertTrue(applicationContext.containsBean("pub")); + assertThat(applicationContext.containsBean("pub")).isTrue(); PeerRegionFactoryBean publisherRegionFactoryBean = applicationContext.getBean("&pub", PeerRegionFactoryBean.class); - assertTrue(publisherRegionFactoryBean instanceof ReplicatedRegionFactoryBean); - assertEquals("publisher", TestUtils.readField("name", publisherRegionFactoryBean)); - assertEquals(Scope.DISTRIBUTED_ACK, TestUtils.readField("scope", publisherRegionFactoryBean)); + assertThat(publisherRegionFactoryBean instanceof ReplicatedRegionFactoryBean).isTrue(); + assertThat(TestUtils.readField("name", publisherRegionFactoryBean)).isEqualTo("publisher"); + assertThat(TestUtils.readField("scope", publisherRegionFactoryBean)).isEqualTo(Scope.DISTRIBUTED_ACK); RegionAttributes publisherRegionAttributes = TestUtils.readField("attributes", publisherRegionFactoryBean); - assertTrue(publisherRegionAttributes.getConcurrencyChecksEnabled()); - assertFalse(publisherRegionAttributes.getPublisher()); + assertThat(publisherRegionAttributes.getConcurrencyChecksEnabled()).isTrue(); + assertThat(publisherRegionAttributes.getPublisher()).isFalse(); } @Test @SuppressWarnings("rawtypes") public void testComplexReplicateRegion() throws Exception { - assertTrue(applicationContext.containsBean("complex")); + assertThat(applicationContext.containsBean("complex")).isTrue(); PeerRegionFactoryBean complexRegionFactoryBean = applicationContext.getBean("&complex", PeerRegionFactoryBean.class); - assertNotNull(complexRegionFactoryBean); - assertEquals("complex", TestUtils.readField("beanName", complexRegionFactoryBean)); + assertThat(complexRegionFactoryBean).isNotNull(); + assertThat(TestUtils.readField("beanName", complexRegionFactoryBean)).isEqualTo("complex"); CacheListener[] cacheListeners = TestUtils.readField("cacheListeners", complexRegionFactoryBean); - assertFalse(ObjectUtils.isEmpty(cacheListeners)); - assertEquals(2, cacheListeners.length); - assertSame(applicationContext.getBean("c-listener"), cacheListeners[0]); - assertTrue(cacheListeners[1] instanceof SimpleCacheListener); - assertNotSame(cacheListeners[0], cacheListeners[1]); - assertSame(applicationContext.getBean("c-loader"), TestUtils.readField("cacheLoader", complexRegionFactoryBean)); - assertSame(applicationContext.getBean("c-writer"), TestUtils.readField("cacheWriter", complexRegionFactoryBean)); + assertThat(ObjectUtils.isEmpty(cacheListeners)).isFalse(); + assertThat(cacheListeners.length).isEqualTo(2); + assertThat(cacheListeners[0]).isSameAs(applicationContext.getBean("c-listener")); + assertThat(cacheListeners[1] instanceof SimpleCacheListener).isTrue(); + assertThat(cacheListeners[1]).isNotSameAs(cacheListeners[0]); + assertThat(TestUtils.readField("cacheLoader", complexRegionFactoryBean)) + .isSameAs(applicationContext.getBean("c-loader")); + assertThat(TestUtils.readField("cacheWriter", complexRegionFactoryBean)) + .isSameAs(applicationContext.getBean("c-writer")); } @Test @SuppressWarnings("rawtypes") public void testReplicatedRegionWithAttributes() { - assertTrue(applicationContext.containsBean("replicated-with-attributes")); + assertThat(applicationContext.containsBean("replicated-with-attributes")).isTrue(); - Region region = applicationContext.getBean("replicated-with-attributes", Region.class); + Region region = applicationContext.getBean("replicated-with-attributes", Region.class); - assertNotNull("The 'replicated-with-attributes' Region was not properly configured and initialized!", region); + assertThat(region) + .describedAs("The 'replicated-with-attributes' Region was not properly configured and initialized!") + .isNotNull(); RegionAttributes regionAttributes = region.getAttributes(); - assertNotNull(regionAttributes); - assertFalse(regionAttributes.getCloningEnabled()); - assertEquals(10, regionAttributes.getConcurrencyLevel()); - assertTrue(regionAttributes.isDiskSynchronous()); - assertTrue(regionAttributes.getEnableAsyncConflation()); - assertTrue(regionAttributes.getEnableSubscriptionConflation()); - assertTrue(regionAttributes.getIgnoreJTA()); - assertEquals(10, regionAttributes.getInitialCapacity()); - assertFalse(regionAttributes.getIndexMaintenanceSynchronous()); - assertEquals(String.class, regionAttributes.getKeyConstraint()); - assertEquals(0.50, regionAttributes.getLoadFactor(), 0.001); - assertTrue(regionAttributes.isLockGrantor()); - assertTrue(regionAttributes.getMulticastEnabled()); - assertTrue(regionAttributes.getOffHeap()); - assertEquals(Scope.GLOBAL, regionAttributes.getScope()); - assertEquals(String.class, regionAttributes.getValueConstraint()); + assertThat(regionAttributes).isNotNull(); + assertThat(regionAttributes.getCloningEnabled()).isFalse(); + assertThat(regionAttributes.getConcurrencyLevel()).isEqualTo(10); + assertThat(regionAttributes.isDiskSynchronous()).isTrue(); + assertThat(regionAttributes.getEnableAsyncConflation()).isTrue(); + assertThat(regionAttributes.getEnableSubscriptionConflation()).isTrue(); + assertThat(regionAttributes.getIgnoreJTA()).isTrue(); + assertThat(regionAttributes.getInitialCapacity()).isEqualTo(10); + assertThat(regionAttributes.getIndexMaintenanceSynchronous()).isFalse(); + assertThat(regionAttributes.getKeyConstraint()).isEqualTo(String.class); + assertThat(regionAttributes.getLoadFactor()).isCloseTo(0.50f, offset(0.001f)); + assertThat(regionAttributes.isLockGrantor()).isTrue(); + assertThat(regionAttributes.getMulticastEnabled()).isTrue(); + assertThat(regionAttributes.getOffHeap()).isTrue(); + assertThat(regionAttributes.getScope()).isEqualTo(Scope.GLOBAL); + assertThat(regionAttributes.getValueConstraint()).isEqualTo(String.class); } @Test public void testReplicatedWithSynchronousIndexUpdates() { - assertTrue(applicationContext.containsBean("replicated-with-synchronous-index-updates")); + assertThat(applicationContext.containsBean("replicated-with-synchronous-index-updates")).isTrue(); Region region = applicationContext.getBean("replicated-with-synchronous-index-updates", Region.class); - assertNotNull(String.format("The '%1$s' Region was not properly configured and initialized!", - "replicated-with-synchronous-index-updates"), region); + assertThat(region).as(String.format("The '%1$s' Region was not properly configured and initialized!", + "replicated-with-synchronous-index-updates")).isNotNull(); RegionAttributes regionAttributes = region.getAttributes(); - assertNotNull(regionAttributes); - assertTrue(regionAttributes.getIndexMaintenanceSynchronous()); + assertThat(regionAttributes).isNotNull(); + assertThat(regionAttributes.getIndexMaintenanceSynchronous()).isTrue(); } @Test @@ -187,31 +188,32 @@ public class ReplicatedRegionNamespaceIntegrationTests extends IntegrationTestsS Region existing = cache.createRegionFactory().create("existing"); - assertTrue(applicationContext.containsBean("lookup")); + assertThat(applicationContext.containsBean("lookup")).isTrue(); ResolvableRegionFactoryBean regionFactoryBean = applicationContext.getBean("&lookup", ResolvableRegionFactoryBean.class); - assertNotNull(regionFactoryBean); - assertEquals("existing", TestUtils.readField("name", regionFactoryBean)); - assertSame(existing, applicationContext.getBean("lookup")); + assertThat(regionFactoryBean).isNotNull(); + assertThat(TestUtils.readField("name", regionFactoryBean)).isEqualTo("existing"); + assertThat(applicationContext.getBean("lookup")).isSameAs(existing); } @Test public void testCompressedReplicateRegion() { - assertTrue(applicationContext.containsBean("Compressed")); + assertThat(applicationContext.containsBean("Compressed")).isTrue(); Region compressed = applicationContext.getBean("Compressed", Region.class); - assertNotNull("The 'Compressed' REPLICATE Region was not properly configured and initialized!", compressed); - assertEquals("Compressed", compressed.getName()); - assertEquals(Region.SEPARATOR + "Compressed", compressed.getFullPath()); - assertNotNull(compressed.getAttributes()); - assertEquals(DataPolicy.REPLICATE, compressed.getAttributes().getDataPolicy()); - assertEquals(Scope.DISTRIBUTED_NO_ACK, compressed.getAttributes().getScope()); - assertTrue(compressed.getAttributes().getCompressor() instanceof TestCompressor); - assertEquals("XYZ", compressed.getAttributes().getCompressor().toString()); + assertThat(compressed).as("The 'Compressed' REPLICATE Region was not properly configured and initialized!") + .isNotNull(); + assertThat(compressed.getName()).isEqualTo("Compressed"); + assertThat(compressed.getFullPath()).isEqualTo(Region.SEPARATOR + "Compressed"); + assertThat(compressed.getAttributes()).isNotNull(); + assertThat(compressed.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.REPLICATE); + assertThat(compressed.getAttributes().getScope()).isEqualTo(Scope.DISTRIBUTED_NO_ACK); + assertThat(compressed.getAttributes().getCompressor() instanceof TestCompressor).isTrue(); + assertThat(compressed.getAttributes().getCompressor().toString()).isEqualTo("XYZ"); } public static class TestCompressor implements Compressor { diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/SubRegionSubElementNamespaceIntegrationTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/SubRegionSubElementNamespaceIntegrationTests.java index f570d90f..f7b5b641 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/SubRegionSubElementNamespaceIntegrationTests.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/SubRegionSubElementNamespaceIntegrationTests.java @@ -15,8 +15,7 @@ */ package org.springframework.data.gemfire.config.xml; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; +import static org.assertj.core.api.Assertions.assertThat; import java.util.List; @@ -36,7 +35,7 @@ import org.springframework.context.ApplicationContext; import org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport; import org.springframework.data.gemfire.tests.mock.context.GemFireMockObjectsApplicationContextInitializer; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit4.SpringRunner; /** * Integration Tests for {@link Region sub-Region}, sub-element SDG XML namespace configuration metadata. @@ -53,7 +52,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; * @see org.springframework.test.context.junit4.SpringRunner * @since 1.3.3 */ -@RunWith(SpringJUnit4ClassRunner.class) +@RunWith(SpringRunner.class) @ContextConfiguration(locations = "subregionsubelement-ns.xml", initializers = GemFireMockObjectsApplicationContextInitializer.class) @SuppressWarnings("unused") @@ -71,9 +70,9 @@ public class SubRegionSubElementNamespaceIntegrationTests extends IntegrationTes @Test public void testCustomersAccountsSubRegionCacheListener() { - assertNotNull(customersAccountsRegion); - assertNotNull(customersAccountsRegion.getAttributes()); - assertNotNull(customersAccountsRegion.getAttributes().getCacheListeners()); + assertThat(customersAccountsRegion).isNotNull(); + assertThat(customersAccountsRegion.getAttributes()).isNotNull(); + assertThat(customersAccountsRegion.getAttributes().getCacheListeners()).isNotNull(); boolean found = false; @@ -81,8 +80,9 @@ public class SubRegionSubElementNamespaceIntegrationTests extends IntegrationTes found |= (listener instanceof TestNoOpCacheListener); } - assertTrue(String.format("Expected a GemFire CacheListener of type (%1$s) to be registered on Region (%2$s)!", - TestNoOpCacheListener.class.getName(), customersAccountsRegion.getName()), found); + assertThat(found) + .as(String.format("Expected a GemFire CacheListener of type (%1$s) to be registered on Region (%2$s)!", + TestNoOpCacheListener.class.getName(), customersAccountsRegion.getName())).isTrue(); } @Test @@ -90,19 +90,19 @@ public class SubRegionSubElementNamespaceIntegrationTests extends IntegrationTes Region orderItemsRegion = applicationContext.getBean("/Orders/Items", Region.class); - assertNotNull(orderItemsRegion); - assertNotNull(orderItemsRegion.getAttributes()); - assertNotNull(orderItemsRegion.getAttributes().getGatewaySenderIds()); - assertTrue(orderItemsRegion.getAttributes().getGatewaySenderIds().contains("testSender")); + assertThat(orderItemsRegion).isNotNull(); + assertThat(orderItemsRegion.getAttributes()).isNotNull(); + assertThat(orderItemsRegion.getAttributes().getGatewaySenderIds()).isNotNull(); + assertThat(orderItemsRegion.getAttributes().getGatewaySenderIds().contains("testSender")).isTrue(); } @Test public void testParentChildSubRegionAsyncEventQueue() { - assertNotNull(parentChildRegion); - assertNotNull(parentChildRegion.getAttributes()); - assertNotNull(parentChildRegion.getAttributes().getAsyncEventQueueIds()); - assertTrue(parentChildRegion.getAttributes().getAsyncEventQueueIds().contains("testQueue")); + assertThat(parentChildRegion).isNotNull(); + assertThat(parentChildRegion.getAttributes()).isNotNull(); + assertThat(parentChildRegion.getAttributes().getAsyncEventQueueIds()).isNotNull(); + assertThat(parentChildRegion.getAttributes().getAsyncEventQueueIds().contains("testQueue")).isTrue(); } public static final class TestNoOpCacheListener extends CacheListenerAdapter { } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/SubRegionWithInvalidDataPolicyTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/SubRegionWithInvalidDataPolicyTest.java index 6a7c687f..141941b1 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/SubRegionWithInvalidDataPolicyTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/SubRegionWithInvalidDataPolicyTest.java @@ -13,31 +13,35 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.springframework.data.gemfire.config.xml; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.assertj.core.api.Assertions.assertThat; import org.junit.Test; +import org.apache.geode.cache.DataPolicy; +import org.apache.geode.cache.Region; + import org.springframework.beans.factory.BeanCreationException; import org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException; import org.springframework.context.support.ClassPathXmlApplicationContext; +import org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport; import org.xml.sax.SAXParseException; /** - * The SubRegionWithInvalidDataPolicyTest class is a test suite of test cases testing the data-policy and persistent - * attributes settings are consistent for GemFire SubRegion bean definitions. + * Unit Tests testing the {@link DataPolicy} and {@literal persistent} attributes settings are consistent for + * {@link Region sub-Region} bean definitions. * * @author John Blum * @see org.junit.Test - * @see org.springframework.test.context.junit4.SpringJUnit4ClassRunner - * @since GemFire 7.0.1 - * @since Spring Data GemFire 1.4.0 + * @see org.apache.geode.cache.DataPolicy + * @see org.apache.geode.cache.Region + * @see org.springframework.context.support.ClassPathXmlApplicationContext + * @see org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport + * @since 1.4.0 */ -public class SubRegionWithInvalidDataPolicyTest { +public class SubRegionWithInvalidDataPolicyTest extends IntegrationTestsSupport { @Test(expected = XmlBeanDefinitionStoreException.class) public void testSubRegionBeanDefinitionWithInconsistentDataPolicy() { @@ -48,8 +52,8 @@ public class SubRegionWithInvalidDataPolicyTest { } catch (XmlBeanDefinitionStoreException expected) { - assertTrue(expected.getCause() instanceof SAXParseException); - assertTrue(expected.getCause().getMessage().contains("PERSISTENT_PARTITION")); + assertThat(expected.getCause() instanceof SAXParseException).isTrue(); + assertThat(expected.getCause().getMessage().contains("PERSISTENT_PARTITION")).isTrue(); throw expected; } @@ -64,10 +68,10 @@ public class SubRegionWithInvalidDataPolicyTest { } catch (BeanCreationException expected) { - assertTrue(expected.getMessage().contains("Error creating bean with name '/Parent/Child'")); - assertTrue(expected.getCause() instanceof IllegalArgumentException); - assertEquals("Data Policy [REPLICATE] is not valid when persistent is true", - expected.getCause().getMessage()); + assertThat(expected.getMessage().contains("Error creating bean with name '/Parent/Child'")).isTrue(); + assertThat(expected.getCause() instanceof IllegalArgumentException).isTrue(); + assertThat(expected.getCause().getMessage()) + .isEqualTo("Data Policy [REPLICATE] is not valid when persistent is true"); throw expected; } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/TemplateRegionsNamespaceIntegrationTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/TemplateRegionsNamespaceIntegrationTests.java index 7ecfc254..8cc9514e 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/TemplateRegionsNamespaceIntegrationTests.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/TemplateRegionsNamespaceIntegrationTests.java @@ -15,12 +15,9 @@ */ package org.springframework.data.gemfire.config.xml; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.fail; +import static org.assertj.core.data.Offset.offset; import static org.junit.Assume.assumeNotNull; import java.util.Arrays; @@ -112,43 +109,43 @@ public class TemplateRegionsNamespaceIntegrationTests extends IntegrationTestsSu private void assertAsyncEventQueues(Region region, String... expectedNames) { - assertNotNull(region); - assertNotNull(region.getAttributes()); - assertNotNull(region.getAttributes().getAsyncEventQueueIds()); - assertEquals(expectedNames.length, region.getAttributes().getAsyncEventQueueIds().size()); + assertThat(region).isNotNull(); + assertThat(region.getAttributes()).isNotNull(); + assertThat(region.getAttributes().getAsyncEventQueueIds()).isNotNull(); + assertThat(region.getAttributes().getAsyncEventQueueIds().size()).isEqualTo(expectedNames.length); for (String asyncEventQueueId : region.getAttributes().getAsyncEventQueueIds()) { - assertTrue(Arrays.asList(expectedNames).contains(asyncEventQueueId)); + assertThat(Arrays.asList(expectedNames).contains(asyncEventQueueId)).isTrue(); } } private void assertCacheListeners(Region region, String... expectedNames) { - assertNotNull(region); - assertNotNull(region.getAttributes()); - assertNotNull(region.getAttributes().getCacheListeners()); - assertEquals(expectedNames.length, region.getAttributes().getCacheListeners().length); + assertThat(region).isNotNull(); + assertThat(region.getAttributes()).isNotNull(); + assertThat(region.getAttributes().getCacheListeners()).isNotNull(); + assertThat(region.getAttributes().getCacheListeners().length).isEqualTo(expectedNames.length); for (CacheListener cacheListener : region.getAttributes().getCacheListeners()) { - assertTrue(cacheListener instanceof TestCacheListener); - assertTrue(Arrays.asList(expectedNames).contains(cacheListener.toString())); + assertThat(cacheListener instanceof TestCacheListener).isTrue(); + assertThat(Arrays.asList(expectedNames).contains(cacheListener.toString())).isTrue(); } } private void assertCacheLoader(Region region, String expectedName) { - assertNotNull(region); - assertNotNull(region.getAttributes()); - assertTrue(region.getAttributes().getCacheLoader() instanceof TestCacheLoader); - assertEquals(expectedName, region.getAttributes().getCacheLoader().toString()); + assertThat(region).isNotNull(); + assertThat(region.getAttributes()).isNotNull(); + assertThat(region.getAttributes().getCacheLoader() instanceof TestCacheLoader).isTrue(); + assertThat(region.getAttributes().getCacheLoader().toString()).isEqualTo(expectedName); } private void assertCacheWriter(Region region, String expectedName) { - assertNotNull(region); - assertNotNull(region.getAttributes()); - assertTrue(region.getAttributes().getCacheWriter() instanceof TestCacheWriter); - assertEquals(expectedName, region.getAttributes().getCacheWriter().toString()); + assertThat(region).isNotNull(); + assertThat(region.getAttributes()).isNotNull(); + assertThat(region.getAttributes().getCacheWriter() instanceof TestCacheWriter).isTrue(); + assertThat(region.getAttributes().getCacheWriter().toString()).isEqualTo(expectedName); } private void assertDefaultEvictionAttributes(EvictionAttributes evictionAttributes) { @@ -159,35 +156,35 @@ public class TemplateRegionsNamespaceIntegrationTests extends IntegrationTestsSu private void assertEvictionAttributes(EvictionAttributes evictionAttributes, EvictionAction expectedAction, EvictionAlgorithm expectedAlgorithm, int expectedMaximum, ObjectSizer expectedObjectSizer) { - assertNotNull("The 'EvictionAttributes' must not be null!", evictionAttributes); - assertEquals(expectedAction, evictionAttributes.getAction()); - assertEquals(expectedAlgorithm, evictionAttributes.getAlgorithm()); - assertEquals(expectedMaximum, evictionAttributes.getMaximum()); - assertEquals(expectedObjectSizer, evictionAttributes.getObjectSizer()); + assertThat(evictionAttributes).as("The 'EvictionAttributes' must not be null!").isNotNull(); + assertThat(evictionAttributes.getAction()).isEqualTo(expectedAction); + assertThat(evictionAttributes.getAlgorithm()).isEqualTo(expectedAlgorithm); + assertThat(evictionAttributes.getMaximum()).isEqualTo(expectedMaximum); + assertThat(evictionAttributes.getObjectSizer()).isEqualTo(expectedObjectSizer); } private void assertDefaultExpirationAttributes(ExpirationAttributes expirationAttributes) { assumeNotNull(expirationAttributes); - assertEquals(ExpirationAction.INVALIDATE, expirationAttributes.getAction()); - assertEquals(0, expirationAttributes.getTimeout()); + assertThat(expirationAttributes.getAction()).isEqualTo(ExpirationAction.INVALIDATE); + assertThat(expirationAttributes.getTimeout()).isEqualTo(0); } private void assertExpirationAttributes(ExpirationAttributes expirationAttributes, ExpirationAction expectedAction, int expectedTimeout) { - assertNotNull("The 'ExpirationAttributes' must not be null!", expirationAttributes); - assertEquals(expectedAction, expirationAttributes.getAction()); - assertEquals(expectedTimeout, expirationAttributes.getTimeout()); + assertThat(expirationAttributes).as("The 'ExpirationAttributes' must not be null!").isNotNull(); + assertThat(expirationAttributes.getAction()).isEqualTo(expectedAction); + assertThat(expirationAttributes.getTimeout()).isEqualTo(expectedTimeout); } private void assertGatewaySenders(Region region, String... gatewaySenderIds) { - assertNotNull(region); - assertNotNull(region.getAttributes()); - assertNotNull(region.getAttributes().getGatewaySenderIds()); - assertEquals(gatewaySenderIds.length, region.getAttributes().getGatewaySenderIds().size()); - assertTrue(Arrays.asList(gatewaySenderIds).containsAll(region.getAttributes().getGatewaySenderIds())); + assertThat(region).isNotNull(); + assertThat(region.getAttributes()).isNotNull(); + assertThat(region.getAttributes().getGatewaySenderIds()).isNotNull(); + assertThat(region.getAttributes().getGatewaySenderIds().size()).isEqualTo(gatewaySenderIds.length); + assertThat(Arrays.asList(gatewaySenderIds).containsAll(region.getAttributes().getGatewaySenderIds())).isTrue(); } private void assertDefaultMembershipAttributes(MembershipAttributes membershipAttributes) { @@ -199,51 +196,58 @@ public class TemplateRegionsNamespaceIntegrationTests extends IntegrationTestsSu private void assertMembershipAttributes(MembershipAttributes membershipAttributes, LossAction expectedLossAction, ResumptionAction expectedResumptionAction, String... expectedRequiredRoles) { - assertNotNull("The 'MembershipAttributes' must not be null!", membershipAttributes); - assertEquals(expectedLossAction, membershipAttributes.getLossAction()); - assertEquals(expectedResumptionAction, membershipAttributes.getResumptionAction()); + assertThat(membershipAttributes).as("The 'MembershipAttributes' must not be null!").isNotNull(); + assertThat(membershipAttributes.getLossAction()).isEqualTo(expectedLossAction); + assertThat(membershipAttributes.getResumptionAction()).isEqualTo(expectedResumptionAction); if (!ObjectUtils.isEmpty(expectedRequiredRoles)) { for (Role membershipRole : membershipAttributes.getRequiredRoles()) { - assertTrue(String.format("Role '%1$s' was not found!", membershipRole), - Arrays.asList(expectedRequiredRoles).contains(membershipRole.getName())); + assertThat(Arrays.asList(expectedRequiredRoles).contains(membershipRole.getName())) + .as(String.format("Role '%1$s' was not found!", membershipRole)).isTrue(); } } } private void assertPartitionListener(Region region, String... expectedNames) { - assertNotNull(region); - assertNotNull(region.getAttributes()); - assertNotNull(region.getAttributes().getPartitionAttributes()); - assertNotNull(region.getAttributes().getPartitionAttributes().getPartitionListeners()); - assertEquals(expectedNames.length, region.getAttributes().getPartitionAttributes().getPartitionListeners().length); + assertThat(region).isNotNull(); + assertThat(region.getAttributes()).isNotNull(); + assertThat(region.getAttributes().getPartitionAttributes()).isNotNull(); + assertThat(region.getAttributes().getPartitionAttributes().getPartitionListeners()).isNotNull(); + assertThat(region.getAttributes().getPartitionAttributes().getPartitionListeners().length) + .isEqualTo(expectedNames.length); for (PartitionListener partitionListener : region.getAttributes().getPartitionAttributes().getPartitionListeners()) { - assertTrue(partitionListener instanceof TestPartitionListener); - assertTrue(Arrays.asList(expectedNames).contains(partitionListener.toString())); + assertThat(partitionListener instanceof TestPartitionListener).isTrue(); + assertThat(Arrays.asList(expectedNames).contains(partitionListener.toString())).isTrue(); } } private void assertPartitionResolver(Region region, String expectedName) { - assertNotNull(region); - assertNotNull(region.getAttributes()); - assertNotNull(region.getAttributes().getPartitionAttributes()); - assertTrue(region.getAttributes().getPartitionAttributes().getPartitionResolver() instanceof TestPartitionResolver); - assertEquals(expectedName, region.getAttributes().getPartitionAttributes().getPartitionResolver().toString()); + assertThat(region).isNotNull(); + assertThat(region.getAttributes()).isNotNull(); + assertThat(region.getAttributes().getPartitionAttributes()).isNotNull(); + assertThat( + region.getAttributes().getPartitionAttributes().getPartitionResolver() instanceof TestPartitionResolver) + .isTrue(); + assertThat(region.getAttributes().getPartitionAttributes().getPartitionResolver().toString()) + .isEqualTo(expectedName); } private void assertDefaultRegionAttributes(Region region) { - assertNotNull("The Region must not be null!", region); - assertNotNull(String.format("Region (%1$s) must have 'RegionAttributes' defined!", - region.getFullPath()), region.getAttributes()); - assertNull(region.getAttributes().getCompressor()); - assertNull(region.getAttributes().getCustomEntryIdleTimeout()); - assertNull(region.getAttributes().getCustomEntryTimeToLive()); - assertNull(region.getAttributes().getDiskStoreName()); - assertFalse(region.getAttributes().getMulticastEnabled()); + assertThat(region).describedAs("The Region must not be null!").isNotNull(); + + assertThat(region.getAttributes()) + .describedAs(String.format("Region (%1$s) must have 'RegionAttributes' defined!",region.getFullPath())) + .isNotNull(); + + assertThat(region.getAttributes().getCompressor()).isNull(); + assertThat(region.getAttributes().getCustomEntryIdleTimeout()).isNull(); + assertThat(region.getAttributes().getCustomEntryTimeToLive()).isNull(); + assertThat(region.getAttributes().getDiskStoreName()).isNull(); + assertThat(region.getAttributes().getMulticastEnabled()).isFalse(); assertNullEmpty(region.getAttributes().getPoolName()); assertDefaultExpirationAttributes(region.getAttributes().getRegionTimeToLive()); assertDefaultExpirationAttributes(region.getAttributes().getRegionIdleTimeout()); @@ -258,20 +262,20 @@ public class TemplateRegionsNamespaceIntegrationTests extends IntegrationTestsSu private void assertSubscriptionAttributes(SubscriptionAttributes subscriptionAttributes, InterestPolicy expectedInterestPolicy) { - assertNotNull("The 'SubscriptionAttributes' must not be null!", subscriptionAttributes); - assertEquals(expectedInterestPolicy, subscriptionAttributes.getInterestPolicy()); + assertThat(subscriptionAttributes).as("The 'SubscriptionAttributes' must not be null!").isNotNull(); + assertThat(subscriptionAttributes.getInterestPolicy()).isEqualTo(expectedInterestPolicy); } private static void assertEmpty(Object[] array) { - assertTrue((array == null || array.length == 0)); + assertThat((array == null || array.length == 0)).isTrue(); } private static void assertEmpty(Iterable collection) { - assertTrue(collection == null || !collection.iterator().hasNext()); + assertThat(collection == null || !collection.iterator().hasNext()).isTrue(); } private static void assertNullEmpty(String value) { - assertFalse(StringUtils.hasText(value)); + assertThat(StringUtils.hasText(value)).isFalse(); } private static void assertRegionMetaData(Region region, String expectedRegionName) { @@ -280,12 +284,12 @@ public class TemplateRegionsNamespaceIntegrationTests extends IntegrationTestsSu private static void assertRegionMetaData(Region region, String expectedRegionName, String expectedRegionPath) { - assertNotNull(String.format("The '%1$s' Region was not properly configured and initialized!", - expectedRegionName), region); - assertEquals(expectedRegionName, region.getName()); - assertEquals(expectedRegionPath, region.getFullPath()); - assertNotNull(String.format("The '%1$s' Region must have RegionAttributes defined!", - expectedRegionName), region.getAttributes()); + assertThat(region).as(String.format("The '%1$s' Region was not properly configured and initialized!", + expectedRegionName)).isNotNull(); + assertThat(region.getName()).isEqualTo(expectedRegionName); + assertThat(region.getFullPath()).isEqualTo(expectedRegionPath); + assertThat(region.getAttributes()).as(String.format("The '%1$s' Region must have RegionAttributes defined!", + expectedRegionName)).isNotNull(); } @Test @@ -300,17 +304,18 @@ public class TemplateRegionsNamespaceIntegrationTests extends IntegrationTestsSu }; for (String beanName : beanNames) { - assertTrue(applicationContext.containsBean(beanName)); - assertTrue(applicationContext.containsBeanDefinition(beanName)); + assertThat(applicationContext.containsBean(beanName)).isTrue(); + assertThat(applicationContext.containsBeanDefinition(beanName)).isTrue(); try { applicationContext.getBean(beanName); - fail(String.format("The abstract bean definition '%1$s' should not exist as a bean in the Spring context!", - beanName)); + fail(String + .format("The abstract bean definition '%1$s' should not exist as a bean in the Spring context!", + beanName)); } catch (BeansException expected) { - assertTrue(expected instanceof BeanIsAbstractException); - assertTrue(expected.getMessage().contains(beanName)); + assertThat(expected instanceof BeanIsAbstractException).isTrue(); + assertThat(expected.getMessage().contains(beanName)).isTrue(); } } } @@ -324,29 +329,29 @@ public class TemplateRegionsNamespaceIntegrationTests extends IntegrationTestsSu assertEmpty(nonTemplateBasedReplicateRegion.getAttributes().getCacheListeners()); assertCacheLoader(nonTemplateBasedReplicateRegion, "ABC"); assertCacheWriter(nonTemplateBasedReplicateRegion, "DEF"); - assertFalse(nonTemplateBasedReplicateRegion.getAttributes().getCloningEnabled()); - assertTrue(nonTemplateBasedReplicateRegion.getAttributes().getConcurrencyChecksEnabled()); - assertEquals(12, nonTemplateBasedReplicateRegion.getAttributes().getConcurrencyLevel()); - assertEquals(DataPolicy.REPLICATE, nonTemplateBasedReplicateRegion.getAttributes().getDataPolicy()); - assertTrue(nonTemplateBasedReplicateRegion.getAttributes().isDiskSynchronous()); - assertFalse(nonTemplateBasedReplicateRegion.getAttributes().getEnableAsyncConflation()); - assertFalse(nonTemplateBasedReplicateRegion.getAttributes().getEnableSubscriptionConflation()); + assertThat(nonTemplateBasedReplicateRegion.getAttributes().getCloningEnabled()).isFalse(); + assertThat(nonTemplateBasedReplicateRegion.getAttributes().getConcurrencyChecksEnabled()).isTrue(); + assertThat(nonTemplateBasedReplicateRegion.getAttributes().getConcurrencyLevel()).isEqualTo(12); + assertThat(nonTemplateBasedReplicateRegion.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.REPLICATE); + assertThat(nonTemplateBasedReplicateRegion.getAttributes().isDiskSynchronous()).isTrue(); + assertThat(nonTemplateBasedReplicateRegion.getAttributes().getEnableAsyncConflation()).isFalse(); + assertThat(nonTemplateBasedReplicateRegion.getAttributes().getEnableSubscriptionConflation()).isFalse(); assertDefaultEvictionAttributes(nonTemplateBasedReplicateRegion.getAttributes().getEvictionAttributes()); assertDefaultExpirationAttributes(nonTemplateBasedReplicateRegion.getAttributes().getEntryIdleTimeout()); assertDefaultExpirationAttributes(nonTemplateBasedReplicateRegion.getAttributes().getEntryTimeToLive()); assertEmpty(nonTemplateBasedReplicateRegion.getAttributes().getGatewaySenderIds()); - assertFalse(nonTemplateBasedReplicateRegion.getAttributes().getIgnoreJTA()); - assertTrue(nonTemplateBasedReplicateRegion.getAttributes().getIndexMaintenanceSynchronous()); - assertEquals(97, nonTemplateBasedReplicateRegion.getAttributes().getInitialCapacity()); - assertNull(nonTemplateBasedReplicateRegion.getAttributes().getKeyConstraint()); - assertEquals("0.65", String.valueOf(nonTemplateBasedReplicateRegion.getAttributes().getLoadFactor())); - assertFalse(nonTemplateBasedReplicateRegion.getAttributes().isLockGrantor()); + assertThat(nonTemplateBasedReplicateRegion.getAttributes().getIgnoreJTA()).isFalse(); + assertThat(nonTemplateBasedReplicateRegion.getAttributes().getIndexMaintenanceSynchronous()).isTrue(); + assertThat(nonTemplateBasedReplicateRegion.getAttributes().getInitialCapacity()).isEqualTo(97); + assertThat(nonTemplateBasedReplicateRegion.getAttributes().getKeyConstraint()).isNull(); + assertThat(String.valueOf(nonTemplateBasedReplicateRegion.getAttributes().getLoadFactor())).isEqualTo("0.65"); + assertThat(nonTemplateBasedReplicateRegion.getAttributes().isLockGrantor()).isFalse(); assertDefaultMembershipAttributes(nonTemplateBasedReplicateRegion.getAttributes().getMembershipAttributes()); - assertNull(nonTemplateBasedReplicateRegion.getAttributes().getPartitionAttributes()); - assertEquals(Scope.DISTRIBUTED_NO_ACK, nonTemplateBasedReplicateRegion.getAttributes().getScope()); - assertFalse(nonTemplateBasedReplicateRegion.getAttributes().getStatisticsEnabled()); + assertThat(nonTemplateBasedReplicateRegion.getAttributes().getPartitionAttributes()).isNull(); + assertThat(nonTemplateBasedReplicateRegion.getAttributes().getScope()).isEqualTo(Scope.DISTRIBUTED_NO_ACK); + assertThat(nonTemplateBasedReplicateRegion.getAttributes().getStatisticsEnabled()).isFalse(); assertDefaultSubscriptionAttributes(nonTemplateBasedReplicateRegion.getAttributes().getSubscriptionAttributes()); - assertNull(nonTemplateBasedReplicateRegion.getAttributes().getValueConstraint()); + assertThat(nonTemplateBasedReplicateRegion.getAttributes().getValueConstraint()).isNull(); } @Test @@ -358,13 +363,13 @@ public class TemplateRegionsNamespaceIntegrationTests extends IntegrationTestsSu assertCacheListeners(templateBasedReplicateRegion, "XYZ"); assertCacheLoader(templateBasedReplicateRegion, "dbLoader"); assertCacheWriter(templateBasedReplicateRegion, "dbWriter"); - assertTrue(templateBasedReplicateRegion.getAttributes().getCloningEnabled()); - assertTrue(templateBasedReplicateRegion.getAttributes().getConcurrencyChecksEnabled()); - assertEquals(24, templateBasedReplicateRegion.getAttributes().getConcurrencyLevel()); - assertEquals(DataPolicy.REPLICATE, templateBasedReplicateRegion.getAttributes().getDataPolicy()); - assertFalse(templateBasedReplicateRegion.getAttributes().isDiskSynchronous()); - assertFalse(templateBasedReplicateRegion.getAttributes().getEnableAsyncConflation()); - assertTrue(templateBasedReplicateRegion.getAttributes().getEnableSubscriptionConflation()); + assertThat(templateBasedReplicateRegion.getAttributes().getCloningEnabled()).isTrue(); + assertThat(templateBasedReplicateRegion.getAttributes().getConcurrencyChecksEnabled()).isTrue(); + assertThat(templateBasedReplicateRegion.getAttributes().getConcurrencyLevel()).isEqualTo(24); + assertThat(templateBasedReplicateRegion.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.REPLICATE); + assertThat(templateBasedReplicateRegion.getAttributes().isDiskSynchronous()).isFalse(); + assertThat(templateBasedReplicateRegion.getAttributes().getEnableAsyncConflation()).isFalse(); + assertThat(templateBasedReplicateRegion.getAttributes().getEnableSubscriptionConflation()).isTrue(); assertEvictionAttributes(templateBasedReplicateRegion.getAttributes().getEvictionAttributes(), EvictionAction.OVERFLOW_TO_DISK, EvictionAlgorithm.LRU_ENTRY, 2024, null); assertExpirationAttributes(templateBasedReplicateRegion.getAttributes().getEntryIdleTimeout(), @@ -372,19 +377,19 @@ public class TemplateRegionsNamespaceIntegrationTests extends IntegrationTestsSu assertExpirationAttributes(templateBasedReplicateRegion.getAttributes().getEntryTimeToLive(), ExpirationAction.INVALIDATE, 300); assertEmpty(templateBasedReplicateRegion.getAttributes().getGatewaySenderIds()); - assertTrue(templateBasedReplicateRegion.getAttributes().getIgnoreJTA()); - assertTrue(templateBasedReplicateRegion.getAttributes().getIndexMaintenanceSynchronous()); - assertEquals(51, templateBasedReplicateRegion.getAttributes().getInitialCapacity()); - assertEquals(String.class, templateBasedReplicateRegion.getAttributes().getKeyConstraint()); - assertEquals("0.85", String.valueOf(templateBasedReplicateRegion.getAttributes().getLoadFactor())); - assertTrue(templateBasedReplicateRegion.getAttributes().isLockGrantor()); + assertThat(templateBasedReplicateRegion.getAttributes().getIgnoreJTA()).isTrue(); + assertThat(templateBasedReplicateRegion.getAttributes().getIndexMaintenanceSynchronous()).isTrue(); + assertThat(templateBasedReplicateRegion.getAttributes().getInitialCapacity()).isEqualTo(51); + assertThat(templateBasedReplicateRegion.getAttributes().getKeyConstraint()).isEqualTo(String.class); + assertThat(String.valueOf(templateBasedReplicateRegion.getAttributes().getLoadFactor())).isEqualTo("0.85"); + assertThat(templateBasedReplicateRegion.getAttributes().isLockGrantor()).isTrue(); assertDefaultMembershipAttributes(templateBasedReplicateRegion.getAttributes().getMembershipAttributes()); - assertNull(templateBasedReplicateRegion.getAttributes().getPartitionAttributes()); - assertEquals(Scope.GLOBAL, templateBasedReplicateRegion.getAttributes().getScope()); - assertTrue(templateBasedReplicateRegion.getAttributes().getStatisticsEnabled()); + assertThat(templateBasedReplicateRegion.getAttributes().getPartitionAttributes()).isNull(); + assertThat(templateBasedReplicateRegion.getAttributes().getScope()).isEqualTo(Scope.GLOBAL); + assertThat(templateBasedReplicateRegion.getAttributes().getStatisticsEnabled()).isTrue(); assertSubscriptionAttributes(templateBasedReplicateRegion.getAttributes().getSubscriptionAttributes(), InterestPolicy.CACHE_CONTENT); - assertEquals(Object.class, templateBasedReplicateRegion.getAttributes().getValueConstraint()); + assertThat(templateBasedReplicateRegion.getAttributes().getValueConstraint()).isEqualTo(Object.class); } @Test @@ -397,32 +402,32 @@ public class TemplateRegionsNamespaceIntegrationTests extends IntegrationTestsSu assertCacheListeners(templateBasedReplicateSubRegion, "testListener"); assertCacheLoader(templateBasedReplicateSubRegion, "A"); assertCacheWriter(templateBasedReplicateSubRegion, "B"); - assertFalse(templateBasedReplicateSubRegion.getAttributes().getCloningEnabled()); - assertTrue(templateBasedReplicateSubRegion.getAttributes().getConcurrencyChecksEnabled()); - assertEquals(16, templateBasedReplicateSubRegion.getAttributes().getConcurrencyLevel()); - assertEquals(DataPolicy.REPLICATE, templateBasedReplicateSubRegion.getAttributes().getDataPolicy()); - assertFalse(templateBasedReplicateSubRegion.getAttributes().isDiskSynchronous()); - assertTrue(templateBasedReplicateSubRegion.getAttributes().getEnableAsyncConflation()); - assertFalse(templateBasedReplicateSubRegion.getAttributes().getEnableSubscriptionConflation()); + assertThat(templateBasedReplicateSubRegion.getAttributes().getCloningEnabled()).isFalse(); + assertThat(templateBasedReplicateSubRegion.getAttributes().getConcurrencyChecksEnabled()).isTrue(); + assertThat(templateBasedReplicateSubRegion.getAttributes().getConcurrencyLevel()).isEqualTo(16); + assertThat(templateBasedReplicateSubRegion.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.REPLICATE); + assertThat(templateBasedReplicateSubRegion.getAttributes().isDiskSynchronous()).isFalse(); + assertThat(templateBasedReplicateSubRegion.getAttributes().getEnableAsyncConflation()).isTrue(); + assertThat(templateBasedReplicateSubRegion.getAttributes().getEnableSubscriptionConflation()).isFalse(); assertDefaultEvictionAttributes(templateBasedReplicateSubRegion.getAttributes().getEvictionAttributes()); assertExpirationAttributes(templateBasedReplicateSubRegion.getAttributes().getEntryIdleTimeout(), ExpirationAction.DESTROY, 600); assertExpirationAttributes(templateBasedReplicateSubRegion.getAttributes().getEntryTimeToLive(), ExpirationAction.DESTROY, 600); assertEmpty(templateBasedReplicateSubRegion.getAttributes().getGatewaySenderIds()); - assertTrue(templateBasedReplicateSubRegion.getAttributes().getIgnoreJTA()); - assertFalse(templateBasedReplicateSubRegion.getAttributes().getIndexMaintenanceSynchronous()); - assertEquals(51, templateBasedReplicateSubRegion.getAttributes().getInitialCapacity()); - assertEquals(Integer.class, templateBasedReplicateSubRegion.getAttributes().getKeyConstraint()); - assertEquals("0.95", String.valueOf(templateBasedReplicateSubRegion.getAttributes().getLoadFactor())); - assertFalse(templateBasedReplicateSubRegion.getAttributes().isLockGrantor()); + assertThat(templateBasedReplicateSubRegion.getAttributes().getIgnoreJTA()).isTrue(); + assertThat(templateBasedReplicateSubRegion.getAttributes().getIndexMaintenanceSynchronous()).isFalse(); + assertThat(templateBasedReplicateSubRegion.getAttributes().getInitialCapacity()).isEqualTo(51); + assertThat(templateBasedReplicateSubRegion.getAttributes().getKeyConstraint()).isEqualTo(Integer.class); + assertThat(String.valueOf(templateBasedReplicateSubRegion.getAttributes().getLoadFactor())).isEqualTo("0.95"); + assertThat(templateBasedReplicateSubRegion.getAttributes().isLockGrantor()).isFalse(); assertMembershipAttributes(templateBasedReplicateSubRegion.getAttributes().getMembershipAttributes(), LossAction.LIMITED_ACCESS, ResumptionAction.NONE, "readWriteNode"); - assertNull(templateBasedReplicateSubRegion.getAttributes().getPartitionAttributes()); - assertEquals(Scope.DISTRIBUTED_NO_ACK, templateBasedReplicateSubRegion.getAttributes().getScope()); - assertTrue(templateBasedReplicateSubRegion.getAttributes().getStatisticsEnabled()); + assertThat(templateBasedReplicateSubRegion.getAttributes().getPartitionAttributes()).isNull(); + assertThat(templateBasedReplicateSubRegion.getAttributes().getScope()).isEqualTo(Scope.DISTRIBUTED_NO_ACK); + assertThat(templateBasedReplicateSubRegion.getAttributes().getStatisticsEnabled()).isTrue(); assertDefaultSubscriptionAttributes(templateBasedReplicateSubRegion.getAttributes().getSubscriptionAttributes()); - assertEquals(String.class, templateBasedReplicateSubRegion.getAttributes().getValueConstraint()); + assertThat(templateBasedReplicateSubRegion.getAttributes().getValueConstraint()).isEqualTo(String.class); } @Test @@ -432,15 +437,16 @@ public class TemplateRegionsNamespaceIntegrationTests extends IntegrationTestsSu assertDefaultRegionAttributes(templateBasedReplicateRegionNoOverrides); assertEmpty(templateBasedReplicateRegionNoOverrides.getAttributes().getAsyncEventQueueIds()); assertCacheListeners(templateBasedReplicateRegionNoOverrides, "XYZ"); - assertNull(templateBasedReplicateRegionNoOverrides.getAttributes().getCacheLoader()); - assertNull(templateBasedReplicateRegionNoOverrides.getAttributes().getCacheWriter()); - assertTrue(templateBasedReplicateRegionNoOverrides.getAttributes().getCloningEnabled()); - assertTrue(templateBasedReplicateRegionNoOverrides.getAttributes().getConcurrencyChecksEnabled()); - assertEquals(24, templateBasedReplicateRegionNoOverrides.getAttributes().getConcurrencyLevel()); - assertEquals(DataPolicy.PERSISTENT_REPLICATE, templateBasedReplicateRegionNoOverrides.getAttributes().getDataPolicy()); - assertFalse(templateBasedReplicateRegionNoOverrides.getAttributes().isDiskSynchronous()); - assertFalse(templateBasedReplicateRegionNoOverrides.getAttributes().getEnableAsyncConflation()); - assertTrue(templateBasedReplicateRegionNoOverrides.getAttributes().getEnableSubscriptionConflation()); + assertThat(templateBasedReplicateRegionNoOverrides.getAttributes().getCacheLoader()).isNull(); + assertThat(templateBasedReplicateRegionNoOverrides.getAttributes().getCacheWriter()).isNull(); + assertThat(templateBasedReplicateRegionNoOverrides.getAttributes().getCloningEnabled()).isTrue(); + assertThat(templateBasedReplicateRegionNoOverrides.getAttributes().getConcurrencyChecksEnabled()).isTrue(); + assertThat(templateBasedReplicateRegionNoOverrides.getAttributes().getConcurrencyLevel()).isEqualTo(24); + assertThat(templateBasedReplicateRegionNoOverrides.getAttributes().getDataPolicy()) + .isEqualTo(DataPolicy.PERSISTENT_REPLICATE); + assertThat(templateBasedReplicateRegionNoOverrides.getAttributes().isDiskSynchronous()).isFalse(); + assertThat(templateBasedReplicateRegionNoOverrides.getAttributes().getEnableAsyncConflation()).isFalse(); + assertThat(templateBasedReplicateRegionNoOverrides.getAttributes().getEnableSubscriptionConflation()).isTrue(); assertEvictionAttributes(templateBasedReplicateRegionNoOverrides.getAttributes().getEvictionAttributes(), EvictionAction.OVERFLOW_TO_DISK, EvictionAlgorithm.LRU_ENTRY, 2024, null); assertExpirationAttributes(templateBasedReplicateRegionNoOverrides.getAttributes().getEntryIdleTimeout(), @@ -448,21 +454,23 @@ public class TemplateRegionsNamespaceIntegrationTests extends IntegrationTestsSu assertExpirationAttributes(templateBasedReplicateRegionNoOverrides.getAttributes().getEntryTimeToLive(), ExpirationAction.INVALIDATE, 300); assertEmpty(templateBasedReplicateRegionNoOverrides.getAttributes().getGatewaySenderIds()); - assertTrue(templateBasedReplicateRegionNoOverrides.getAttributes().getIgnoreJTA()); - assertTrue(templateBasedReplicateRegionNoOverrides.getAttributes().getIndexMaintenanceSynchronous()); - assertEquals(51, templateBasedReplicateRegionNoOverrides.getAttributes().getInitialCapacity()); - assertEquals(String.class, templateBasedReplicateRegionNoOverrides.getAttributes().getKeyConstraint()); - assertEquals(0.85f, templateBasedReplicateRegionNoOverrides.getAttributes().getLoadFactor(), 0.0f); - assertFalse(templateBasedReplicateRegionNoOverrides.getAttributes().isLockGrantor()); + assertThat(templateBasedReplicateRegionNoOverrides.getAttributes().getIgnoreJTA()).isTrue(); + assertThat(templateBasedReplicateRegionNoOverrides.getAttributes().getIndexMaintenanceSynchronous()).isTrue(); + assertThat(templateBasedReplicateRegionNoOverrides.getAttributes().getInitialCapacity()).isEqualTo(51); + assertThat(templateBasedReplicateRegionNoOverrides.getAttributes().getKeyConstraint()).isEqualTo(String.class); + assertThat(templateBasedReplicateRegionNoOverrides.getAttributes().getLoadFactor()) + .isCloseTo(0.85f, offset(0.0f)); + assertThat(templateBasedReplicateRegionNoOverrides.getAttributes().isLockGrantor()).isFalse(); assertDefaultMembershipAttributes( templateBasedReplicateRegionNoOverrides.getAttributes().getMembershipAttributes()); - assertNull(templateBasedReplicateRegionNoOverrides.getAttributes().getPartitionAttributes()); - assertEquals(Scope.DISTRIBUTED_ACK, templateBasedReplicateRegionNoOverrides.getAttributes().getScope()); - assertTrue(templateBasedReplicateRegionNoOverrides.getAttributes().getStatisticsEnabled()); + assertThat(templateBasedReplicateRegionNoOverrides.getAttributes().getPartitionAttributes()).isNull(); + assertThat(templateBasedReplicateRegionNoOverrides.getAttributes().getScope()).isEqualTo(Scope.DISTRIBUTED_ACK); + assertThat(templateBasedReplicateRegionNoOverrides.getAttributes().getStatisticsEnabled()).isTrue(); assertSubscriptionAttributes( templateBasedReplicateRegionNoOverrides.getAttributes().getSubscriptionAttributes(), InterestPolicy.CACHE_CONTENT); - assertEquals(Object.class, templateBasedReplicateRegionNoOverrides.getAttributes().getValueConstraint()); + assertThat(templateBasedReplicateRegionNoOverrides.getAttributes().getValueConstraint()) + .isEqualTo(Object.class); } @Test @@ -474,12 +482,13 @@ public class TemplateRegionsNamespaceIntegrationTests extends IntegrationTestsSu assertCacheListeners(templateBasedPartitionRegion, "X", "Y", "Z"); assertCacheLoader(templateBasedPartitionRegion, "A"); assertCacheWriter(templateBasedPartitionRegion, "dbWriter"); - assertFalse(templateBasedPartitionRegion.getAttributes().getCloningEnabled()); - assertTrue(templateBasedPartitionRegion.getAttributes().getConcurrencyChecksEnabled()); - assertEquals(DataPolicy.PERSISTENT_PARTITION, templateBasedPartitionRegion.getAttributes().getDataPolicy()); - assertTrue(templateBasedPartitionRegion.getAttributes().isDiskSynchronous()); - assertTrue(templateBasedPartitionRegion.getAttributes().getEnableAsyncConflation()); - assertTrue(templateBasedPartitionRegion.getAttributes().getEnableSubscriptionConflation()); + assertThat(templateBasedPartitionRegion.getAttributes().getCloningEnabled()).isFalse(); + assertThat(templateBasedPartitionRegion.getAttributes().getConcurrencyChecksEnabled()).isTrue(); + assertThat(templateBasedPartitionRegion.getAttributes().getDataPolicy()) + .isEqualTo(DataPolicy.PERSISTENT_PARTITION); + assertThat(templateBasedPartitionRegion.getAttributes().isDiskSynchronous()).isTrue(); + assertThat(templateBasedPartitionRegion.getAttributes().getEnableAsyncConflation()).isTrue(); + assertThat(templateBasedPartitionRegion.getAttributes().getEnableSubscriptionConflation()).isTrue(); assertEvictionAttributes(templateBasedPartitionRegion.getAttributes().getEvictionAttributes(), EvictionAction.OVERFLOW_TO_DISK, EvictionAlgorithm.LRU_ENTRY, 8192000, null); assertExpirationAttributes(templateBasedPartitionRegion.getAttributes().getEntryIdleTimeout(), @@ -487,30 +496,36 @@ public class TemplateRegionsNamespaceIntegrationTests extends IntegrationTestsSu assertExpirationAttributes(templateBasedPartitionRegion.getAttributes().getEntryTimeToLive(), ExpirationAction.INVALIDATE, 300); assertGatewaySenders(templateBasedPartitionRegion, "TestGatewaySender"); - assertFalse(templateBasedPartitionRegion.getAttributes().getIgnoreJTA()); - assertFalse(templateBasedPartitionRegion.getAttributes().getIndexMaintenanceSynchronous()); - assertEquals(51, templateBasedPartitionRegion.getAttributes().getInitialCapacity()); - assertEquals(Date.class, templateBasedPartitionRegion.getAttributes().getKeyConstraint()); - assertEquals("0.7", String.valueOf(templateBasedPartitionRegion.getAttributes().getLoadFactor())); - assertFalse(templateBasedPartitionRegion.getAttributes().isLockGrantor()); + assertThat(templateBasedPartitionRegion.getAttributes().getIgnoreJTA()).isFalse(); + assertThat(templateBasedPartitionRegion.getAttributes().getIndexMaintenanceSynchronous()).isFalse(); + assertThat(templateBasedPartitionRegion.getAttributes().getInitialCapacity()).isEqualTo(51); + assertThat(templateBasedPartitionRegion.getAttributes().getKeyConstraint()).isEqualTo(Date.class); + assertThat(String.valueOf(templateBasedPartitionRegion.getAttributes().getLoadFactor())).isEqualTo("0.7"); + assertThat(templateBasedPartitionRegion.getAttributes().isLockGrantor()).isFalse(); assertMembershipAttributes(templateBasedPartitionRegion.getAttributes().getMembershipAttributes(), LossAction.NO_ACCESS, ResumptionAction.REINITIALIZE, "admin", "root", "supertool"); - assertNotNull(templateBasedPartitionRegion.getAttributes().getPartitionAttributes()); - assertEquals("Neighbor", - templateBasedPartitionRegion.getAttributes().getPartitionAttributes().getColocatedWith()); - assertEquals(8192, templateBasedPartitionRegion.getAttributes().getPartitionAttributes().getLocalMaxMemory()); - assertEquals(2, templateBasedPartitionRegion.getAttributes().getPartitionAttributes().getRedundantCopies()); - assertEquals(60000L, templateBasedPartitionRegion.getAttributes().getPartitionAttributes().getRecoveryDelay()); - assertEquals(15000L, templateBasedPartitionRegion.getAttributes().getPartitionAttributes().getStartupRecoveryDelay()); - assertEquals(16384, templateBasedPartitionRegion.getAttributes().getPartitionAttributes().getTotalMaxMemory()); - assertEquals(91, templateBasedPartitionRegion.getAttributes().getPartitionAttributes().getTotalNumBuckets()); + assertThat(templateBasedPartitionRegion.getAttributes().getPartitionAttributes()).isNotNull(); + assertThat(templateBasedPartitionRegion.getAttributes().getPartitionAttributes().getColocatedWith()) + .isEqualTo("Neighbor"); + assertThat(templateBasedPartitionRegion.getAttributes().getPartitionAttributes().getLocalMaxMemory()) + .isEqualTo(8192); + assertThat(templateBasedPartitionRegion.getAttributes().getPartitionAttributes().getRedundantCopies()) + .isEqualTo(2); + assertThat(templateBasedPartitionRegion.getAttributes().getPartitionAttributes().getRecoveryDelay()) + .isEqualTo(60000L); + assertThat(templateBasedPartitionRegion.getAttributes().getPartitionAttributes().getStartupRecoveryDelay()) + .isEqualTo(15000L); + assertThat(templateBasedPartitionRegion.getAttributes().getPartitionAttributes().getTotalMaxMemory()) + .isEqualTo(16384); + assertThat(templateBasedPartitionRegion.getAttributes().getPartitionAttributes().getTotalNumBuckets()) + .isEqualTo(91); assertPartitionListener(templateBasedPartitionRegion, "testListener"); assertPartitionResolver(templateBasedPartitionRegion, "testResolver"); - assertEquals(Scope.DISTRIBUTED_NO_ACK, templateBasedPartitionRegion.getAttributes().getScope()); - assertTrue(templateBasedPartitionRegion.getAttributes().getStatisticsEnabled()); + assertThat(templateBasedPartitionRegion.getAttributes().getScope()).isEqualTo(Scope.DISTRIBUTED_NO_ACK); + assertThat(templateBasedPartitionRegion.getAttributes().getStatisticsEnabled()).isTrue(); assertSubscriptionAttributes(templateBasedPartitionRegion.getAttributes().getSubscriptionAttributes(), InterestPolicy.ALL); - assertEquals(Object.class, templateBasedPartitionRegion.getAttributes().getValueConstraint()); + assertThat(templateBasedPartitionRegion.getAttributes().getValueConstraint()).isEqualTo(Object.class); } @Test @@ -520,15 +535,15 @@ public class TemplateRegionsNamespaceIntegrationTests extends IntegrationTestsSu assertDefaultRegionAttributes(templateBasedLocalRegion); assertEmpty(templateBasedLocalRegion.getAttributes().getAsyncEventQueueIds()); assertCacheListeners(templateBasedLocalRegion, "X", "Y", "Z"); - assertNull(templateBasedLocalRegion.getAttributes().getCacheLoader()); - assertNull(templateBasedLocalRegion.getAttributes().getCacheWriter()); - assertTrue(templateBasedLocalRegion.getAttributes().getCloningEnabled()); - assertFalse(templateBasedLocalRegion.getAttributes().getConcurrencyChecksEnabled()); - assertEquals(8, templateBasedLocalRegion.getAttributes().getConcurrencyLevel()); - assertEquals(DataPolicy.NORMAL, templateBasedLocalRegion.getAttributes().getDataPolicy()); - assertFalse(templateBasedLocalRegion.getAttributes().isDiskSynchronous()); - assertFalse(templateBasedLocalRegion.getAttributes().getEnableAsyncConflation()); - assertFalse(templateBasedLocalRegion.getAttributes().getEnableSubscriptionConflation()); + assertThat(templateBasedLocalRegion.getAttributes().getCacheLoader()).isNull(); + assertThat(templateBasedLocalRegion.getAttributes().getCacheWriter()).isNull(); + assertThat(templateBasedLocalRegion.getAttributes().getCloningEnabled()).isTrue(); + assertThat(templateBasedLocalRegion.getAttributes().getConcurrencyChecksEnabled()).isFalse(); + assertThat(templateBasedLocalRegion.getAttributes().getConcurrencyLevel()).isEqualTo(8); + assertThat(templateBasedLocalRegion.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.NORMAL); + assertThat(templateBasedLocalRegion.getAttributes().isDiskSynchronous()).isFalse(); + assertThat(templateBasedLocalRegion.getAttributes().getEnableAsyncConflation()).isFalse(); + assertThat(templateBasedLocalRegion.getAttributes().getEnableSubscriptionConflation()).isFalse(); assertEvictionAttributes(templateBasedLocalRegion.getAttributes().getEvictionAttributes(), EvictionAction.LOCAL_DESTROY, EvictionAlgorithm.LRU_ENTRY, 4096, null); assertExpirationAttributes(templateBasedLocalRegion.getAttributes().getEntryIdleTimeout(), @@ -536,18 +551,18 @@ public class TemplateRegionsNamespaceIntegrationTests extends IntegrationTestsSu assertExpirationAttributes(templateBasedLocalRegion.getAttributes().getEntryTimeToLive(), ExpirationAction.INVALIDATE, 300); assertEmpty(templateBasedLocalRegion.getAttributes().getGatewaySenderIds()); - assertTrue(templateBasedLocalRegion.getAttributes().getIgnoreJTA()); - assertTrue(templateBasedLocalRegion.getAttributes().getIndexMaintenanceSynchronous()); - assertEquals(51, templateBasedLocalRegion.getAttributes().getInitialCapacity()); - assertEquals(Long.class, templateBasedLocalRegion.getAttributes().getKeyConstraint()); - assertEquals("0.85", String.valueOf(templateBasedLocalRegion.getAttributes().getLoadFactor())); - assertFalse(templateBasedLocalRegion.getAttributes().isLockGrantor()); + assertThat(templateBasedLocalRegion.getAttributes().getIgnoreJTA()).isTrue(); + assertThat(templateBasedLocalRegion.getAttributes().getIndexMaintenanceSynchronous()).isTrue(); + assertThat(templateBasedLocalRegion.getAttributes().getInitialCapacity()).isEqualTo(51); + assertThat(templateBasedLocalRegion.getAttributes().getKeyConstraint()).isEqualTo(Long.class); + assertThat(String.valueOf(templateBasedLocalRegion.getAttributes().getLoadFactor())).isEqualTo("0.85"); + assertThat(templateBasedLocalRegion.getAttributes().isLockGrantor()).isFalse(); assertDefaultMembershipAttributes(templateBasedLocalRegion.getAttributes().getMembershipAttributes()); - assertNull(templateBasedLocalRegion.getAttributes().getPartitionAttributes()); - assertEquals(Scope.LOCAL, templateBasedLocalRegion.getAttributes().getScope()); - assertTrue(templateBasedLocalRegion.getAttributes().getStatisticsEnabled()); + assertThat(templateBasedLocalRegion.getAttributes().getPartitionAttributes()).isNull(); + assertThat(templateBasedLocalRegion.getAttributes().getScope()).isEqualTo(Scope.LOCAL); + assertThat(templateBasedLocalRegion.getAttributes().getStatisticsEnabled()).isTrue(); assertDefaultSubscriptionAttributes(templateBasedLocalRegion.getAttributes().getSubscriptionAttributes()); - assertEquals(String.class, templateBasedLocalRegion.getAttributes().getValueConstraint()); + assertThat(templateBasedLocalRegion.getAttributes().getValueConstraint()).isEqualTo(String.class); } public static final class TestAsyncEventListener implements AsyncEventListener { diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/TxEventHandlersIntegrationTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/TxEventHandlersIntegrationTests.java index 14a088f6..33695678 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/TxEventHandlersIntegrationTests.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/xml/TxEventHandlersIntegrationTests.java @@ -15,8 +15,7 @@ */ package org.springframework.data.gemfire.config.xml; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertSame; +import static org.assertj.core.api.Assertions.assertThat; import org.junit.Test; import org.junit.runner.RunWith; @@ -74,10 +73,10 @@ public class TxEventHandlersIntegrationTests extends IntegrationTestsSupport { TransactionListener[] listeners = cache.getCacheTransactionManager().getListeners(); - assertEquals(2, listeners.length); - assertSame(txListener1, listeners[0]); - assertSame(txListener2, listeners[1]); - assertSame(txWriter, cache.getCacheTransactionManager().getWriter()); + assertThat(listeners.length).isEqualTo(2); + assertThat(listeners[0]).isSameAs(txListener1); + assertThat(listeners[1]).isSameAs(txListener2); + assertThat(cache.getCacheTransactionManager().getWriter()).isSameAs(txWriter); } public static class TestTransactionListener implements TransactionListener, BeanNameAware { diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/eviction/EvictionActionTypeTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/eviction/EvictionActionTypeTest.java deleted file mode 100644 index fcca7c01..00000000 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/eviction/EvictionActionTypeTest.java +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Copyright 2016-2021 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -package org.springframework.data.gemfire.eviction; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertSame; - -import org.apache.geode.cache.EvictionAction; - -import org.junit.Test; - -/** - * The EvictionActionTypeTest class is a test suite of test cases testing the contract and functionality - * of the EvictionActionType enum. - * - * @author John Blum - * @see org.junit.Test - * @see EvictionActionType - * @see org.apache.geode.cache.EvictionAction - * @since 1.6.0 - */ -public class EvictionActionTypeTest { - - @Test - public void testStaticGetEvictionAction() { - assertEquals(EvictionAction.LOCAL_DESTROY, EvictionActionType.getEvictionAction( - EvictionActionType.LOCAL_DESTROY)); - assertEquals(EvictionAction.OVERFLOW_TO_DISK, EvictionActionType.getEvictionAction( - EvictionActionType.OVERFLOW_TO_DISK)); - } - - @Test - public void testStaticGetEvictionActionWithNull() { - assertNull(EvictionActionType.getEvictionAction(null)); - } - - @Test - public void testGetEvictionAction() { - assertEquals(EvictionAction.LOCAL_DESTROY, EvictionActionType.LOCAL_DESTROY.getEvictionAction()); - assertEquals(EvictionAction.NONE, EvictionActionType.NONE.getEvictionAction()); - assertEquals(EvictionAction.OVERFLOW_TO_DISK, EvictionActionType.OVERFLOW_TO_DISK.getEvictionAction()); - assertEquals(EvictionAction.DEFAULT_EVICTION_ACTION, EvictionActionType.DEFAULT.getEvictionAction()); - } - - @Test - public void testDefault() { - assertEquals(EvictionAction.DEFAULT_EVICTION_ACTION, EvictionActionType.DEFAULT.getEvictionAction()); - assertSame(EvictionActionType.LOCAL_DESTROY, EvictionActionType.DEFAULT); - } - - @Test - public void testValueOf() { - assertEquals(EvictionActionType.LOCAL_DESTROY, EvictionActionType.valueOf(EvictionAction.LOCAL_DESTROY)); - assertEquals(EvictionActionType.NONE, EvictionActionType.valueOf(EvictionAction.NONE)); - assertEquals(EvictionActionType.OVERFLOW_TO_DISK, EvictionActionType.valueOf(EvictionAction.OVERFLOW_TO_DISK)); - } - - @Test - public void testValueOfWithNull() { - assertNull(EvictionActionType.valueOf((EvictionAction) null)); - } - - @Test - public void testValueOfIgnoreCase() { - assertEquals(EvictionActionType.LOCAL_DESTROY, EvictionActionType.valueOfIgnoreCase("Local_Destroy")); - assertEquals(EvictionActionType.NONE, EvictionActionType.valueOfIgnoreCase("none")); - assertEquals(EvictionActionType.NONE, EvictionActionType.valueOfIgnoreCase("NONE")); - assertEquals(EvictionActionType.OVERFLOW_TO_DISK, EvictionActionType.valueOfIgnoreCase("OverFlow_TO_DiSk")); - } - - @Test - public void testValueOfIgnoreCaseWithInvalidValues() { - assertNull(EvictionActionType.valueOfIgnoreCase("REMOTE_DESTROY")); - assertNull(EvictionActionType.valueOfIgnoreCase("All")); - assertNull(EvictionActionType.valueOfIgnoreCase(" none ")); - assertNull(EvictionActionType.valueOfIgnoreCase("underflow_from_disk")); - assertNull(EvictionActionType.valueOfIgnoreCase(" ")); - assertNull(EvictionActionType.valueOfIgnoreCase("")); - assertNull(EvictionActionType.valueOfIgnoreCase(null)); - } - -} diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/eviction/EvictionActionTypeUnitTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/eviction/EvictionActionTypeUnitTests.java new file mode 100644 index 00000000..bab2945c --- /dev/null +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/eviction/EvictionActionTypeUnitTests.java @@ -0,0 +1,100 @@ +/* + * Copyright 2016-2021 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.springframework.data.gemfire.eviction; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.Test; + +import org.apache.geode.cache.EvictionAction; + +/** + * Unit Tests for {@link EvictionActionType} enum. + * + * @author John Blum + * @see org.junit.Test + * @see org.apache.geode.cache.EvictionAction + * @see org.springframework.data.gemfire.eviction.EvictionActionType + * @since 1.6.0 + */ +public class EvictionActionTypeUnitTests { + + @Test + public void testStaticGetEvictionAction() { + + assertThat(EvictionActionType.getEvictionAction( + EvictionActionType.LOCAL_DESTROY)).isEqualTo(EvictionAction.LOCAL_DESTROY); + + assertThat(EvictionActionType.getEvictionAction( + EvictionActionType.OVERFLOW_TO_DISK)).isEqualTo(EvictionAction.OVERFLOW_TO_DISK); + } + + @Test + public void testStaticGetEvictionActionWithNull() { + assertThat(EvictionActionType.getEvictionAction(null)).isNull(); + } + + @Test + public void testGetEvictionAction() { + + assertThat(EvictionActionType.LOCAL_DESTROY.getEvictionAction()).isEqualTo(EvictionAction.LOCAL_DESTROY); + assertThat(EvictionActionType.NONE.getEvictionAction()).isEqualTo(EvictionAction.NONE); + assertThat(EvictionActionType.OVERFLOW_TO_DISK.getEvictionAction()).isEqualTo(EvictionAction.OVERFLOW_TO_DISK); + assertThat(EvictionActionType.DEFAULT.getEvictionAction()).isEqualTo(EvictionAction.DEFAULT_EVICTION_ACTION); + } + + @Test + public void testDefault() { + + assertThat(EvictionActionType.DEFAULT.getEvictionAction()).isEqualTo(EvictionAction.DEFAULT_EVICTION_ACTION); + assertThat(EvictionActionType.DEFAULT).isSameAs(EvictionActionType.LOCAL_DESTROY); + } + + @Test + public void testValueOf() { + + assertThat(EvictionActionType.valueOf(EvictionAction.LOCAL_DESTROY)).isEqualTo(EvictionActionType.LOCAL_DESTROY); + assertThat(EvictionActionType.valueOf(EvictionAction.NONE)).isEqualTo(EvictionActionType.NONE); + assertThat(EvictionActionType.valueOf(EvictionAction.OVERFLOW_TO_DISK)).isEqualTo(EvictionActionType.OVERFLOW_TO_DISK); + } + + @Test + public void testValueOfWithNull() { + assertThat(EvictionActionType.valueOf((EvictionAction) null)).isNull(); + } + + @Test + public void testValueOfIgnoreCase() { + + assertThat(EvictionActionType.valueOfIgnoreCase("Local_Destroy")).isEqualTo(EvictionActionType.LOCAL_DESTROY); + assertThat(EvictionActionType.valueOfIgnoreCase("none")).isEqualTo(EvictionActionType.NONE); + assertThat(EvictionActionType.valueOfIgnoreCase("NONE")).isEqualTo(EvictionActionType.NONE); + assertThat(EvictionActionType.valueOfIgnoreCase("OverFlow_TO_DiSk")).isEqualTo(EvictionActionType.OVERFLOW_TO_DISK); + } + + @Test + public void testValueOfIgnoreCaseWithInvalidValues() { + + assertThat(EvictionActionType.valueOfIgnoreCase("REMOTE_DESTROY")).isNull(); + assertThat(EvictionActionType.valueOfIgnoreCase("All")).isNull(); + assertThat(EvictionActionType.valueOfIgnoreCase(" none ")).isNull(); + assertThat(EvictionActionType.valueOfIgnoreCase("underflow_from_disk")).isNull(); + assertThat(EvictionActionType.valueOfIgnoreCase(" ")).isNull(); + assertThat(EvictionActionType.valueOfIgnoreCase("")).isNull(); + assertThat(EvictionActionType.valueOfIgnoreCase(null)).isNull(); + } +} diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/eviction/EvictionAttributesFactoryBeanTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/eviction/EvictionAttributesFactoryBeanTest.java index a834f58e..c7b1c327 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/eviction/EvictionAttributesFactoryBeanTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/eviction/EvictionAttributesFactoryBeanTest.java @@ -14,14 +14,9 @@ * limitations under the License. * */ - package org.springframework.data.gemfire.eviction; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; +import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.mock; import org.apache.geode.cache.EvictionAction; @@ -34,13 +29,12 @@ import org.junit.Before; import org.junit.Test; /** - * The EvictionAttributesFactoryBeanTest class is a test suite of test cases testing the contract and functionality - * of the EvictionAttributesFactoryBean class used to create Region Eviction configuration settings. + * Unit Tests for {@link EvictionAttributesFactoryBean}. * * @author John Blum * @see org.junit.Test - * @see EvictionAttributesFactoryBean * @see org.apache.geode.cache.EvictionAttributes + * @see org.springframework.data.gemfire.eviction.EvictionAttributesFactoryBean * @since 1.3.4 */ public class EvictionAttributesFactoryBeanTest { @@ -63,11 +57,12 @@ public class EvictionAttributesFactoryBeanTest { @Test public void testIsSingleton() { - assertTrue(new EvictionAttributesFactoryBean().isSingleton()); + assertThat(new EvictionAttributesFactoryBean().isSingleton()).isTrue(); } @Test public void testCreateEntryCountEvictionAttributesWithNullAction() { + factoryBean.setAction(null); factoryBean.setObjectSizer(mockObjectSizer); factoryBean.setThreshold(1024); @@ -76,15 +71,16 @@ public class EvictionAttributesFactoryBeanTest { EvictionAttributes evictionAttributes = factoryBean.getObject(); - assertNotNull(evictionAttributes); - assertEquals(EvictionAction.DEFAULT_EVICTION_ACTION, evictionAttributes.getAction()); - assertNull(evictionAttributes.getObjectSizer()); - assertEquals(1024, evictionAttributes.getMaximum()); - assertEquals(EvictionAlgorithm.LRU_ENTRY, evictionAttributes.getAlgorithm()); + assertThat(evictionAttributes).isNotNull(); + assertThat(evictionAttributes.getAction()).isEqualTo(EvictionAction.DEFAULT_EVICTION_ACTION); + assertThat(evictionAttributes.getObjectSizer()).isNull(); + assertThat(evictionAttributes.getMaximum()).isEqualTo(1024); + assertThat(evictionAttributes.getAlgorithm()).isEqualTo(EvictionAlgorithm.LRU_ENTRY); } @Test public void testCreateEntryCountEvictionAttributesWithLocalDestroy() { + factoryBean.setAction(EvictionAction.LOCAL_DESTROY); factoryBean.setObjectSizer(mockObjectSizer); factoryBean.setThreshold(128); @@ -93,15 +89,16 @@ public class EvictionAttributesFactoryBeanTest { EvictionAttributes evictionAttributes = factoryBean.getObject(); - assertNotNull(evictionAttributes); - assertEquals(EvictionAction.LOCAL_DESTROY, evictionAttributes.getAction()); - assertNull(evictionAttributes.getObjectSizer()); - assertEquals(128, evictionAttributes.getMaximum()); - assertEquals(EvictionAlgorithm.LRU_ENTRY, evictionAttributes.getAlgorithm()); + assertThat(evictionAttributes).isNotNull(); + assertThat(evictionAttributes.getAction()).isEqualTo(EvictionAction.LOCAL_DESTROY); + assertThat(evictionAttributes.getObjectSizer()).isNull(); + assertThat(evictionAttributes.getMaximum()).isEqualTo(128); + assertThat(evictionAttributes.getAlgorithm()).isEqualTo(EvictionAlgorithm.LRU_ENTRY); } @Test public void testCreateEntryCountEvictionAttributesWithNone() { + factoryBean.setAction(EvictionAction.NONE); factoryBean.setObjectSizer(mockObjectSizer); factoryBean.setThreshold(null); @@ -110,15 +107,17 @@ public class EvictionAttributesFactoryBeanTest { EvictionAttributes evictionAttributes = factoryBean.getObject(); - assertNotNull(evictionAttributes); - assertEquals(EvictionAction.NONE, evictionAttributes.getAction()); - assertNull(evictionAttributes.getObjectSizer()); - assertEquals(EvictionAttributesFactoryBean.DEFAULT_LRU_MAXIMUM_ENTRIES, evictionAttributes.getMaximum()); - assertEquals(EvictionAlgorithm.LRU_ENTRY, evictionAttributes.getAlgorithm()); + assertThat(evictionAttributes).isNotNull(); + assertThat(evictionAttributes.getAction()).isEqualTo(EvictionAction.NONE); + assertThat(evictionAttributes.getObjectSizer()).isNull(); + assertThat(evictionAttributes.getMaximum()) + .isEqualTo(EvictionAttributesFactoryBean.DEFAULT_LRU_MAXIMUM_ENTRIES); + assertThat(evictionAttributes.getAlgorithm()).isEqualTo(EvictionAlgorithm.LRU_ENTRY); } @Test public void testCreateEntryCountEvictionAttributesWithOverflowToDisk() { + factoryBean.setAction(EvictionAction.OVERFLOW_TO_DISK); factoryBean.setObjectSizer(mockObjectSizer); factoryBean.setThreshold(null); @@ -127,15 +126,17 @@ public class EvictionAttributesFactoryBeanTest { EvictionAttributes evictionAttributes = factoryBean.getObject(); - assertNotNull(evictionAttributes); - assertEquals(EvictionAction.OVERFLOW_TO_DISK, evictionAttributes.getAction()); - assertNull(evictionAttributes.getObjectSizer()); - assertEquals(EvictionAttributesFactoryBean.DEFAULT_LRU_MAXIMUM_ENTRIES, evictionAttributes.getMaximum()); - assertEquals(EvictionAlgorithm.LRU_ENTRY, evictionAttributes.getAlgorithm()); + assertThat(evictionAttributes).isNotNull(); + assertThat(evictionAttributes.getAction()).isEqualTo(EvictionAction.OVERFLOW_TO_DISK); + assertThat(evictionAttributes.getObjectSizer()).isNull(); + assertThat(evictionAttributes.getMaximum()) + .isEqualTo(EvictionAttributesFactoryBean.DEFAULT_LRU_MAXIMUM_ENTRIES); + assertThat(evictionAttributes.getAlgorithm()).isEqualTo(EvictionAlgorithm.LRU_ENTRY); } @Test public void testCreateHeapPercentageEvictionAttributesWithNullAction() { + factoryBean.setAction(null); factoryBean.setObjectSizer(mockObjectSizer); factoryBean.setType(EvictionPolicyType.HEAP_PERCENTAGE); @@ -143,14 +144,15 @@ public class EvictionAttributesFactoryBeanTest { EvictionAttributes evictionAttributes = factoryBean.getObject(); - assertNotNull(evictionAttributes); - assertEquals(EvictionAction.DEFAULT_EVICTION_ACTION, evictionAttributes.getAction()); - assertSame(mockObjectSizer, evictionAttributes.getObjectSizer()); - assertEquals(EvictionAlgorithm.LRU_HEAP, evictionAttributes.getAlgorithm()); + assertThat(evictionAttributes).isNotNull(); + assertThat(evictionAttributes.getAction()).isEqualTo(EvictionAction.DEFAULT_EVICTION_ACTION); + assertThat(evictionAttributes.getObjectSizer()).isSameAs(mockObjectSizer); + assertThat(evictionAttributes.getAlgorithm()).isEqualTo(EvictionAlgorithm.LRU_HEAP); } @Test public void testCreateHeapPercentageEvictionAttributesWithLocalDestroy() { + factoryBean.setAction(EvictionAction.LOCAL_DESTROY); factoryBean.setObjectSizer(null); factoryBean.setThreshold(null); @@ -159,14 +161,15 @@ public class EvictionAttributesFactoryBeanTest { EvictionAttributes evictionAttributes = factoryBean.getObject(); - assertNotNull(evictionAttributes); - assertEquals(EvictionAction.LOCAL_DESTROY, evictionAttributes.getAction()); - assertNull(evictionAttributes.getObjectSizer()); - assertEquals(EvictionAlgorithm.LRU_HEAP, evictionAttributes.getAlgorithm()); + assertThat(evictionAttributes).isNotNull(); + assertThat(evictionAttributes.getAction()).isEqualTo(EvictionAction.LOCAL_DESTROY); + assertThat(evictionAttributes.getObjectSizer()).isNull(); + assertThat(evictionAttributes.getAlgorithm()).isEqualTo(EvictionAlgorithm.LRU_HEAP); } @Test public void testCreateHeapPercentageEvictionAttributesWithNone() { + factoryBean.setAction(EvictionAction.NONE); factoryBean.setObjectSizer(mockObjectSizer); factoryBean.setThreshold(null); @@ -175,14 +178,15 @@ public class EvictionAttributesFactoryBeanTest { EvictionAttributes evictionAttributes = factoryBean.getObject(); - assertNotNull(evictionAttributes); - assertEquals(EvictionAction.NONE, evictionAttributes.getAction()); - assertSame(mockObjectSizer, evictionAttributes.getObjectSizer()); - assertEquals(EvictionAlgorithm.LRU_HEAP, evictionAttributes.getAlgorithm()); + assertThat(evictionAttributes).isNotNull(); + assertThat(evictionAttributes.getAction()).isEqualTo(EvictionAction.NONE); + assertThat(evictionAttributes.getObjectSizer()).isSameAs(mockObjectSizer); + assertThat(evictionAttributes.getAlgorithm()).isEqualTo(EvictionAlgorithm.LRU_HEAP); } @Test public void testCreateHeapPercentageEvictionAttributesWithOverflowToDisk() { + factoryBean.setAction(EvictionAction.OVERFLOW_TO_DISK); factoryBean.setObjectSizer(mockObjectSizer); factoryBean.setThreshold(null); @@ -191,14 +195,15 @@ public class EvictionAttributesFactoryBeanTest { EvictionAttributes evictionAttributes = factoryBean.getObject(); - assertNotNull(evictionAttributes); - assertEquals(EvictionAction.OVERFLOW_TO_DISK, evictionAttributes.getAction()); - assertSame(mockObjectSizer, evictionAttributes.getObjectSizer()); - assertEquals(EvictionAlgorithm.LRU_HEAP, evictionAttributes.getAlgorithm()); + assertThat(evictionAttributes).isNotNull(); + assertThat(evictionAttributes.getAction()).isEqualTo(EvictionAction.OVERFLOW_TO_DISK); + assertThat(evictionAttributes.getObjectSizer()).isSameAs(mockObjectSizer); + assertThat(evictionAttributes.getAlgorithm()).isEqualTo(EvictionAlgorithm.LRU_HEAP); } @Test(expected = IllegalArgumentException.class) public void testCreateHeapPercentageEvictionAttributesSettingThreshold() { + EvictionAttributesFactoryBean factoryBean = new EvictionAttributesFactoryBean(); try { @@ -207,16 +212,17 @@ public class EvictionAttributesFactoryBeanTest { factoryBean.afterPropertiesSet(); } catch (IllegalArgumentException expected) { - assertEquals("HEAP_PERCENTAGE (LRU_HEAP algorithm) does not support threshold (a.k.a. maximum)!", - expected.getMessage()); - assertEquals(85, factoryBean.getThreshold().intValue()); - assertEquals(EvictionPolicyType.HEAP_PERCENTAGE, factoryBean.getType()); + assertThat(expected.getMessage()) + .isEqualTo("HEAP_PERCENTAGE (LRU_HEAP algorithm) does not support threshold (a.k.a. maximum)!"); + assertThat(factoryBean.getThreshold().intValue()).isEqualTo(85); + assertThat(factoryBean.getType()).isEqualTo(EvictionPolicyType.HEAP_PERCENTAGE); throw expected; } } @Test public void testCreateMemorySizeEvictionAttributesWithNullAction() { + factoryBean.setAction(null); factoryBean.setObjectSizer(mockObjectSizer); factoryBean.setThreshold(null); @@ -225,15 +231,17 @@ public class EvictionAttributesFactoryBeanTest { EvictionAttributes evictionAttributes = factoryBean.getObject(); - assertNotNull(evictionAttributes); - assertEquals(EvictionAction.DEFAULT_EVICTION_ACTION, evictionAttributes.getAction()); - assertSame(mockObjectSizer, evictionAttributes.getObjectSizer()); - assertEquals(EvictionAttributesFactoryBean.DEFAULT_MEMORY_MAXIMUM_SIZE, evictionAttributes.getMaximum()); - assertEquals(EvictionAlgorithm.LRU_MEMORY, evictionAttributes.getAlgorithm()); + assertThat(evictionAttributes).isNotNull(); + assertThat(evictionAttributes.getAction()).isEqualTo(EvictionAction.DEFAULT_EVICTION_ACTION); + assertThat(evictionAttributes.getObjectSizer()).isSameAs(mockObjectSizer); + assertThat(evictionAttributes.getMaximum()) + .isEqualTo(EvictionAttributesFactoryBean.DEFAULT_MEMORY_MAXIMUM_SIZE); + assertThat(evictionAttributes.getAlgorithm()).isEqualTo(EvictionAlgorithm.LRU_MEMORY); } @Test public void testCreateMemorySizeEvictionAttributesWithLocalDestroy() { + factoryBean.setAction(EvictionAction.LOCAL_DESTROY); factoryBean.setObjectSizer(mockObjectSizer); factoryBean.setThreshold(1024); @@ -242,15 +250,16 @@ public class EvictionAttributesFactoryBeanTest { EvictionAttributes evictionAttributes = factoryBean.getObject(); - assertNotNull(evictionAttributes); - assertEquals(EvictionAction.LOCAL_DESTROY, evictionAttributes.getAction()); - assertSame(mockObjectSizer, evictionAttributes.getObjectSizer()); - assertEquals(1024, evictionAttributes.getMaximum()); - assertEquals(EvictionAlgorithm.LRU_MEMORY, evictionAttributes.getAlgorithm()); + assertThat(evictionAttributes).isNotNull(); + assertThat(evictionAttributes.getAction()).isEqualTo(EvictionAction.LOCAL_DESTROY); + assertThat(evictionAttributes.getObjectSizer()).isSameAs(mockObjectSizer); + assertThat(evictionAttributes.getMaximum()).isEqualTo(1024); + assertThat(evictionAttributes.getAlgorithm()).isEqualTo(EvictionAlgorithm.LRU_MEMORY); } @Test public void testCreateMemorySizeEvictionAttributesWithNone() { + factoryBean.setAction(EvictionAction.NONE); factoryBean.setObjectSizer(null); factoryBean.setThreshold(256); @@ -259,15 +268,16 @@ public class EvictionAttributesFactoryBeanTest { EvictionAttributes evictionAttributes = factoryBean.getObject(); - assertNotNull(evictionAttributes); - assertEquals(EvictionAction.NONE, evictionAttributes.getAction()); - assertNull(evictionAttributes.getObjectSizer()); - assertEquals(256, evictionAttributes.getMaximum()); - assertEquals(EvictionAlgorithm.LRU_MEMORY, evictionAttributes.getAlgorithm()); + assertThat(evictionAttributes).isNotNull(); + assertThat(evictionAttributes.getAction()).isEqualTo(EvictionAction.NONE); + assertThat(evictionAttributes.getObjectSizer()).isNull(); + assertThat(evictionAttributes.getMaximum()).isEqualTo(256); + assertThat(evictionAttributes.getAlgorithm()).isEqualTo(EvictionAlgorithm.LRU_MEMORY); } @Test public void testCreateMemorySizeEvictionAttributesWithOverflowToDisk() { + factoryBean.setAction(EvictionAction.OVERFLOW_TO_DISK); factoryBean.setObjectSizer(null); factoryBean.setThreshold(null); @@ -276,11 +286,11 @@ public class EvictionAttributesFactoryBeanTest { EvictionAttributes evictionAttributes = factoryBean.getObject(); - assertNotNull(evictionAttributes); - assertEquals(EvictionAction.OVERFLOW_TO_DISK, evictionAttributes.getAction()); - assertNull(evictionAttributes.getObjectSizer()); - assertEquals(EvictionAttributesFactoryBean.DEFAULT_MEMORY_MAXIMUM_SIZE, evictionAttributes.getMaximum()); - assertEquals(EvictionAlgorithm.LRU_MEMORY, evictionAttributes.getAlgorithm()); + assertThat(evictionAttributes).isNotNull(); + assertThat(evictionAttributes.getAction()).isEqualTo(EvictionAction.OVERFLOW_TO_DISK); + assertThat(evictionAttributes.getObjectSizer()).isNull(); + assertThat(evictionAttributes.getMaximum()) + .isEqualTo(EvictionAttributesFactoryBean.DEFAULT_MEMORY_MAXIMUM_SIZE); + assertThat(evictionAttributes.getAlgorithm()).isEqualTo(EvictionAlgorithm.LRU_MEMORY); } - } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/eviction/EvictionPolicyTypeTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/eviction/EvictionPolicyTypeTest.java deleted file mode 100644 index 870a04fc..00000000 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/eviction/EvictionPolicyTypeTest.java +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Copyright 2016-2021 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -package org.springframework.data.gemfire.eviction; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; - -import org.apache.geode.cache.EvictionAlgorithm; - -import org.junit.Test; - -/** - * The EvictionTypeTest class is a test suite of test cases testing the contract and functionality - * of the EvictionType enum. - * - * @author John Blum - * @see org.junit.Test - * @see EvictionPolicyType - * @see org.apache.geode.cache.EvictionAlgorithm - * @since 1.6.0 - */ -public class EvictionPolicyTypeTest { - - @Test - public void testStaticGetEvictionAlgorithm() { - assertEquals(EvictionAlgorithm.LRU_HEAP, EvictionPolicyType.getEvictionAlgorithm( - EvictionPolicyType.HEAP_PERCENTAGE)); - assertEquals(EvictionAlgorithm.LRU_MEMORY, EvictionPolicyType.getEvictionAlgorithm( - EvictionPolicyType.MEMORY_SIZE)); - } - - @Test - public void testStaticGetEvictionAlgorithmWithNull() { - assertNull(EvictionPolicyType.getEvictionAlgorithm(null)); - } - - @Test - public void testGetEvictionAlgorithm() { - assertEquals(EvictionAlgorithm.LRU_ENTRY, EvictionPolicyType.ENTRY_COUNT.getEvictionAlgorithm()); - assertEquals(EvictionAlgorithm.LRU_HEAP, EvictionPolicyType.HEAP_PERCENTAGE.getEvictionAlgorithm()); - assertEquals(EvictionAlgorithm.LRU_MEMORY, EvictionPolicyType.MEMORY_SIZE.getEvictionAlgorithm()); - assertEquals(EvictionAlgorithm.NONE, EvictionPolicyType.NONE.getEvictionAlgorithm()); - } - - @Test - public void testValueOf() { - assertEquals(EvictionPolicyType.ENTRY_COUNT, EvictionPolicyType.valueOf(EvictionAlgorithm.LRU_ENTRY)); - assertEquals(EvictionPolicyType.HEAP_PERCENTAGE, EvictionPolicyType.valueOf(EvictionAlgorithm.LRU_HEAP)); - assertEquals(EvictionPolicyType.MEMORY_SIZE, EvictionPolicyType.valueOf(EvictionAlgorithm.LRU_MEMORY)); - assertEquals(EvictionPolicyType.NONE, EvictionPolicyType.valueOf(EvictionAlgorithm.NONE)); - } - - @Test - @SuppressWarnings("deprecation") - public void testValueOfInvalidEvictionAlgorithms() { - assertNull(EvictionPolicyType.valueOf(EvictionAlgorithm.LIFO_ENTRY)); - assertNull(EvictionPolicyType.valueOf(EvictionAlgorithm.LIFO_MEMORY)); - } - - @Test - public void testValueOfWithNull() { - assertNull(EvictionPolicyType.valueOf((EvictionAlgorithm) null)); - } - - @Test - public void testValueOfIgnoreCase() { - assertEquals(EvictionPolicyType.ENTRY_COUNT, EvictionPolicyType.valueOfIgnoreCase("entry_count")); - assertEquals(EvictionPolicyType.HEAP_PERCENTAGE, EvictionPolicyType.valueOfIgnoreCase("Heap_Percentage")); - assertEquals(EvictionPolicyType.MEMORY_SIZE, EvictionPolicyType.valueOfIgnoreCase("MEMorY_SiZe")); - assertEquals(EvictionPolicyType.NONE, EvictionPolicyType.valueOfIgnoreCase("NONE")); - } - - @Test - public void testValueOfIgnoreCaseWithInvalidValues() { - assertNull(EvictionPolicyType.valueOfIgnoreCase("number_of_entries")); - assertNull(EvictionPolicyType.valueOfIgnoreCase("heap_%")); - assertNull(EvictionPolicyType.valueOfIgnoreCase("mem_size")); - assertNull(EvictionPolicyType.valueOfIgnoreCase("memory_space")); - assertNull(EvictionPolicyType.valueOfIgnoreCase(" ")); - assertNull(EvictionPolicyType.valueOfIgnoreCase("")); - assertNull(EvictionPolicyType.valueOfIgnoreCase(null)); - } - -} diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/eviction/EvictionPolicyTypeUnitTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/eviction/EvictionPolicyTypeUnitTests.java new file mode 100644 index 00000000..f5bc63b8 --- /dev/null +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/eviction/EvictionPolicyTypeUnitTests.java @@ -0,0 +1,99 @@ +/* + * Copyright 2016-2021 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.springframework.data.gemfire.eviction; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.Test; + +import org.apache.geode.cache.EvictionAlgorithm; + +/** + * Unit Tests for {@link EvictionPolicyType} enum. + * + * @author John Blum + * @see org.junit.Test + * @see org.apache.geode.cache.EvictionAlgorithm + * @see org.springframework.data.gemfire.eviction.EvictionPolicyType + * @since 1.6.0 + */ +public class EvictionPolicyTypeUnitTests { + + @Test + public void testStaticGetEvictionAlgorithm() { + + assertThat(EvictionPolicyType.getEvictionAlgorithm(EvictionPolicyType.HEAP_PERCENTAGE)).isEqualTo(EvictionAlgorithm.LRU_HEAP); + assertThat(EvictionPolicyType.getEvictionAlgorithm(EvictionPolicyType.MEMORY_SIZE)).isEqualTo(EvictionAlgorithm.LRU_MEMORY); + } + + @Test + public void testStaticGetEvictionAlgorithmWithNull() { + assertThat(EvictionPolicyType.getEvictionAlgorithm(null)).isNull(); + } + + @Test + public void testGetEvictionAlgorithm() { + + assertThat(EvictionPolicyType.ENTRY_COUNT.getEvictionAlgorithm()).isEqualTo(EvictionAlgorithm.LRU_ENTRY); + assertThat(EvictionPolicyType.HEAP_PERCENTAGE.getEvictionAlgorithm()).isEqualTo(EvictionAlgorithm.LRU_HEAP); + assertThat(EvictionPolicyType.MEMORY_SIZE.getEvictionAlgorithm()).isEqualTo(EvictionAlgorithm.LRU_MEMORY); + assertThat(EvictionPolicyType.NONE.getEvictionAlgorithm()).isEqualTo(EvictionAlgorithm.NONE); + } + + @Test + public void testValueOf() { + + assertThat(EvictionPolicyType.valueOf(EvictionAlgorithm.LRU_ENTRY)).isEqualTo(EvictionPolicyType.ENTRY_COUNT); + assertThat(EvictionPolicyType.valueOf(EvictionAlgorithm.LRU_HEAP)).isEqualTo(EvictionPolicyType.HEAP_PERCENTAGE); + assertThat(EvictionPolicyType.valueOf(EvictionAlgorithm.LRU_MEMORY)).isEqualTo(EvictionPolicyType.MEMORY_SIZE); + assertThat(EvictionPolicyType.valueOf(EvictionAlgorithm.NONE)).isEqualTo(EvictionPolicyType.NONE); + } + + @Test + @SuppressWarnings("deprecation") + public void testValueOfInvalidEvictionAlgorithms() { + + assertThat(EvictionPolicyType.valueOf(EvictionAlgorithm.LIFO_ENTRY)).isNull(); + assertThat(EvictionPolicyType.valueOf(EvictionAlgorithm.LIFO_MEMORY)).isNull(); + } + + @Test + public void testValueOfWithNull() { + assertThat(EvictionPolicyType.valueOf((EvictionAlgorithm) null)).isNull(); + } + + @Test + public void testValueOfIgnoreCase() { + + assertThat(EvictionPolicyType.valueOfIgnoreCase("entry_count")).isEqualTo(EvictionPolicyType.ENTRY_COUNT); + assertThat(EvictionPolicyType.valueOfIgnoreCase("Heap_Percentage")).isEqualTo(EvictionPolicyType.HEAP_PERCENTAGE); + assertThat(EvictionPolicyType.valueOfIgnoreCase("MEMorY_SiZe")).isEqualTo(EvictionPolicyType.MEMORY_SIZE); + assertThat(EvictionPolicyType.valueOfIgnoreCase("NONE")).isEqualTo(EvictionPolicyType.NONE); + } + + @Test + public void testValueOfIgnoreCaseWithInvalidValues() { + + assertThat(EvictionPolicyType.valueOfIgnoreCase("number_of_entries")).isNull(); + assertThat(EvictionPolicyType.valueOfIgnoreCase("heap_%")).isNull(); + assertThat(EvictionPolicyType.valueOfIgnoreCase("mem_size")).isNull(); + assertThat(EvictionPolicyType.valueOfIgnoreCase("memory_space")).isNull(); + assertThat(EvictionPolicyType.valueOfIgnoreCase(" ")).isNull(); + assertThat(EvictionPolicyType.valueOfIgnoreCase("")).isNull(); + assertThat(EvictionPolicyType.valueOfIgnoreCase(null)).isNull(); + } +} diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/expiration/AnnotationBasedExpirationTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/expiration/AnnotationBasedExpirationUnitTests.java similarity index 72% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/expiration/AnnotationBasedExpirationTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/expiration/AnnotationBasedExpirationUnitTests.java index 8876f9ed..b5c61219 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/expiration/AnnotationBasedExpirationTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/expiration/AnnotationBasedExpirationUnitTests.java @@ -14,18 +14,10 @@ * limitations under the License. * */ - package org.springframework.data.gemfire.expiration; -import static org.hamcrest.CoreMatchers.equalTo; -import static org.hamcrest.CoreMatchers.instanceOf; -import static org.hamcrest.CoreMatchers.is; -import static org.hamcrest.CoreMatchers.isA; -import static org.hamcrest.CoreMatchers.not; -import static org.hamcrest.CoreMatchers.nullValue; -import static org.hamcrest.CoreMatchers.sameInstance; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertThat; +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.atLeast; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.mock; @@ -34,15 +26,13 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import static org.springframework.data.gemfire.expiration.AnnotationBasedExpiration.ExpirationMetaData; +import org.junit.Test; +import org.mockito.stubbing.Answer; + import org.apache.geode.cache.ExpirationAction; import org.apache.geode.cache.ExpirationAttributes; import org.apache.geode.cache.Region; -import org.junit.Test; -import org.mockito.Matchers; -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; - import org.springframework.beans.factory.config.ConfigurableBeanFactory; import org.springframework.context.expression.BeanFactoryResolver; import org.springframework.core.convert.ConversionService; @@ -54,52 +44,54 @@ import org.springframework.expression.TypeLocator; import org.springframework.expression.spel.support.StandardEvaluationContext; /** - * The AnnotationBasedExpirationTest class is a test suite of test cases testing the contract and functionality - * of the AnnotationBasedExpirationTest. + * Unit Tests for {@link AnnotationBasedExpiration}. * * @author John Blum * @see org.junit.Test * @see org.mockito.Mockito - * @see AnnotationBasedExpiration + * @see org.springframework.data.gemfire.expiration.AnnotationBasedExpiration * @since 1.7.0 */ @SuppressWarnings({ "rawtypes", "unchecked", "unused" }) -public class AnnotationBasedExpirationTest { +public class AnnotationBasedExpirationUnitTests { - private AnnotationBasedExpiration noDefaultExpiration = new AnnotationBasedExpiration(); + private final AnnotationBasedExpiration noDefaultExpiration = new AnnotationBasedExpiration(); protected void assertExpiration(ExpirationAttributes expirationAttributes, int expectedTimeout, ExpirationAction expectedAction) { - assertThat(expirationAttributes, is(not(nullValue()))); - assertThat(expirationAttributes.getTimeout(), is(equalTo(expectedTimeout))); - assertThat(expirationAttributes.getAction(), is(equalTo(expectedAction))); + assertThat(expirationAttributes).isNotNull(); + assertThat(expirationAttributes.getTimeout()).isEqualTo(expectedTimeout); + assertThat(expirationAttributes.getAction()).isEqualTo(expectedAction); } protected void assertExpiration(ExpirationMetaData expirationMetaData, int expectedTimeout, ExpirationActionType expectedExpirationAction) { - assertThat(expirationMetaData, is(not(nullValue()))); - assertThat(expirationMetaData.timeout(), is(equalTo(expectedTimeout))); - assertThat(expirationMetaData.action(), is(equalTo(expectedExpirationAction))); + assertThat(expirationMetaData).isNotNull(); + assertThat(expirationMetaData.timeout()).isEqualTo(expectedTimeout); + assertThat(expirationMetaData.action()).isEqualTo(expectedExpirationAction); } @Test public void constructUninitializedAnnotationBasedExpirationInstance() { + AnnotationBasedExpiration expiration = new AnnotationBasedExpiration(); - assertThat(expiration.getDefaultExpirationAttributes(), is(nullValue())); + assertThat(expiration.getDefaultExpirationAttributes()).isNull(); } @Test public void constructInitializedAnnotationBasedExpirationInstance() { + AnnotationBasedExpiration expiration = new AnnotationBasedExpiration(ExpirationAttributes.DEFAULT); - assertThat(expiration.getDefaultExpirationAttributes(), is(equalTo(ExpirationAttributes.DEFAULT))); + assertThat(expiration.getDefaultExpirationAttributes()).isEqualTo(ExpirationAttributes.DEFAULT); } @Test public void forIdleTimeoutNoDefaultExpiration() { + Region.Entry mockRegionEntry = mock(Region.Entry.class, "MockRegionEntry"); AnnotationBasedExpiration expiration = AnnotationBasedExpiration.forIdleTimeout(); @@ -109,12 +101,13 @@ public class AnnotationBasedExpirationTest { when(mockRegionEntry.getValue()).thenReturn(new RegionEntryValueWithTimeToLiveGenericExpiration()); assertExpiration(expiration.getExpiry(mockRegionEntry), 60, ExpirationAction.INVALIDATE); when(mockRegionEntry.getValue()).thenReturn(new RegionEntryValueWithNoExpiration()); - assertThat(expiration.getExpiry(mockRegionEntry), is(nullValue())); + assertThat(expiration.getExpiry(mockRegionEntry)).isNull(); verify(mockRegionEntry, atLeast(3)).getValue(); } @Test public void forIdleTimeoutWithDefaultExpiration() { + Region.Entry mockRegionEntry = mock(Region.Entry.class, "MockRegionEntry"); ExpirationAttributes defaultExpiration = new ExpirationAttributes(300, ExpirationAction.DESTROY); @@ -126,12 +119,13 @@ public class AnnotationBasedExpirationTest { when(mockRegionEntry.getValue()).thenReturn(new RegionEntryValueWithTimeToLiveGenericExpiration()); assertExpiration(expiration.getExpiry(mockRegionEntry), 60, ExpirationAction.INVALIDATE); when(mockRegionEntry.getValue()).thenReturn(new RegionEntryValueWithNoExpiration()); - assertThat(expiration.getExpiry(mockRegionEntry), is(equalTo(defaultExpiration))); + assertThat(expiration.getExpiry(mockRegionEntry)).isEqualTo(defaultExpiration); verify(mockRegionEntry, atLeast(3)).getValue(); } @Test public void forTimeToLiveNoDefaultExpiration() { + Region.Entry mockRegionEntry = mock(Region.Entry.class, "MockRegionEntry"); AnnotationBasedExpiration expiration = AnnotationBasedExpiration.forTimeToLive(); @@ -141,12 +135,13 @@ public class AnnotationBasedExpirationTest { when(mockRegionEntry.getValue()).thenReturn(new RegionEntryValueWithIdleTimeoutGenericExpiration()); assertExpiration(expiration.getExpiry(mockRegionEntry), 60, ExpirationAction.INVALIDATE); when(mockRegionEntry.getValue()).thenReturn(new RegionEntryValueWithNoExpiration()); - assertThat(expiration.getExpiry(mockRegionEntry), is(nullValue())); + assertThat(expiration.getExpiry(mockRegionEntry)).isNull(); verify(mockRegionEntry, atLeast(3)).getValue(); } @Test public void forTimeToLiveWithDefaultExpiration() { + Region.Entry mockRegionEntry = mock(Region.Entry.class, "MockRegionEntry"); ExpirationAttributes defaultExpiration = new ExpirationAttributes(300, ExpirationAction.DESTROY); @@ -158,253 +153,278 @@ public class AnnotationBasedExpirationTest { when(mockRegionEntry.getValue()).thenReturn(new RegionEntryValueWithIdleTimeoutGenericExpiration()); assertExpiration(expiration.getExpiry(mockRegionEntry), 60, ExpirationAction.INVALIDATE); when(mockRegionEntry.getValue()).thenReturn(new RegionEntryValueWithNoExpiration()); - assertThat(expiration.getExpiry(mockRegionEntry), is(equalTo(defaultExpiration))); + assertThat(expiration.getExpiry(mockRegionEntry)).isEqualTo(defaultExpiration); verify(mockRegionEntry, atLeast(3)).getValue(); } @Test public void setAndGetBeanFactory() { - final StandardEvaluationContext mockEvaluationContext = mock(StandardEvaluationContext.class, - "MockStandardEvaluationContext"); + + StandardEvaluationContext mockEvaluationContext = + mock(StandardEvaluationContext.class, "MockStandardEvaluationContext"); ConversionService mockConversionService = mock(ConversionService.class, "MockConversionService"); - final ConfigurableBeanFactory mockBeanFactory = mock(ConfigurableBeanFactory.class, "MockBeanFactory"); + ConfigurableBeanFactory mockBeanFactory = mock(ConfigurableBeanFactory.class, "MockBeanFactory"); when(mockBeanFactory.getConversionService()).thenReturn(mockConversionService); when(mockBeanFactory.getBeanClassLoader()).thenReturn(Thread.currentThread().getContextClassLoader()); - doAnswer(new Answer() { - @Override public Void answer(final InvocationOnMock invocation) throws Throwable { - BeanResolver beanResolver = invocation.getArgument(0); - assertThat(beanResolver, is(instanceOf(BeanFactoryResolver.class))); - assertThat(TestUtils.readField("beanFactory", beanResolver), - is(equalTo(mockBeanFactory))); - return null; - } - }).when(mockEvaluationContext).setBeanResolver(Matchers.any(BeanResolver.class)); + doAnswer((Answer) invocation -> { + + BeanResolver beanResolver = invocation.getArgument(0); + + assertThat(beanResolver).isInstanceOf(BeanFactoryResolver.class); + assertThat(TestUtils.readField("beanFactory", beanResolver)).isEqualTo(mockBeanFactory); + + return null; + }).when(mockEvaluationContext).setBeanResolver(any(BeanResolver.class)); AnnotationBasedExpiration annotationBasedExpiration = new AnnotationBasedExpiration() { - @Override StandardEvaluationContext newEvaluationContext() { + + @Override + StandardEvaluationContext newEvaluationContext() { return mockEvaluationContext; } }; annotationBasedExpiration.setBeanFactory(mockBeanFactory); - assertSame(mockBeanFactory, annotationBasedExpiration.getBeanFactory()); + assertThat(annotationBasedExpiration.getBeanFactory()).isSameAs(mockBeanFactory); - verify(mockEvaluationContext, times(3)).addPropertyAccessor(Matchers.any(PropertyAccessor.class)); - verify(mockEvaluationContext, times(1)).setTypeConverter(Matchers.any(TypeConverter.class)); - verify(mockEvaluationContext, times(1)).setTypeLocator(Matchers.any(TypeLocator.class)); - verify(mockEvaluationContext, times(1)).setBeanResolver(Matchers.any(BeanResolver.class)); + verify(mockEvaluationContext, times(3)).addPropertyAccessor(any(PropertyAccessor.class)); + verify(mockEvaluationContext, times(1)).setTypeConverter(any(TypeConverter.class)); + verify(mockEvaluationContext, times(1)).setTypeLocator(any(TypeLocator.class)); + verify(mockEvaluationContext, times(1)).setBeanResolver(any(BeanResolver.class)); verify(mockBeanFactory, times(1)).getConversionService(); verify(mockBeanFactory, times(1)).getBeanClassLoader(); } @Test(expected = IllegalStateException.class) public void getUninitializedBeanFactory() { - new AnnotationBasedExpiration().getBeanFactory(); + new AnnotationBasedExpiration<>().getBeanFactory(); } @Test public void setAndGetDefaultExpirationAttributes() { + ExpirationAttributes expectedExpirationAttributes = new ExpirationAttributes(120, ExpirationAction.INVALIDATE); + AnnotationBasedExpiration expiration = new AnnotationBasedExpiration(); expiration.setDefaultExpirationAttributes(expectedExpirationAttributes); - assertThat(expiration.getDefaultExpirationAttributes(), is(equalTo(expectedExpirationAttributes))); + assertThat(expiration.getDefaultExpirationAttributes()).isEqualTo(expectedExpirationAttributes); expiration.setDefaultExpirationAttributes(null); - assertThat(expiration.getDefaultExpirationAttributes(), is(nullValue())); + assertThat(expiration.getDefaultExpirationAttributes()).isNull(); expiration.setDefaultExpirationAttributes(ExpirationAttributes.DEFAULT); - assertThat(expiration.getDefaultExpirationAttributes(), is(equalTo(ExpirationAttributes.DEFAULT))); + assertThat(expiration.getDefaultExpirationAttributes()).isEqualTo(ExpirationAttributes.DEFAULT); } @Test public void getExpiryCallsGetExpirationMetaDataOnRegionEntryFollowedByNewExpirationAttributes() { - final ExpirationAttributes expectedExpirationAttributes = new ExpirationAttributes(60, - ExpirationAction.LOCAL_DESTROY); + + ExpirationAttributes expectedExpirationAttributes = + new ExpirationAttributes(60, ExpirationAction.LOCAL_DESTROY); final Region.Entry mockRegionEntry = mock(Region.Entry.class, "MockRegionEntry"); AnnotationBasedExpiration expiration = new AnnotationBasedExpiration() { - @Override protected ExpirationMetaData getExpirationMetaData(Region.Entry entry) { - assertThat(entry, is(sameInstance(mockRegionEntry))); + + @Override + protected ExpirationMetaData getExpirationMetaData(Region.Entry entry) { + assertThat(entry).isSameAs(mockRegionEntry); return ExpirationMetaData.from(expectedExpirationAttributes); } - @Override protected ExpirationAttributes newExpirationAttributes(ExpirationMetaData expirationMetaData) { - assertThat(expirationMetaData.timeout(), is(equalTo(expectedExpirationAttributes.getTimeout()))); - assertThat(expirationMetaData.expirationAction(), is(equalTo(expectedExpirationAttributes.getAction()))); + @Override + protected ExpirationAttributes newExpirationAttributes(ExpirationMetaData expirationMetaData) { + assertThat(expirationMetaData.timeout()).isEqualTo(expectedExpirationAttributes.getTimeout()); + assertThat(expirationMetaData.expirationAction()).isEqualTo(expectedExpirationAttributes.getAction()); return expectedExpirationAttributes; } }; - assertThat(expiration.getExpiry(mockRegionEntry), is(equalTo(expectedExpirationAttributes))); + assertThat(expiration.getExpiry(mockRegionEntry)).isEqualTo(expectedExpirationAttributes); } @Test public void isExpirationConfiguredWithGenericExpirationBasedRegionEntry() { + Region.Entry mockRegionEntry = mock(Region.Entry.class, "MockRegionEntry"); when(mockRegionEntry.getValue()).thenReturn(new RegionEntryValueWithGenericExpiration()); - assertThat(noDefaultExpiration.isExpirationConfigured(mockRegionEntry), is(true)); + assertThat(noDefaultExpiration.isExpirationConfigured(mockRegionEntry)).isTrue(); when(mockRegionEntry.getValue()).thenReturn(new RegionEntryValueWithTimeToLiveIdleTimeoutGenericExpiration()); - assertThat(noDefaultExpiration.isExpirationConfigured(mockRegionEntry), is(true)); + assertThat(noDefaultExpiration.isExpirationConfigured(mockRegionEntry)).isTrue(); verify(mockRegionEntry, times(2)).getValue(); } @Test public void isExpirationConfiguredWithNoGenericExpirationRegionEntry() { + Region.Entry mockRegionEntry = mock(Region.Entry.class, "MockRegionEntry"); when(mockRegionEntry.getValue()).thenReturn(new RegionEntryValueWithTimeToLiveIdleTimeoutExpiration()); - assertThat(noDefaultExpiration.isExpirationConfigured(mockRegionEntry), is(false)); + assertThat(noDefaultExpiration.isExpirationConfigured(mockRegionEntry)).isFalse(); when(mockRegionEntry.getValue()).thenReturn(new RegionEntryValueWithNoExpiration()); - assertThat(noDefaultExpiration.isExpirationConfigured(mockRegionEntry), is(false)); + assertThat(noDefaultExpiration.isExpirationConfigured(mockRegionEntry)).isFalse(); verify(mockRegionEntry, times(2)).getValue(); } @Test public void isIdleTimeoutConfiguredWithIdleTimeoutExpirationBasedRegionEntry() { + Region.Entry mockRegionEntry = mock(Region.Entry.class, "MockRegionEntry"); when(mockRegionEntry.getValue()).thenReturn(new RegionEntryValueWithIdleTimeoutExpiration()); - assertThat(noDefaultExpiration.isIdleTimeoutConfigured(mockRegionEntry), is(true)); + assertThat(noDefaultExpiration.isIdleTimeoutConfigured(mockRegionEntry)).isTrue(); when(mockRegionEntry.getValue()).thenReturn(new RegionEntryValueWithTimeToLiveIdleTimeoutGenericExpiration()); - assertThat(noDefaultExpiration.isIdleTimeoutConfigured(mockRegionEntry), is(true)); + assertThat(noDefaultExpiration.isIdleTimeoutConfigured(mockRegionEntry)).isTrue(); verify(mockRegionEntry, times(2)).getValue(); } @Test public void isIdleTimeoutConfiguredWithNoIdleTimeoutExpirationRegionEntry() { + Region.Entry mockRegionEntry = mock(Region.Entry.class, "MockRegionEntry"); when(mockRegionEntry.getValue()).thenReturn(new RegionEntryValueWithTimeToLiveGenericExpiration()); - assertThat(noDefaultExpiration.isIdleTimeoutConfigured(mockRegionEntry), is(false)); + assertThat(noDefaultExpiration.isIdleTimeoutConfigured(mockRegionEntry)).isFalse(); when(mockRegionEntry.getValue()).thenReturn(new RegionEntryValueWithNoExpiration()); - assertThat(noDefaultExpiration.isIdleTimeoutConfigured(mockRegionEntry), is(false)); + assertThat(noDefaultExpiration.isIdleTimeoutConfigured(mockRegionEntry)).isFalse(); verify(mockRegionEntry, times(2)).getValue(); } @Test public void isTimeToLiveConfiguredWithTimeToLiveExpirationBasedRegionEntry() { + Region.Entry mockRegionEntry = mock(Region.Entry.class, "MockRegionEntry"); when(mockRegionEntry.getValue()).thenReturn(new RegionEntryValueWithTimeToLiveExpiration()); - assertThat(noDefaultExpiration.isTimeToLiveConfigured(mockRegionEntry), is(true)); + assertThat(noDefaultExpiration.isTimeToLiveConfigured(mockRegionEntry)).isTrue(); when(mockRegionEntry.getValue()).thenReturn(new RegionEntryValueWithTimeToLiveIdleTimeoutGenericExpiration()); - assertThat(noDefaultExpiration.isTimeToLiveConfigured(mockRegionEntry), is(true)); + assertThat(noDefaultExpiration.isTimeToLiveConfigured(mockRegionEntry)).isTrue(); verify(mockRegionEntry, times(2)).getValue(); } public void isTimeToLiveConfiguredWithNoTimeToLiveExpirationRegionEntry() { + Region.Entry mockRegionEntry = mock(Region.Entry.class, "MockRegionEntry"); when(mockRegionEntry.getValue()).thenReturn(new RegionEntryValueWithIdleTimeoutGenericExpiration()); - assertThat(noDefaultExpiration.isTimeToLiveConfigured(mockRegionEntry), is(false)); + assertThat(noDefaultExpiration.isTimeToLiveConfigured(mockRegionEntry)).isFalse(); when(mockRegionEntry.getValue()).thenReturn(new RegionEntryValueWithNoExpiration()); - assertThat(noDefaultExpiration.isTimeToLiveConfigured(mockRegionEntry), is(false)); + assertThat(noDefaultExpiration.isTimeToLiveConfigured(mockRegionEntry)).isFalse(); verify(mockRegionEntry, times(2)).getValue(); } @Test public void getExpirationWithGenericExpirationBasedRegionEntry() { + Region.Entry mockRegionEntry = mock(Region.Entry.class, "MockRegionEntry"); when(mockRegionEntry.getValue()).thenReturn(new RegionEntryValueWithGenericExpiration()); - assertThat(noDefaultExpiration.getExpiration(mockRegionEntry), isA(Expiration.class)); + assertThat(noDefaultExpiration.getExpiration(mockRegionEntry)).isInstanceOf(Expiration.class); when(mockRegionEntry.getValue()).thenReturn(new RegionEntryValueWithTimeToLiveIdleTimeoutGenericExpiration()); - assertThat(noDefaultExpiration.getExpiration(mockRegionEntry), isA(Expiration.class)); + assertThat(noDefaultExpiration.getExpiration(mockRegionEntry)).isInstanceOf(Expiration.class); verify(mockRegionEntry, times(2)).getValue(); } @Test public void getExpirationWithNoGenericExpirationRegionEntry() { + Region.Entry mockRegionEntry = mock(Region.Entry.class, "MockRegionEntry"); when(mockRegionEntry.getValue()).thenReturn(new RegionEntryValueWithTimeToLiveIdleTimeoutExpiration()); - assertThat(noDefaultExpiration.getExpiration(mockRegionEntry), is(nullValue())); + assertThat(noDefaultExpiration.getExpiration(mockRegionEntry)).isNull(); when(mockRegionEntry.getValue()).thenReturn(new RegionEntryValueWithNoExpiration()); - assertThat(noDefaultExpiration.getExpiration(mockRegionEntry), is(nullValue())); + assertThat(noDefaultExpiration.getExpiration(mockRegionEntry)).isNull(); verify(mockRegionEntry, times(2)).getValue(); } @Test public void getIdleTimeoutWithIdleTimeoutExpirationBasedRegionEntry() { + Region.Entry mockRegionEntry = mock(Region.Entry.class, "MockRegionEntry"); when(mockRegionEntry.getValue()).thenReturn(new RegionEntryValueWithIdleTimeoutExpiration()); - assertThat(noDefaultExpiration.getIdleTimeout(mockRegionEntry), isA(IdleTimeoutExpiration.class)); + assertThat(noDefaultExpiration.getIdleTimeout(mockRegionEntry)).isInstanceOf(IdleTimeoutExpiration.class); when(mockRegionEntry.getValue()).thenReturn(new RegionEntryValueWithTimeToLiveIdleTimeoutGenericExpiration()); - assertThat(noDefaultExpiration.getIdleTimeout(mockRegionEntry), isA(IdleTimeoutExpiration.class)); + assertThat(noDefaultExpiration.getIdleTimeout(mockRegionEntry)).isInstanceOf(IdleTimeoutExpiration.class); verify(mockRegionEntry, times(2)).getValue(); } @Test public void getIdleTimeoutWithNoIdleTimeoutExpirationRegionEntry() { + Region.Entry mockRegionEntry = mock(Region.Entry.class, "MockRegionEntry"); when(mockRegionEntry.getValue()).thenReturn(new RegionEntryValueWithTimeToLiveGenericExpiration()); - assertThat(noDefaultExpiration.getIdleTimeout(mockRegionEntry), is(nullValue())); + assertThat(noDefaultExpiration.getIdleTimeout(mockRegionEntry)).isNull(); when(mockRegionEntry.getValue()).thenReturn(new RegionEntryValueWithNoExpiration()); - assertThat(noDefaultExpiration.getIdleTimeout(mockRegionEntry), is(nullValue())); + assertThat(noDefaultExpiration.getIdleTimeout(mockRegionEntry)).isNull(); verify(mockRegionEntry, times(2)).getValue(); } @Test public void getTimeToLiveWithTimeToLiveExpirationBasedRegionEntry() { + Region.Entry mockRegionEntry = mock(Region.Entry.class, "MockRegionEntry"); when(mockRegionEntry.getValue()).thenReturn(new RegionEntryValueWithTimeToLiveExpiration()); - assertThat(noDefaultExpiration.getTimeToLive(mockRegionEntry), isA(TimeToLiveExpiration.class)); + assertThat(noDefaultExpiration.getTimeToLive(mockRegionEntry)).isInstanceOf(TimeToLiveExpiration.class); when(mockRegionEntry.getValue()).thenReturn(new RegionEntryValueWithTimeToLiveIdleTimeoutGenericExpiration()); - assertThat(noDefaultExpiration.getTimeToLive(mockRegionEntry), isA(TimeToLiveExpiration.class)); + assertThat(noDefaultExpiration.getTimeToLive(mockRegionEntry)).isInstanceOf(TimeToLiveExpiration.class); verify(mockRegionEntry, times(2)).getValue(); } @Test public void getTimeToLiveWithNoTimeToLiveExpirationRegionEntry() { + Region.Entry mockRegionEntry = mock(Region.Entry.class, "MockRegionEntry"); when(mockRegionEntry.getValue()).thenReturn(new RegionEntryValueWithIdleTimeoutGenericExpiration()); - assertThat(noDefaultExpiration.getTimeToLive(mockRegionEntry), is(nullValue())); + assertThat(noDefaultExpiration.getTimeToLive(mockRegionEntry)).isNull(); when(mockRegionEntry.getValue()).thenReturn(new RegionEntryValueWithNoExpiration()); - assertThat(noDefaultExpiration.getTimeToLive(mockRegionEntry), is(nullValue())); + assertThat(noDefaultExpiration.getTimeToLive(mockRegionEntry)).isNull(); verify(mockRegionEntry, times(2)).getValue(); } @Test public void fromExpiration() { - ExpirationMetaData expirationMetaData = ExpirationMetaData.from( - RegionEntryValueWithGenericExpiration.class.getAnnotation(Expiration.class)); + + ExpirationMetaData expirationMetaData = + ExpirationMetaData.from(RegionEntryValueWithGenericExpiration.class.getAnnotation(Expiration.class)); assertExpiration(expirationMetaData, 60, ExpirationActionType.INVALIDATE); } @Test public void fromExpirationIdleTimeout() { - ExpirationMetaData expirationMetaData = ExpirationMetaData.from( - RegionEntryValueWithIdleTimeoutExpiration.class.getAnnotation(IdleTimeoutExpiration.class)); + + ExpirationMetaData expirationMetaData = + ExpirationMetaData.from(RegionEntryValueWithIdleTimeoutExpiration.class.getAnnotation(IdleTimeoutExpiration.class)); assertExpiration(expirationMetaData, 120, ExpirationActionType.LOCAL_INVALIDATE); } @Test public void fromExpirationTimeToLive() { - ExpirationMetaData expirationMetaData = ExpirationMetaData.from( - RegionEntryValueWithTimeToLiveExpiration.class.getAnnotation(TimeToLiveExpiration.class)); + + ExpirationMetaData expirationMetaData = + ExpirationMetaData.from(RegionEntryValueWithTimeToLiveExpiration.class.getAnnotation(TimeToLiveExpiration.class)); assertExpiration(expirationMetaData, 300, ExpirationActionType.LOCAL_DESTROY); } @Test public void toExpirationAttributes() { + ExpirationMetaData expirationMetaData = new ExpirationMetaData(90, ExpirationActionType.DESTROY); assertExpiration(expirationMetaData.toExpirationAttributes(), expirationMetaData.timeout(), @@ -414,37 +434,29 @@ public class AnnotationBasedExpirationTest { @Expiration(timeout = "60", action = "INVALIDATE") @IdleTimeoutExpiration(timeout = "120", action = "LOCAL_INVALIDATE") @TimeToLiveExpiration(timeout = "300", action = "LOCAL_DESTROY") - public static class RegionEntryValueWithTimeToLiveIdleTimeoutGenericExpiration { - } + public static class RegionEntryValueWithTimeToLiveIdleTimeoutGenericExpiration { } @IdleTimeoutExpiration(timeout = "120", action = "LOCAL_INVALIDATE") @TimeToLiveExpiration(timeout = "300", action = "LOCAL_DESTROY") - public static class RegionEntryValueWithTimeToLiveIdleTimeoutExpiration { - } + public static class RegionEntryValueWithTimeToLiveIdleTimeoutExpiration { } @Expiration(timeout = "60", action = "INVALIDATE") @TimeToLiveExpiration(timeout = "300", action = "LOCAL_DESTROY") - public static class RegionEntryValueWithTimeToLiveGenericExpiration { - } + public static class RegionEntryValueWithTimeToLiveGenericExpiration { } @TimeToLiveExpiration(timeout = "300", action = "LOCAL_DESTROY") - public static class RegionEntryValueWithTimeToLiveExpiration { - } + public static class RegionEntryValueWithTimeToLiveExpiration { } @Expiration(timeout = "60", action = "INVALIDATE") @IdleTimeoutExpiration(timeout = "120", action = "LOCAL_INVALIDATE") - public static class RegionEntryValueWithIdleTimeoutGenericExpiration { - } + public static class RegionEntryValueWithIdleTimeoutGenericExpiration { } @IdleTimeoutExpiration(timeout = "120", action = "LOCAL_INVALIDATE") - public static class RegionEntryValueWithIdleTimeoutExpiration { - } + public static class RegionEntryValueWithIdleTimeoutExpiration { } @Expiration(timeout = "60", action = "INVALIDATE") - public static class RegionEntryValueWithGenericExpiration { - } + public static class RegionEntryValueWithGenericExpiration { } - public static class RegionEntryValueWithNoExpiration { - } + public static class RegionEntryValueWithNoExpiration { } } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/expiration/ExpirationActionTypeTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/expiration/ExpirationActionTypeTest.java deleted file mode 100644 index 3c6b088e..00000000 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/expiration/ExpirationActionTypeTest.java +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Copyright 2016-2021 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -package org.springframework.data.gemfire.expiration; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertSame; - -import org.apache.geode.cache.ExpirationAction; - -import org.junit.Test; - -/** - * The ExpirationActionTypeTest class is a test suite of test cases testing the contract and functionality - * of the ExpirationActionType enum. - * - * @author John Blum - * @see org.junit.Test - * @see ExpirationActionType - * @see org.apache.geode.cache.ExpirationAction - * @since 1.6.0 - */ -public class ExpirationActionTypeTest { - - @Test - public void testStaticGetExpirationAction() { - assertEquals(ExpirationAction.DESTROY, ExpirationActionType.getExpirationAction(ExpirationActionType.DESTROY)); - assertEquals(ExpirationAction.LOCAL_DESTROY, ExpirationActionType.getExpirationAction( - ExpirationActionType.LOCAL_DESTROY)); - } - - @Test - public void testStaticGetExpirationActionWithNull() { - assertNull(ExpirationActionType.getExpirationAction(null)); - } - - @Test - public void testGetExpirationAction() { - assertEquals(ExpirationAction.DESTROY, ExpirationActionType.DESTROY.getExpirationAction()); - assertEquals(ExpirationAction.INVALIDATE, ExpirationActionType.INVALIDATE.getExpirationAction()); - assertEquals(ExpirationAction.LOCAL_DESTROY, ExpirationActionType.LOCAL_DESTROY.getExpirationAction()); - assertEquals(ExpirationAction.LOCAL_INVALIDATE, ExpirationActionType.LOCAL_INVALIDATE.getExpirationAction()); - } - - @Test - public void testDefault() { - assertEquals(ExpirationAction.INVALIDATE, ExpirationActionType.DEFAULT.getExpirationAction()); - assertSame(ExpirationActionType.INVALIDATE, ExpirationActionType.DEFAULT); - } - - @Test - public void testValueOf() { - assertEquals(ExpirationActionType.DESTROY, ExpirationActionType.valueOf(ExpirationAction.DESTROY)); - assertEquals(ExpirationActionType.INVALIDATE, ExpirationActionType.valueOf(ExpirationAction.INVALIDATE)); - assertEquals(ExpirationActionType.LOCAL_DESTROY, ExpirationActionType.valueOf(ExpirationAction.LOCAL_DESTROY)); - assertEquals(ExpirationActionType.LOCAL_INVALIDATE, ExpirationActionType.valueOf(ExpirationAction.LOCAL_INVALIDATE)); - } - - @Test - public void testValueOfExpirationActionOrdinalValues() { - try { - for (int ordinal = 0; ordinal < Integer.MAX_VALUE; ordinal++) { - ExpirationAction expirationAction = ExpirationAction.fromOrdinal(ordinal); - ExpirationActionType expirationActionType = ExpirationActionType.valueOf(expirationAction); - - assertNotNull(expirationActionType); - assertEquals(expirationAction, expirationActionType.getExpirationAction()); - } - } - catch (ArrayIndexOutOfBoundsException ignore) { - } - } - - @Test - public void testValueOfWithNull() { - assertNull(ExpirationActionType.valueOf((ExpirationAction) null)); - } - - @Test - public void testValueOfIgnoreCase() { - assertEquals(ExpirationActionType.DESTROY, ExpirationActionType.valueOfIgnoreCase("destroy")); - assertEquals(ExpirationActionType.INVALIDATE, ExpirationActionType.valueOfIgnoreCase("Invalidate")); - assertEquals(ExpirationActionType.LOCAL_DESTROY, ExpirationActionType.valueOfIgnoreCase("LOCAL_DESTROY")); - assertEquals(ExpirationActionType.LOCAL_INVALIDATE, ExpirationActionType.valueOfIgnoreCase("LocaL_InValidAte")); - } - - @Test - public void testValueOfIgnoreCaseWithInvalidValues() { - assertNull(ExpirationActionType.valueOfIgnoreCase("Invalid")); - assertNull(ExpirationActionType.valueOfIgnoreCase("local destroy")); - assertNull(ExpirationActionType.valueOfIgnoreCase(" ")); - assertNull(ExpirationActionType.valueOfIgnoreCase("")); - assertNull(ExpirationActionType.valueOfIgnoreCase(null)); - } - -} diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/expiration/ExpirationActionTypeUnitTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/expiration/ExpirationActionTypeUnitTests.java new file mode 100644 index 00000000..a850fcfc --- /dev/null +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/expiration/ExpirationActionTypeUnitTests.java @@ -0,0 +1,116 @@ +/* + * Copyright 2016-2021 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.springframework.data.gemfire.expiration; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.Test; + +import org.apache.geode.cache.ExpirationAction; + +/** + * Unit Tests for {@link ExpirationActionType} enum. + * + * @author John Blum + * @see org.junit.Test + * @see ExpirationActionType + * @see org.apache.geode.cache.ExpirationAction + * @since 1.6.0 + */ +public class ExpirationActionTypeUnitTests { + + @Test + public void testStaticGetExpirationAction() { + + assertThat(ExpirationActionType.getExpirationAction(ExpirationActionType.DESTROY)) + .isEqualTo(ExpirationAction.DESTROY); + + assertThat(ExpirationActionType.getExpirationAction( + ExpirationActionType.LOCAL_DESTROY)).isEqualTo(ExpirationAction.LOCAL_DESTROY); + } + + @Test + public void testStaticGetExpirationActionWithNull() { + assertThat(ExpirationActionType.getExpirationAction(null)).isNull(); + } + + @Test + public void testGetExpirationAction() { + + assertThat(ExpirationActionType.DESTROY.getExpirationAction()).isEqualTo(ExpirationAction.DESTROY); + assertThat(ExpirationActionType.INVALIDATE.getExpirationAction()).isEqualTo(ExpirationAction.INVALIDATE); + assertThat(ExpirationActionType.LOCAL_DESTROY.getExpirationAction()).isEqualTo(ExpirationAction.LOCAL_DESTROY); + assertThat(ExpirationActionType.LOCAL_INVALIDATE.getExpirationAction()).isEqualTo(ExpirationAction.LOCAL_INVALIDATE); + } + + @Test + public void testDefault() { + assertThat(ExpirationActionType.DEFAULT.getExpirationAction()).isEqualTo(ExpirationAction.INVALIDATE); + + assertThat(ExpirationActionType.DEFAULT).isSameAs(ExpirationActionType.INVALIDATE); + } + + @Test + public void testValueOf() { + + assertThat(ExpirationActionType.valueOf(ExpirationAction.DESTROY)).isEqualTo(ExpirationActionType.DESTROY); + assertThat(ExpirationActionType.valueOf(ExpirationAction.INVALIDATE)).isEqualTo(ExpirationActionType.INVALIDATE); + assertThat(ExpirationActionType.valueOf(ExpirationAction.LOCAL_DESTROY)).isEqualTo(ExpirationActionType.LOCAL_DESTROY); + assertThat(ExpirationActionType.valueOf(ExpirationAction.LOCAL_INVALIDATE)).isEqualTo(ExpirationActionType.LOCAL_INVALIDATE); + } + + @Test + public void testValueOfExpirationActionOrdinalValues() { + + try { + for (int ordinal = 0; ordinal < Integer.MAX_VALUE; ordinal++) { + + ExpirationAction expirationAction = ExpirationAction.fromOrdinal(ordinal); + ExpirationActionType expirationActionType = ExpirationActionType.valueOf(expirationAction); + + assertThat(expirationActionType).isNotNull(); + assertThat(expirationActionType.getExpirationAction()).isEqualTo(expirationAction); + } + } + catch (ArrayIndexOutOfBoundsException ignore) { + } + } + + @Test + public void testValueOfWithNull() { + assertThat(ExpirationActionType.valueOf((ExpirationAction) null)).isNull(); + } + + @Test + public void testValueOfIgnoreCase() { + + assertThat(ExpirationActionType.valueOfIgnoreCase("destroy")).isEqualTo(ExpirationActionType.DESTROY); + assertThat(ExpirationActionType.valueOfIgnoreCase("Invalidate")).isEqualTo(ExpirationActionType.INVALIDATE); + assertThat(ExpirationActionType.valueOfIgnoreCase("LOCAL_DESTROY")).isEqualTo(ExpirationActionType.LOCAL_DESTROY); + assertThat(ExpirationActionType.valueOfIgnoreCase("LocaL_InValidAte")).isEqualTo(ExpirationActionType.LOCAL_INVALIDATE); + } + + @Test + public void testValueOfIgnoreCaseWithInvalidValues() { + + assertThat(ExpirationActionType.valueOfIgnoreCase("Invalid")).isNull(); + assertThat(ExpirationActionType.valueOfIgnoreCase("local destroy")).isNull(); + assertThat(ExpirationActionType.valueOfIgnoreCase(" ")).isNull(); + assertThat(ExpirationActionType.valueOfIgnoreCase("")).isNull(); + assertThat(ExpirationActionType.valueOfIgnoreCase(null)).isNull(); + } +} diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/expiration/ExpirationAttributesFactoryBeanTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/expiration/ExpirationAttributesFactoryBeanUnitTests.java similarity index 56% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/expiration/ExpirationAttributesFactoryBeanTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/expiration/ExpirationAttributesFactoryBeanUnitTests.java index d4d7d38a..4b46076d 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/expiration/ExpirationAttributesFactoryBeanTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/expiration/ExpirationAttributesFactoryBeanUnitTests.java @@ -14,73 +14,72 @@ * limitations under the License. * */ - package org.springframework.data.gemfire.expiration; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.Test; import org.apache.geode.cache.ExpirationAction; import org.apache.geode.cache.ExpirationAttributes; -import org.junit.Test; - /** - * The ExpirationAttributesFactoryBeanTest class is a test suite of test cases testing the contract and functionality - * of the ExpirationAttributesFactoryBean class. + * Unit Tests for {@link ExpirationAttributesFactoryBean}. * * @author John Blum * @see org.junit.Test - * @see ExpirationAttributesFactoryBean + * @see org.apache.geode.cache.ExpirationAttributes + * @see org.springframework.data.gemfire.expiration.ExpirationAttributesFactoryBean * @since 1.6.0 */ -public class ExpirationAttributesFactoryBeanTest { +public class ExpirationAttributesFactoryBeanUnitTests { @Test public void testIsSingleton() { - assertTrue(new ExpirationAttributesFactoryBean().isSingleton()); + assertThat(new ExpirationAttributesFactoryBean().isSingleton()).isTrue(); } @Test public void testSetAndGetAction() { + ExpirationAttributesFactoryBean expirationAttributesFactoryBean = new ExpirationAttributesFactoryBean(); - assertEquals(ExpirationAttributesFactoryBean.DEFAULT_EXPIRATION_ACTION, - expirationAttributesFactoryBean.getAction()); + assertThat(expirationAttributesFactoryBean.getAction()) + .isEqualTo(ExpirationAttributesFactoryBean.DEFAULT_EXPIRATION_ACTION); expirationAttributesFactoryBean.setAction(ExpirationAction.LOCAL_DESTROY); - assertEquals(ExpirationAction.LOCAL_DESTROY, expirationAttributesFactoryBean.getAction()); + assertThat(expirationAttributesFactoryBean.getAction()).isEqualTo(ExpirationAction.LOCAL_DESTROY); expirationAttributesFactoryBean.setAction(null); - assertEquals(ExpirationAttributesFactoryBean.DEFAULT_EXPIRATION_ACTION, - expirationAttributesFactoryBean.getAction()); + assertThat(expirationAttributesFactoryBean.getAction()) + .isEqualTo(ExpirationAttributesFactoryBean.DEFAULT_EXPIRATION_ACTION); } @Test public void testSetAndGetTimeout() { + ExpirationAttributesFactoryBean expirationAttributesFactoryBean = new ExpirationAttributesFactoryBean(); - assertEquals(0, expirationAttributesFactoryBean.getTimeout()); + assertThat(expirationAttributesFactoryBean.getTimeout()).isEqualTo(0); expirationAttributesFactoryBean.setTimeout(60000); - assertEquals(60000, expirationAttributesFactoryBean.getTimeout()); + assertThat(expirationAttributesFactoryBean.getTimeout()).isEqualTo(60000); expirationAttributesFactoryBean.setTimeout(null); - assertEquals(0, expirationAttributesFactoryBean.getTimeout()); + assertThat(expirationAttributesFactoryBean.getTimeout()).isEqualTo(0); } @Test public void testAfterPropertiesSet() throws Exception { + ExpirationAttributesFactoryBean expirationAttributesFactoryBean = new ExpirationAttributesFactoryBean(); - assertNull(expirationAttributesFactoryBean.getObject()); - assertEquals(ExpirationAttributes.class, expirationAttributesFactoryBean.getObjectType()); + assertThat(expirationAttributesFactoryBean.getObject()).isNull(); + assertThat(expirationAttributesFactoryBean.getObjectType()).isEqualTo(ExpirationAttributes.class); expirationAttributesFactoryBean.setAction(ExpirationAction.DESTROY); expirationAttributesFactoryBean.setTimeout(8192); @@ -88,10 +87,9 @@ public class ExpirationAttributesFactoryBeanTest { ExpirationAttributes expirationAttributes = expirationAttributesFactoryBean.getObject(); - assertNotNull(expirationAttributes); - assertEquals(ExpirationAction.DESTROY, expirationAttributes.getAction()); - assertEquals(8192, expirationAttributes.getTimeout()); - assertEquals(expirationAttributes.getClass(), expirationAttributesFactoryBean.getObjectType()); + assertThat(expirationAttributes).isNotNull(); + assertThat(expirationAttributes.getAction()).isEqualTo(ExpirationAction.DESTROY); + assertThat(expirationAttributes.getTimeout()).isEqualTo(8192); + assertThat(expirationAttributesFactoryBean.getObjectType()).isEqualTo(expirationAttributes.getClass()); } - } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/function/FunctionArgumentResolverTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/function/FunctionArgumentResolverUnitTests.java similarity index 81% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/function/FunctionArgumentResolverTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/function/FunctionArgumentResolverUnitTests.java index 4b34ad29..d804ba45 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/function/FunctionArgumentResolverTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/function/FunctionArgumentResolverUnitTests.java @@ -12,10 +12,7 @@ */ package org.springframework.data.gemfire.function; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertSame; +import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -35,13 +32,18 @@ import org.springframework.data.gemfire.function.annotation.Filter; import org.springframework.data.gemfire.function.annotation.RegionData; /** + * Unit Tests for {@link FunctionArgumentResolver}. + * * @author David Turanski * @author John Blum + * @see org.junit.Test */ -public class FunctionArgumentResolverTest { +@SuppressWarnings("rawtypes") +public class FunctionArgumentResolverUnitTests { @Test public void testDefaultFunctionArgumentResolverWithNoArguments() { + FunctionArgumentResolver functionArgumentResolver = new DefaultFunctionArgumentResolver(); FunctionContext mockFunctionContext = mock(FunctionContext.class); @@ -49,12 +51,13 @@ public class FunctionArgumentResolverTest { Object[] args = functionArgumentResolver.resolveFunctionArguments(mockFunctionContext); - assertNotNull(args); - assertEquals(0, args.length); + assertThat(args).isNotNull(); + assertThat(args.length).isEqualTo(0); } @Test public void testDefaultFunctionArgumentResolverWithArgumentArray() { + FunctionArgumentResolver functionArgumentResolver = new DefaultFunctionArgumentResolver(); FunctionContext functionContext = mock(FunctionContext.class); @@ -62,16 +65,17 @@ public class FunctionArgumentResolverTest { Object[] args = functionArgumentResolver.resolveFunctionArguments(functionContext); - assertNotNull(args); - assertFalse(args instanceof String[]); - assertEquals(3, args.length); - assertEquals("one", args[0]); - assertEquals("two", args[1]); - assertEquals("three", args[2]); + assertThat(args).isNotNull(); + assertThat(args instanceof String[]).isFalse(); + assertThat(args.length).isEqualTo(3); + assertThat(args[0]).isEqualTo("one"); + assertThat(args[1]).isEqualTo("two"); + assertThat(args[2]).isEqualTo("three"); } @Test public void testDefaultFunctionArgumentResolverWithSingleArgument() { + FunctionArgumentResolver functionArgumentResolver = new DefaultFunctionArgumentResolver(); FunctionContext functionContext = mock(FunctionContext.class); @@ -79,13 +83,14 @@ public class FunctionArgumentResolverTest { Object[] args = functionArgumentResolver.resolveFunctionArguments(functionContext); - assertNotNull(args); - assertEquals(1, args.length); - assertEquals("test", args[0]); + assertThat(args).isNotNull(); + assertThat(args.length).isEqualTo(1); + assertThat(args[0]).isEqualTo("test"); } @Test public void testMethodWithNoSpecialArgs() throws SecurityException, NoSuchMethodException { + RegionFunctionContext functionContext = mock(RegionFunctionContext.class); Method method = TestFunction.class.getDeclaredMethod("methodWithNoSpecialArgs", String.class, int.class, @@ -97,18 +102,20 @@ public class FunctionArgumentResolverTest { Object[] args = far.resolveFunctionArguments(functionContext); - assertEquals(originalArgs.length, args.length); + assertThat(args.length).isEqualTo(originalArgs.length); + + int index = 0; - int i = 0; for (Object arg : args) { - assertSame(originalArgs[i++], arg); + assertThat(arg).isSameAs(originalArgs[index++]); } } @Test + @SuppressWarnings("unchecked") public void testMethodWithRegionType() throws SecurityException, NoSuchMethodException { + RegionFunctionContext functionContext = mock(RegionFunctionContext.class); - @SuppressWarnings("unchecked") Region region = mock(Region.class); Method method = TestFunction.class.getDeclaredMethod("methodWithRegionType", String.class, Region.class); @@ -120,22 +127,23 @@ public class FunctionArgumentResolverTest { Object[] args = far.resolveFunctionArguments(functionContext); - assertEquals(originalArgs.length + 1, args.length); + assertThat(args.length).isEqualTo(originalArgs.length + 1); int i = 0; for (Object arg : args) { if (i != 1) { - assertSame(originalArgs[i++], arg); + assertThat(arg).isSameAs(originalArgs[i++]); } else { - assertSame(region, arg); + assertThat(arg).isSameAs(region); } } } @Test + @SuppressWarnings("unchecked") public void testMethodWithOneArgRegionType() throws SecurityException, NoSuchMethodException { + RegionFunctionContext functionContext = mock(RegionFunctionContext.class); - @SuppressWarnings("unchecked") Region region = mock(Region.class); Method method = TestFunction.class.getDeclaredMethod("methodWithOneArgRegionType", Region.class); @@ -147,14 +155,15 @@ public class FunctionArgumentResolverTest { Object[] args = far.resolveFunctionArguments(functionContext); - assertEquals(1, args.length); - assertSame(region, args[0]); + assertThat(args.length).isEqualTo(1); + assertThat(args[0]).isSameAs(region); } @Test + @SuppressWarnings("unchecked") public void testMethodWithAnnotatedRegion() throws SecurityException, NoSuchMethodException { + RegionFunctionContext functionContext = mock(RegionFunctionContext.class); - @SuppressWarnings("unchecked") Region region = mock(Region.class); Method method = TestFunction.class.getDeclaredMethod("methodWithAnnotatedRegion", Region.class, String.class); @@ -166,15 +175,16 @@ public class FunctionArgumentResolverTest { Object[] args = far.resolveFunctionArguments(functionContext); - assertEquals(2, args.length); - assertSame(region, args[0]); - assertSame(originalArgs[0], args[1]); + assertThat(args.length).isEqualTo(2); + assertThat(args[0]).isSameAs(region); + assertThat(args[1]).isSameAs(originalArgs[0]); } @Test + @SuppressWarnings("unchecked") public void testMethodWithFunctionContext() throws SecurityException, NoSuchMethodException { + RegionFunctionContext functionContext = mock(RegionFunctionContext.class); - @SuppressWarnings("unchecked") Region region = mock(Region.class); Method method = TestFunction.class.getDeclaredMethod("methodWithFunctionContext", Map.class, String.class, @@ -187,15 +197,16 @@ public class FunctionArgumentResolverTest { Object[] args = far.resolveFunctionArguments(functionContext); - assertEquals(3, args.length); - assertSame(region, args[0]); - assertSame(originalArgs[0], args[1]); - assertSame(functionContext, args[2]); + assertThat(args.length).isEqualTo(3); + assertThat(args[0]).isSameAs(region); + assertThat(args[1]).isSameAs(originalArgs[0]); + assertThat(args[2]).isSameAs(functionContext); } @SuppressWarnings({"unchecked", "rawtypes"}) @Test public void testMethodWithResultSender() throws SecurityException, NoSuchMethodException { + RegionFunctionContext functionContext = mock(RegionFunctionContext.class); ResultSender resultSender = mock(ResultSender.class); Region region = mock(Region.class); @@ -210,15 +221,16 @@ public class FunctionArgumentResolverTest { Object[] args = far.resolveFunctionArguments(functionContext); - assertEquals(2, args.length); - assertSame(region, args[0]); - assertSame(resultSender, args[1]); + assertThat(args.length).isEqualTo(2); + assertThat(args[0]).isSameAs(region); + assertThat(args[1]).isSameAs(resultSender); } @SuppressWarnings("unchecked") @Test public void testMethodWithFilterAndRegion() throws SecurityException, NoSuchMethodException { + RegionFunctionContext functionContext = mock(RegionFunctionContext.class); Region region = mock(Region.class); @@ -235,40 +247,48 @@ public class FunctionArgumentResolverTest { Object[] args = far.resolveFunctionArguments(functionContext); - assertEquals(3, args.length); - assertSame(region, args[0]); - assertSame(originalArgs[0], args[2]); - assertSame(keys, args[1]); + assertThat(args.length).isEqualTo(3); + assertThat(args[0]).isSameAs(region); + assertThat(args[2]).isSameAs(originalArgs[0]); + assertThat(args[1]).isSameAs(keys); } @Test(expected = IllegalStateException.class) public void testMethodWithMultipleRegionData() throws SecurityException, NoSuchMethodException { + Method method = TestFunction.class.getDeclaredMethod("methodWithMultipleRegionData", Map.class, Map.class); + new FunctionContextInjectingArgumentResolver(method); } @Test(expected = IllegalArgumentException.class) public void testMethodWithMultipleRegions() throws SecurityException, NoSuchMethodException { + Method method = TestFunction.class.getDeclaredMethod("methodWithMultipleRegions", Region.class, Map.class); + new FunctionContextInjectingArgumentResolver(method); } @Test(expected = IllegalArgumentException.class) public void testMethodWithInvalidTypeForAnnotation() throws SecurityException, NoSuchMethodException { + Method method = TestFunction.class.getDeclaredMethod("methodWithInvalidTypeForAnnotation", Region.class); + new FunctionContextInjectingArgumentResolver(method); } @Test(expected = IllegalStateException.class) public void testMethodWithMultipleFunctionContext() throws SecurityException, NoSuchMethodException { + Method method = TestFunction.class.getDeclaredMethod("methodWithMultipleFunctionContext", FunctionContext.class, FunctionContext.class); + new FunctionContextInjectingArgumentResolver(method); } @Test - @SuppressWarnings("unchecked") public void testMethodWithFunctionContextAndResultSender() throws NoSuchMethodException { + FunctionContext functionContext = mock(FunctionContext.class); ResultSender resultSender = mock(ResultSender.class); Method method = TestFunction.class.getDeclaredMethod("methodWithFunctionContextAndResultSender", @@ -282,51 +302,37 @@ public class FunctionArgumentResolverTest { Object[] args = far.resolveFunctionArguments(functionContext); - assertEquals(2, args.length); - assertSame(functionContext, args[0]); - assertSame(resultSender, args[1]); + assertThat(args.length).isEqualTo(2); + assertThat(args[0]).isSameAs(functionContext); + assertThat(args[1]).isSameAs(resultSender); } @SuppressWarnings("unused") static class TestFunction { - public void methodWithNoSpecialArgs(String s1, int i1, boolean b1) { - } + public void methodWithNoSpecialArgs(String s1, int i1, boolean b1) { } - public void methodWithRegionType(String s1, Region region) { - } + public void methodWithRegionType(String s1, Region region) { } - public void methodWithOneArgRegionType(Region region) { - } + public void methodWithOneArgRegionType(Region region) { } - public void methodWithAnnotatedRegion(@RegionData Region data, String s1) { - } + public void methodWithAnnotatedRegion(@RegionData Region data, String s1) { } - public void methodWithFunctionContext(@RegionData Map data, String s1, FunctionContext fc) { - } + public void methodWithFunctionContext(@RegionData Map data, String s1, FunctionContext fc) { } - public void methodWithResultSender(@RegionData Map data, ResultSender resultSender) { - } + public void methodWithResultSender(@RegionData Map data, ResultSender resultSender) { } - public void methodWithFilterAndRegion(@RegionData Map region, @Filter Set keys, Object arg) { - } + public void methodWithFilterAndRegion(@RegionData Map region, @Filter Set keys, Object arg) { } //Invalid Method Signatures - public void methodWithMultipleRegionData(@RegionData Map r1, @RegionData Map r2) { - } + public void methodWithMultipleRegionData(@RegionData Map r1, @RegionData Map r2) { } - public void methodWithMultipleRegions(Region r1, @RegionData Map r2) { - } + public void methodWithMultipleRegions(Region r1, @RegionData Map r2) { } - public void methodWithInvalidTypeForAnnotation(@Filter Region r1) { - } + public void methodWithInvalidTypeForAnnotation(@Filter Region r1) { } - public void methodWithMultipleFunctionContext(FunctionContext fc1, FunctionContext fc2) { - } + public void methodWithMultipleFunctionContext(FunctionContext fc1, FunctionContext fc2) { } - public void methodWithFunctionContextAndResultSender(FunctionContext fc1, ResultSender rs) { - - } + public void methodWithFunctionContextAndResultSender(FunctionContext fc1, ResultSender rs) { } } - } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/function/PdxFunctionArgumentResolverTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/function/PdxFunctionArgumentResolverUnitTests.java similarity index 88% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/function/PdxFunctionArgumentResolverTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/function/PdxFunctionArgumentResolverUnitTests.java index 13e97358..c30e5859 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/function/PdxFunctionArgumentResolverTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/function/PdxFunctionArgumentResolverUnitTests.java @@ -15,9 +15,7 @@ */ package org.springframework.data.gemfire.function; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNotSame; +import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import static org.springframework.data.gemfire.util.RuntimeExceptionFactory.newRuntimeException; @@ -46,22 +44,21 @@ import org.springframework.util.Assert; import org.springframework.util.ObjectUtils; /** - * The PdxFunctionArgumentResolverTest class is a test suite of test cases testing the contract and functionality - * of the PdxFunctionArgumentResolver class. + * Unit Tests for {@link PdxFunctionArgumentResolver}. * * @author John Blum * @see org.junit.Test * @see org.mockito.Mockito - * @see org.springframework.data.gemfire.function.PdxFunctionArgumentResolver * @see org.apache.geode.cache.Cache * @see org.apache.geode.cache.execute.FunctionContext * @see org.apache.geode.pdx.PdxInstance * @see org.apache.geode.pdx.PdxSerializer * @see org.apache.geode.pdx.internal.PdxInstanceEnum + * @see org.springframework.data.gemfire.function.PdxFunctionArgumentResolver * @since 1.5.2 */ @SuppressWarnings("rawtypes") -public class PdxFunctionArgumentResolverTest { +public class PdxFunctionArgumentResolverUnitTests { private static Cache gemfireCache; @@ -73,7 +70,7 @@ public class PdxFunctionArgumentResolverTest { gemfireCache = new CacheFactory() .setPdxSerializer(new PersonPdxSerializer()) .setPdxReadSerialized(true) - .set("name", PdxFunctionArgumentResolverTest.class.getSimpleName()) + .set("name", PdxFunctionArgumentResolverUnitTests.class.getSimpleName()) .set("log-level", "error") .create(); } @@ -84,7 +81,7 @@ public class PdxFunctionArgumentResolverTest { gemfireCache = null; } - protected Method getMethod(Class type, String methodName, Class... parameterTypes) { + private Method getMethod(Class type, String methodName, Class... parameterTypes) { try { return type.getDeclaredMethod(methodName, parameterTypes); @@ -95,7 +92,7 @@ public class PdxFunctionArgumentResolverTest { } } - protected Object getMethodSignature(final String methodName, final Class... parameterTypes) { + private Object getMethodSignature(final String methodName, final Class... parameterTypes) { StringBuilder methodSignature = new StringBuilder(methodName); @@ -112,22 +109,22 @@ public class PdxFunctionArgumentResolverTest { return methodSignature.toString(); } - protected void assertArguments(final Object[] expectedArguments, final Object[] actualArguments) { + private void assertArguments(final Object[] expectedArguments, final Object[] actualArguments) { - assertNotNull(actualArguments); - assertNotSame(expectedArguments, actualArguments); - assertEquals(expectedArguments.length, actualArguments.length); + assertThat(actualArguments).isNotNull(); + assertThat(actualArguments).isNotSameAs(expectedArguments); + assertThat(actualArguments.length).isEqualTo(expectedArguments.length); for (int index = 0; index < expectedArguments.length; index++) { - assertEquals(expectedArguments[index], actualArguments[index]); + assertThat(actualArguments[index]).isEqualTo(expectedArguments[index]); } } - protected Person createPerson(final String firstName, final String lastName, final Gender gender) { + private Person createPerson(final String firstName, final String lastName, final Gender gender) { return new Person(firstName, lastName, gender); } - protected PdxInstance toPdxInstance(final Person person) { + private PdxInstance toPdxInstance(final Person person) { PdxInstanceFactory pdxInstanceFactory = gemfireCache.createPdxInstanceFactory(person.getClass().getName()); @@ -138,7 +135,7 @@ public class PdxFunctionArgumentResolverTest { return pdxInstanceFactory.create(); } - protected PdxInstance toPdxInstance(final Map objectData) { + private PdxInstance toPdxInstance(final Map objectData) { PdxInstanceFactory pdxInstanceFactory = gemfireCache.createPdxInstanceFactory(objectData.get("@type").toString()); @@ -151,7 +148,7 @@ public class PdxFunctionArgumentResolverTest { return pdxInstanceFactory.create(); } - protected PdxInstance toPdxInstance(Enum enumeratedType) { + private PdxInstance toPdxInstance(Enum enumeratedType) { return PdxInstanceFactoryImpl.createPdxEnum(enumeratedType.getClass().getName(), enumeratedType.name(), enumeratedType.ordinal(), (GemFireCacheImpl) gemfireCache); @@ -161,7 +158,9 @@ public class PdxFunctionArgumentResolverTest { public void testResolveSimpleFunctionArguments() { functionArgumentResolver = new PdxFunctionArgumentResolver() { - @Override public Method getFunctionAnnotatedMethod() { + + @Override + public Method getFunctionAnnotatedMethod() { return getMethod(FunctionExecutions.class, "simpleMethod", Boolean.class, Character.class, Integer.class, Double.class, String.class); } @@ -180,8 +179,11 @@ public class PdxFunctionArgumentResolverTest { @Test public void testResolveNonSerializedApplicationDomainTypeFunctionArguments() { + functionArgumentResolver = new PdxFunctionArgumentResolver() { - @Override public Method getFunctionAnnotatedMethod() { + + @Override + public Method getFunctionAnnotatedMethod() { return getMethod(FunctionExecutions.class, "nonSerializedMethod", Boolean.class, Person.class, Character.class, Person.class, Integer.class, Double.class, Gender.class, String.class); } @@ -201,8 +203,11 @@ public class PdxFunctionArgumentResolverTest { @Test public void testResolveSerializedApplicationDomainTypeFunctionArguments() { + functionArgumentResolver = new PdxFunctionArgumentResolver() { - @Override public Method getFunctionAnnotatedMethod() { + + @Override + public Method getFunctionAnnotatedMethod() { return getMethod(FunctionExecutions.class, "serializedMethod", Boolean.class, Person.class, String.class, Gender.class); } @@ -224,8 +229,11 @@ public class PdxFunctionArgumentResolverTest { @Test public void testResolveUnnecessaryDeserializationFunctionArguments() { + functionArgumentResolver = new PdxFunctionArgumentResolver() { - @Override public Method getFunctionAnnotatedMethod() { + + @Override + public Method getFunctionAnnotatedMethod() { return getMethod(FunctionExecutions.class, "unnecessaryDeserializationMethod", Boolean.class, Object.class, String.class, PdxInstanceEnum.class); } @@ -246,8 +254,11 @@ public class PdxFunctionArgumentResolverTest { @Test public void testResolveUnresolvableApplicationDomainTypeFunctionArguments() { + functionArgumentResolver = new PdxFunctionArgumentResolver() { - @Override public Method getFunctionAnnotatedMethod() { + + @Override + public Method getFunctionAnnotatedMethod() { return getMethod(FunctionExecutions.class, "unresolvableMethod", String.class, Object.class); } }; @@ -299,9 +310,11 @@ public class PdxFunctionArgumentResolverTest { private final String lastName; public Person(final String firstName, final String lastName, final Gender gender) { + Assert.hasText(firstName, "The person's first name must be specified!"); Assert.hasText(lastName, "The person's last name must be specified!"); Assert.notNull(gender, "The person's gender must be specified!"); + this.firstName = firstName; this.lastName = lastName; this.gender = gender; diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/function/config/AnnotationDrivenFunctionsTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/function/config/AnnotationDrivenFunctionsIntegrationTests.java similarity index 60% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/function/config/AnnotationDrivenFunctionsTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/function/config/AnnotationDrivenFunctionsIntegrationTests.java index b5b9083e..75088295 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/function/config/AnnotationDrivenFunctionsTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/function/config/AnnotationDrivenFunctionsIntegrationTests.java @@ -12,72 +12,80 @@ */ package org.springframework.data.gemfire.function.config; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; +import static org.assertj.core.api.Assertions.assertThat; import java.util.List; import java.util.Map; import java.util.Set; -import org.apache.geode.cache.execute.Function; -import org.apache.geode.cache.execute.FunctionService; - import org.junit.Test; import org.junit.runner.RunWith; +import org.apache.geode.cache.execute.Function; +import org.apache.geode.cache.execute.FunctionService; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.data.gemfire.function.annotation.Filter; import org.springframework.data.gemfire.function.annotation.GemfireFunction; import org.springframework.data.gemfire.function.annotation.RegionData; +import org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport; import org.springframework.stereotype.Component; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit4.SpringRunner; /** * @author David Turanski - * + * @author John Blum + * @see org.junit.Test + * @see org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport */ -@RunWith(SpringJUnit4ClassRunner.class) +@RunWith(SpringRunner.class) @ContextConfiguration -public class AnnotationDrivenFunctionsTest { +@SuppressWarnings("unused") +public class AnnotationDrivenFunctionsIntegrationTests extends IntegrationTestsSupport { + @Autowired - ApplicationContext applicationContext; + private ApplicationContext applicationContext; @Test public void testAnnotatedFunctions() { - assertTrue(FunctionService.isRegistered("foo")); + assertThat(FunctionService.isRegistered("foo")).isTrue(); - Function function = FunctionService.getFunction("foo"); - assertFalse(function.isHA()); - assertFalse(function.optimizeForWrite()); - assertFalse(function.hasResult()); + Function function = FunctionService.getFunction("foo"); + + assertThat(function.isHA()).isFalse(); + assertThat(function.optimizeForWrite()).isFalse(); + assertThat(function.hasResult()).isFalse(); + assertThat(FunctionService.isRegistered("bar")).isTrue(); - assertTrue(FunctionService.isRegistered("bar")); function = FunctionService.getFunction("bar"); - assertTrue(function.isHA()); - assertFalse(function.optimizeForWrite()); - assertTrue(function.hasResult()); - assertTrue(FunctionService.isRegistered("foo2")); + assertThat(function.isHA()).isTrue(); + assertThat(function.optimizeForWrite()).isFalse(); + assertThat(function.hasResult()).isTrue(); + assertThat(FunctionService.isRegistered("foo2")).isTrue(); + function = FunctionService.getFunction("foo2"); - assertTrue(function.isHA()); - assertTrue(function.optimizeForWrite()); - assertTrue(function.hasResult()); - assertTrue(FunctionService.isRegistered("injectFilter")); + assertThat(function.isHA()).isTrue(); + assertThat(function.optimizeForWrite()).isTrue(); + assertThat(function.hasResult()).isTrue(); + assertThat(FunctionService.isRegistered("injectFilter")).isTrue(); + function = FunctionService.getFunction("injectFilter"); - assertTrue(function.isHA()); - assertTrue(function.optimizeForWrite()); - assertTrue(function.hasResult()); + + assertThat(function.isHA()).isTrue(); + assertThat(function.optimizeForWrite()).isTrue(); + assertThat(function.hasResult()).isTrue(); } @Component public static class FooFunction { + @GemfireFunction - public void foo() { - } + public void foo() { } @GemfireFunction(HA = true, optimizeForWrite = false) public String bar() { @@ -87,6 +95,7 @@ public class AnnotationDrivenFunctionsTest { @Component public static class Foo2Function { + @GemfireFunction(id = "foo2", HA = true, optimizeForWrite = true) public List foo(Object someVal, @RegionData Map region, Object someOtherValue) { return null; @@ -97,5 +106,4 @@ public class AnnotationDrivenFunctionsTest { return null; } } - } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/function/config/FunctionExecutionClientCacheTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/function/config/FunctionExecutionClientCacheIntegrationTests.java similarity index 67% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/function/config/FunctionExecutionClientCacheTests.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/function/config/FunctionExecutionClientCacheIntegrationTests.java index a7d6eea4..29ef0bf2 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/function/config/FunctionExecutionClientCacheTests.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/function/config/FunctionExecutionClientCacheIntegrationTests.java @@ -12,23 +12,22 @@ */ package org.springframework.data.gemfire.function.config; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; +import static org.assertj.core.api.Assertions.assertThat; import java.util.concurrent.TimeUnit; +import org.junit.Test; +import org.junit.runner.RunWith; + import org.apache.geode.cache.Region; import org.apache.geode.cache.client.ClientCache; import org.apache.geode.cache.client.Pool; +import org.apache.geode.cache.execute.Execution; +import org.apache.geode.cache.execute.Function; import org.apache.geode.cache.execute.FunctionException; import org.apache.geode.cache.execute.ResultCollector; import org.apache.geode.distributed.DistributedMember; -import org.junit.Test; -import org.junit.runner.RunWith; - import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; @@ -40,12 +39,21 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringRunner; /** + * Integration Tests for {@link Function} {@link Execution} on {@link ClientCache}. + * * @author David Turanski * @author John Blum + * @see org.junit.Test + * @see org.apache.geode.cache.client.ClientCache + * @see org.apache.geode.cache.execute.Execution + * @see org.apache.geode.cache.execute.Function + * @see org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport + * @see org.springframework.test.context.ContextConfiguration + * @see org.springframework.test.context.junit4.SpringRunner */ @RunWith(SpringRunner.class) @ContextConfiguration(classes = ClientCacheTestConfiguration.class) -public class FunctionExecutionClientCacheTests extends IntegrationTestsSupport { +public class FunctionExecutionClientCacheIntegrationTests extends IntegrationTestsSupport { @Autowired ApplicationContext applicationContext; @@ -57,22 +65,22 @@ public class FunctionExecutionClientCacheTests extends IntegrationTestsSupport { Pool pool = this.applicationContext.getBean("gemfirePool", Pool.class); - assertEquals("gemfirePool", pool.getName()); - assertTrue(cache.getDefaultPool().getLocators().isEmpty()); - assertEquals(1, cache.getDefaultPool().getServers().size()); - assertTrue(pool.getLocators().isEmpty()); - assertEquals(1, pool.getServers().size()); - assertEquals(pool.getServers().get(0), cache.getDefaultPool().getServers().get(0)); + assertThat(pool.getName()).isEqualTo("gemfirePool"); + assertThat(cache.getDefaultPool().getLocators().isEmpty()).isTrue(); + assertThat(cache.getDefaultPool().getServers().size()).isEqualTo(1); + assertThat(pool.getLocators().isEmpty()).isTrue(); + assertThat(pool.getServers().size()).isEqualTo(1); + assertThat(cache.getDefaultPool().getServers().get(0)).isEqualTo(pool.getServers().get(0)); - Region region = this.applicationContext.getBean("r1", Region.class); + Region region = this.applicationContext.getBean("r1", Region.class); - assertEquals("r1", region.getName()); - assertNotNull(region.getAttributes()); - assertNull(region.getAttributes().getPoolName()); + assertThat(region.getName()).isEqualTo("r1"); + assertThat(region.getAttributes()).isNotNull(); + assertThat(region.getAttributes().getPoolName()).isNull(); GemfireOnServerFunctionTemplate template = this.applicationContext.getBean(GemfireOnServerFunctionTemplate.class); - assertTrue(template.getResultCollector() instanceof MyResultCollector); + assertThat(template.getResultCollector() instanceof MyResultCollector).isTrue(); } } @@ -106,7 +114,7 @@ class MyResultCollector implements ResultCollector { } @Override - public Object getResult(long arg0, TimeUnit arg1) throws FunctionException, InterruptedException { + public Object getResult(long arg0, TimeUnit arg1) throws FunctionException { return null; } } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/function/config/FunctionExecutionComponentProviderTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/function/config/FunctionExecutionComponentProviderUnitTests.java similarity index 64% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/function/config/FunctionExecutionComponentProviderTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/function/config/FunctionExecutionComponentProviderUnitTests.java index 7ea65538..a18ceba5 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/function/config/FunctionExecutionComponentProviderTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/function/config/FunctionExecutionComponentProviderUnitTests.java @@ -12,8 +12,8 @@ */ package org.springframework.data.gemfire.function.config; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.fail; +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.fail; import java.util.ArrayList; import java.util.List; @@ -28,41 +28,50 @@ import org.springframework.core.type.filter.TypeFilter; import org.springframework.data.gemfire.function.config.one.TestFunctionExecution; /** - * @author David Turanski + * Unit Tests for {@link FunctionExecutionComponentProvider}. * + * @author David Turanski + * @author John Blum + * @see org.junit.Test + * @see org.springframework.data.gemfire.function.config.FunctionExecutionComponentProvider */ -public class FunctionExecutionComponentProviderTest { +public class FunctionExecutionComponentProviderUnitTests { @Test - public void testDiscovery() throws ClassNotFoundException { - List includeFilters = new ArrayList(); + public void testDiscovery() { + + List includeFilters = new ArrayList<>(); + FunctionExecutionComponentProvider provider = new FunctionExecutionComponentProvider(includeFilters, AnnotationFunctionExecutionConfigurationSource.getFunctionExecutionAnnotationTypes()); - Set candidates = provider.findCandidateComponents(this.getClass().getPackage().getName() - + ".one"); - ScannedGenericBeanDefinition bd = null; + Set candidates = + provider.findCandidateComponents(this.getClass().getPackage().getName() + ".one"); + + ScannedGenericBeanDefinition beanDefinition = null; for (BeanDefinition candidate : candidates) { if (candidate.getBeanClassName().equals(TestFunctionExecution.class.getName())) { - bd = (ScannedGenericBeanDefinition) candidate; + beanDefinition = (ScannedGenericBeanDefinition) candidate; } } - assertNotNull(bd); - + assertThat(beanDefinition).isNotNull(); } @Test - public void testExcludeFilter() throws ClassNotFoundException { - List includeFilters = new ArrayList(); - FunctionExecutionComponentProvider provider = new FunctionExecutionComponentProvider(includeFilters, + public void testExcludeFilter() { + + List includeFilters = new ArrayList<>(); + + FunctionExecutionComponentProvider provider = + new FunctionExecutionComponentProvider(includeFilters, AnnotationFunctionExecutionConfigurationSource.getFunctionExecutionAnnotationTypes()); provider.addExcludeFilter(new AssignableTypeFilter(TestFunctionExecution.class)); - Set candidates = provider.findCandidateComponents(this.getClass().getPackage().getName() - + ".one"); + Set candidates = + provider.findCandidateComponents(this.getClass().getPackage().getName() + ".one"); for (BeanDefinition candidate : candidates) { if (candidate.getBeanClassName().equals(TestFunctionExecution.class.getName())) { @@ -70,5 +79,4 @@ public class FunctionExecutionComponentProviderTest { } } } - } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/function/execution/AbstractFunctionTemplateTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/function/execution/AbstractFunctionTemplateUnitTests.java similarity index 88% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/function/execution/AbstractFunctionTemplateTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/function/execution/AbstractFunctionTemplateUnitTests.java index 8ed37d17..9bb4cae1 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/function/execution/AbstractFunctionTemplateTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/function/execution/AbstractFunctionTemplateUnitTests.java @@ -15,10 +15,7 @@ */ package org.springframework.data.gemfire.function.execution; -import static org.hamcrest.CoreMatchers.equalTo; -import static org.hamcrest.CoreMatchers.is; -import static org.hamcrest.CoreMatchers.notNullValue; -import static org.junit.Assert.assertThat; +import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @@ -50,13 +47,13 @@ import org.apache.geode.cache.execute.ResultCollector; */ @RunWith(MockitoJUnitRunner.class) @SuppressWarnings("rawtypes") -public class AbstractFunctionTemplateTest { +public class AbstractFunctionTemplateUnitTests { @Mock private AbstractFunctionExecution mockFunctionExecution; @Mock - Function mockFunction; + private Function mockFunction; @Mock private ResultCollector mockResultCollector; @@ -65,6 +62,7 @@ public class AbstractFunctionTemplateTest { public void executeWithFunctionAndArgs() { Object[] args = { "test", "testing", "tested" }; + List results = Arrays.asList(args); when(mockFunctionExecution.setArguments(args)).thenReturn(mockFunctionExecution); @@ -86,9 +84,9 @@ public class AbstractFunctionTemplateTest { Iterable actualResults = functionTemplate.execute(mockFunction, args); - assertThat(functionTemplate.getResultCollector(), is(equalTo(mockResultCollector))); - assertThat(actualResults, is(notNullValue())); - assertThat(actualResults, is(equalTo((results)))); + assertThat(functionTemplate.getResultCollector()).isEqualTo(mockResultCollector); + assertThat(actualResults).isNotNull(); + assertThat(actualResults).isEqualTo((results)); verify(mockFunctionExecution, times(1)).setArguments(args); verify(mockFunctionExecution, times(1)).setFunction(mockFunction); @@ -121,9 +119,9 @@ public class AbstractFunctionTemplateTest { String result = functionTemplate.executeAndExtract(mockFunction, args); - assertThat(functionTemplate.getResultCollector(), is(equalTo(mockResultCollector))); - assertThat(result, is(notNullValue())); - assertThat(result, is(equalTo("test"))); + assertThat(functionTemplate.getResultCollector()).isEqualTo(mockResultCollector); + assertThat(result).isNotNull(); + assertThat(result).isEqualTo("test"); verify(mockFunctionExecution, times(1)).setArguments(args); verify(mockFunctionExecution, times(1)).setFunction(mockFunction); @@ -157,9 +155,9 @@ public class AbstractFunctionTemplateTest { Iterable actualResults = functionTemplate.execute("TestFunction", args); - assertThat(functionTemplate.getResultCollector(), is(equalTo(mockResultCollector))); - assertThat(actualResults, is(notNullValue())); - assertThat(actualResults, is(equalTo(results))); + assertThat(functionTemplate.getResultCollector()).isEqualTo(mockResultCollector); + assertThat(actualResults).isNotNull(); + assertThat(actualResults).isEqualTo(results); verify(mockFunctionExecution, times(1)).setArguments(args); verify(mockFunctionExecution, times(1)).setFunctionId("TestFunction"); @@ -192,9 +190,9 @@ public class AbstractFunctionTemplateTest { String result = functionTemplate.executeAndExtract("TestFunction", args); - assertThat(functionTemplate.getResultCollector(), is(equalTo(mockResultCollector))); - assertThat(result, is(notNullValue())); - assertThat(result, is(equalTo("test"))); + assertThat(functionTemplate.getResultCollector()).isEqualTo(mockResultCollector); + assertThat(result).isNotNull(); + assertThat(result).isEqualTo("test"); verify(mockFunctionExecution, times(1)).setArguments(args); verify(mockFunctionExecution, times(1)).setFunctionId("TestFunction"); @@ -227,7 +225,7 @@ public class AbstractFunctionTemplateTest { functionTemplate.executeWithNoResult("TestFunction", args); - assertThat(functionTemplate.getResultCollector(), is(equalTo(mockResultCollector))); + assertThat(functionTemplate.getResultCollector()).isEqualTo(mockResultCollector); verify(mockFunctionExecution, times(1)).setArguments(args); verify(mockFunctionExecution, times(1)).setFunctionId("TestFunction"); diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/function/execution/FunctionIntegrationTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/function/execution/FunctionIntegrationTests.java index f109b46e..1fd2e848 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/function/execution/FunctionIntegrationTests.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/function/execution/FunctionIntegrationTests.java @@ -12,9 +12,7 @@ */ package org.springframework.data.gemfire.function.execution; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; +import static org.assertj.core.api.Assertions.assertThat; import java.util.Arrays; import java.util.Collections; @@ -92,27 +90,27 @@ public class FunctionIntegrationTests extends ForkingClientServerIntegrationTest Object result = template.executeAndExtract("getMapWithNoArgs"); - assertTrue(result.getClass().getName(), result instanceof Map); + assertThat(result instanceof Map).as(result.getClass().getName()).isTrue(); Map map = (Map) result; - assertEquals(1, map.get("one").intValue()); - assertEquals(2, map.get("two").intValue()); - assertEquals(3, map.get("three").intValue()); + assertThat(map.get("one").intValue()).isEqualTo(1); + assertThat(map.get("two").intValue()).isEqualTo(2); + assertThat(map.get("three").intValue()).isEqualTo(3); result = template.executeAndExtract("collections", Arrays.asList(1, 2, 3, 4, 5)); - assertTrue(result.getClass().getName(), result instanceof List); + assertThat(result instanceof List).as(result.getClass().getName()).isTrue(); List list = (List) result; - assertFalse(list.isEmpty()); - assertEquals(5, list.size()); + assertThat(list.isEmpty()).isFalse(); + assertThat(list.size()).isEqualTo(5); int expectedNumber = 1; for (Object actualNumber : list) { - assertEquals(expectedNumber++, actualNumber); + assertThat(actualNumber).isEqualTo(expectedNumber++); } } @@ -123,8 +121,8 @@ public class FunctionIntegrationTests extends ForkingClientServerIntegrationTest Object result = new GemfireOnRegionFunctionTemplate(this.region) .executeAndExtract("arrays", new int[] { 1, 2, 3, 4, 5 }); - assertTrue(result.getClass().getName(), result instanceof int[]); - assertEquals(5, ((int[]) result).length); + assertThat(result instanceof int[]).as(result.getClass().getName()).isTrue(); + assertThat(((int[]) result).length).isEqualTo(5); } @Test @@ -133,10 +131,11 @@ public class FunctionIntegrationTests extends ForkingClientServerIntegrationTest GemfireOnRegionOperations template = new GemfireOnRegionFunctionTemplate(this.region); - assertEquals(2, template.execute("oneArg", "two").iterator().next().intValue()); - assertFalse(template.execute("oneArg", Collections.singleton("one"), "two").iterator().hasNext()); - assertEquals(5, template.execute("twoArg", "two", "three").iterator().next().intValue()); - assertEquals(5, template.executeAndExtract("twoArg", "two", "three").intValue()); + assertThat(template.execute("oneArg", "two").iterator().next().intValue()).isEqualTo(2); + assertThat(template.execute("oneArg", Collections.singleton("one"), "two").iterator().hasNext()) + .isFalse(); + assertThat(template.execute("twoArg", "two", "three").iterator().next().intValue()).isEqualTo(5); + assertThat(template.executeAndExtract("twoArg", "two", "three").intValue()).isEqualTo(5); } /** diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/listener/adapter/QueryListenerAdapterTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/listener/adapter/QueryListenerAdapterUnitTests.java similarity index 90% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/listener/adapter/QueryListenerAdapterTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/listener/adapter/QueryListenerAdapterUnitTests.java index 580994a1..e9ef81bc 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/listener/adapter/QueryListenerAdapterTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/listener/adapter/QueryListenerAdapterUnitTests.java @@ -13,33 +13,34 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.springframework.data.gemfire.listener.adapter; -import static org.hamcrest.CoreMatchers.is; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertThat; -import static org.mockito.Matchers.eq; -import static org.mockito.Matchers.same; +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.ArgumentMatchers.same; import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; +import org.junit.Before; +import org.junit.Test; + import org.apache.geode.cache.Operation; import org.apache.geode.cache.query.CqEvent; import org.apache.geode.cache.query.CqQuery; -import org.junit.Before; -import org.junit.Test; - import org.springframework.data.gemfire.listener.ContinuousQueryListener; /** + * Unit Tests for {@link ContinuousQueryListenerAdapter}. + * * @author Costin Leau * @author Oliver Gierke + * @author John Blum + * @see org.junit.Test + * @see org.springframework.data.gemfire.listener.adapter.ContinuousQueryListenerAdapter */ -public class QueryListenerAdapterTest { +public class QueryListenerAdapterUnitTests { private ContinuousQueryListenerAdapter adapter; @@ -88,6 +89,7 @@ public class QueryListenerAdapterTest { }; } + @SuppressWarnings("unused") interface Delegate { void handleEvent(CqEvent event); @@ -114,12 +116,13 @@ public class QueryListenerAdapterTest { @Test public void testThatWhenNoDelegateIsSuppliedTheDelegateIsAssumedToBeTheListenerAdapterItself() { - assertSame(adapter, adapter.getDelegate()); + assertThat(adapter.getDelegate()).isSameAs(adapter); } @Test public void testThatTheDefaultHandlingMethodNameIsTheConstantDefault() { - assertEquals(ContinuousQueryListenerAdapter.DEFAULT_LISTENER_METHOD_NAME, adapter.getDefaultListenerMethod()); + assertThat(adapter.getDefaultListenerMethod()) + .isEqualTo(ContinuousQueryListenerAdapter.DEFAULT_LISTENER_METHOD_NAME); } @Test @@ -270,10 +273,10 @@ public class QueryListenerAdapterTest { }; listenerAdapter.onEvent(event()); - assertThat(listener.count, is(1)); + assertThat(listener.count).isEqualTo(1); } - class SampleListener implements ContinuousQueryListener { + static class SampleListener implements ContinuousQueryListener { int count; diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/query/DefaultGemfireEntityInformationTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/query/DefaultGemfireEntityInformationUnitTests.java similarity index 78% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/query/DefaultGemfireEntityInformationTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/query/DefaultGemfireEntityInformationUnitTests.java index 4bed8f16..bb4039d6 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/query/DefaultGemfireEntityInformationTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/query/DefaultGemfireEntityInformationUnitTests.java @@ -13,13 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.springframework.data.gemfire.repository.query; import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; import java.io.Serializable; @@ -33,14 +29,14 @@ import org.springframework.data.gemfire.repository.sample.Algorithm; import org.springframework.data.gemfire.repository.sample.Animal; /** - * Unit tests for {@link DefaultGemfireEntityInformation}. + * Unit Tests for {@link DefaultGemfireEntityInformation}. * * @author John Blum * @see org.junit.Test * @see org.springframework.data.gemfire.repository.query.DefaultGemfireEntityInformation * @since 1.4.0 */ -public class DefaultGemfireEntityInformationTest { +public class DefaultGemfireEntityInformationUnitTests { private GemfireMappingContext mappingContext; @@ -78,10 +74,10 @@ public class DefaultGemfireEntityInformationTest { GemfireEntityInformation entityInfo = newEntityInformation(newPersistentEntity(Algorithm.class)); - assertNotNull(entityInfo); - assertEquals("Algorithms", entityInfo.getRegionName()); - assertTrue(Algorithm.class.isAssignableFrom(entityInfo.getJavaType())); - assertEquals(String.class, entityInfo.getIdType()); + assertThat(entityInfo).isNotNull(); + assertThat(entityInfo.getRegionName()).isEqualTo("Algorithms"); + assertThat(Algorithm.class.isAssignableFrom(entityInfo.getJavaType())).isTrue(); + assertThat(entityInfo.getIdType()).isEqualTo(String.class); assertThat(entityInfo.getId(new QuickSort())).isEqualTo("QuickSort"); assertThat(entityInfo.getId(newAlgorithm("Quick Sort"))).isEqualTo("Quick Sort"); } @@ -92,10 +88,10 @@ public class DefaultGemfireEntityInformationTest { GemfireEntityInformation entityInfo = newEntityInformation(newPersistentEntity(Animal.class)); - assertNotNull(entityInfo); - assertEquals("Animal", entityInfo.getRegionName()); - assertEquals(Animal.class, entityInfo.getJavaType()); - assertEquals(Long.class, entityInfo.getIdType()); + assertThat(entityInfo).isNotNull(); + assertThat(entityInfo.getRegionName()).isEqualTo("Animal"); + assertThat(entityInfo.getJavaType()).isEqualTo(Animal.class); + assertThat(entityInfo.getIdType()).isEqualTo(Long.class); assertThat(entityInfo.getId(newAnimal(1L, "Tyger"))).isEqualTo(1L); } @@ -105,25 +101,24 @@ public class DefaultGemfireEntityInformationTest { GemfireEntityInformation entityInfo = newEntityInformation(newPersistentEntity(ConfusedDomainEntity.class)); - assertNotNull(entityInfo); - assertEquals("ConfusedDomainEntity", entityInfo.getRegionName()); - assertEquals(ConfusedDomainEntity.class, entityInfo.getJavaType()); - assertEquals(Long.class, entityInfo.getIdType()); + assertThat(entityInfo).isNotNull(); + assertThat(entityInfo.getRegionName()).isEqualTo("ConfusedDomainEntity"); + assertThat(entityInfo.getJavaType()).isEqualTo(ConfusedDomainEntity.class); + assertThat(entityInfo.getIdType()).isEqualTo(Long.class); assertThat(entityInfo.getId(new ConfusedDomainEntity(123L))).isEqualTo(123L); } @Test - @SuppressWarnings("all") public void confusedDomainEntityTypedStringId() { GemfireEntityInformation entityInfo = newEntityInformation(newPersistentEntity(ConfusedDomainEntity.class)); - assertNotNull(entityInfo); - assertEquals("ConfusedDomainEntity", entityInfo.getRegionName()); - assertEquals(ConfusedDomainEntity.class, entityInfo.getJavaType()); + assertThat(entityInfo).isNotNull(); + assertThat(entityInfo.getRegionName()).isEqualTo("ConfusedDomainEntity"); + assertThat(entityInfo.getJavaType()).isEqualTo(ConfusedDomainEntity.class); //assertEquals(String.class, entityInfo.getIdType()); - assertTrue(Long.class.equals(entityInfo.getIdType())); + assertThat(Long.class.equals(entityInfo.getIdType())).isTrue(); assertThat(entityInfo.getId(new ConfusedDomainEntity(123L))).isEqualTo(123L); assertThat(entityInfo.getId(new ConfusedDomainEntity("248"))).isEqualTo(248L); } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/query/GemfireQueryCreatorUnitTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/query/GemfireQueryCreatorUnitTests.java index c81ed797..a48f59d2 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/query/GemfireQueryCreatorUnitTests.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/query/GemfireQueryCreatorUnitTests.java @@ -15,9 +15,7 @@ */ package org.springframework.data.gemfire.repository.query; -import static org.hamcrest.CoreMatchers.equalTo; -import static org.hamcrest.CoreMatchers.is; -import static org.junit.Assert.assertThat; +import static org.assertj.core.api.Assertions.assertThat; import org.junit.Before; import org.junit.Test; @@ -28,10 +26,12 @@ import org.springframework.data.gemfire.repository.sample.Person; import org.springframework.data.repository.query.parser.PartTree; /** - * Unit tests for {@link GemfireQueryCreator}. + * Unit Tests for {@link GemfireQueryCreator}. * * @author Oliver Gierke * @author John Blum + * @see org.junit.Test + * @see org.springframework.data.gemfire.repository.query.GemfireQueryCreator */ public class GemfireQueryCreatorUnitTests { @@ -52,7 +52,7 @@ public class GemfireQueryCreatorUnitTests { QueryString query = queryCreator.createQuery(); - assertThat(query.toString(), is(equalTo("SELECT * FROM /simple x WHERE x.lastname = $1"))); + assertThat(query.toString()).isEqualTo("SELECT * FROM /simple x WHERE x.lastname = $1"); } @Test @@ -64,6 +64,6 @@ public class GemfireQueryCreatorUnitTests { QueryString query = queryCreator.createQuery(); - assertThat(query.toString(), is(equalTo("SELECT * FROM /simple x WHERE x.address.city = $1"))); + assertThat(query.toString()).isEqualTo("SELECT * FROM /simple x WHERE x.address.city = $1"); } } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/query/StringBasedGemfireRepositoryQueryTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/query/StringBasedGemfireRepositoryQueryUnitTests.java similarity index 76% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/query/StringBasedGemfireRepositoryQueryTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/query/StringBasedGemfireRepositoryQueryUnitTests.java index 2491e8e5..18aef8ef 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/query/StringBasedGemfireRepositoryQueryTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/query/StringBasedGemfireRepositoryQueryUnitTests.java @@ -15,16 +15,7 @@ */ package org.springframework.data.gemfire.repository.query; -import static org.hamcrest.CoreMatchers.equalTo; -import static org.hamcrest.CoreMatchers.is; -import static org.hamcrest.CoreMatchers.notNullValue; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNotSame; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertThat; -import static org.junit.Assert.assertTrue; +import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.times; @@ -49,7 +40,7 @@ import org.apache.geode.cache.query.SelectResults; * @see org.springframework.data.gemfire.repository.query.StringBasedGemfireRepositoryQuery * @since 1.4.0 */ -public class StringBasedGemfireRepositoryQueryTest { +public class StringBasedGemfireRepositoryQueryUnitTests { private final StringBasedGemfireRepositoryQuery repositoryQuery = new StringBasedGemfireRepositoryQuery(); @@ -65,7 +56,7 @@ public class StringBasedGemfireRepositoryQueryTest { Collection actualList = this.repositoryQuery.toCollection(mockSelectResults); - assertSame(expectedList, actualList); + assertThat(actualList).isSameAs(expectedList); } @Test @@ -75,21 +66,22 @@ public class StringBasedGemfireRepositoryQueryTest { Collection actualList = this.repositoryQuery.toCollection(expectedList); - assertSame(expectedList, actualList); + assertThat(actualList).isSameAs(expectedList); } @Test + @SuppressWarnings("all") public void testToCollectionWithArray() { Object[] array = { 1, 2, 3 }; Collection list = repositoryQuery.toCollection(array); - assertNotNull(list); - assertNotSame(array, list); - assertTrue(list instanceof List); - assertEquals(array.length, list.size()); - assertTrue(list.containsAll(Arrays.asList(array))); + assertThat(list).isNotNull(); + assertThat(list).isNotSameAs(array); + assertThat(list).isInstanceOf(List.class); + assertThat(list.size()).isEqualTo(array.length); + assertThat(list.containsAll(Arrays.asList(array))).isTrue(); } @Test @@ -97,10 +89,10 @@ public class StringBasedGemfireRepositoryQueryTest { Collection list = repositoryQuery.toCollection("test"); - assertTrue(list instanceof List); - assertFalse(list.isEmpty()); - assertEquals(1, list.size()); - assertEquals("test", ((List) list).get(0)); + assertThat(list instanceof List).isTrue(); + assertThat(list.isEmpty()).isFalse(); + assertThat(list.size()).isEqualTo(1); + assertThat(((List) list).get(0)).isEqualTo("test"); } @Test @@ -108,8 +100,8 @@ public class StringBasedGemfireRepositoryQueryTest { Collection list = repositoryQuery.toCollection(null); - assertNotNull(list); - assertTrue(list.isEmpty()); + assertThat(list).isNotNull(); + assertThat(list.isEmpty()).isTrue(); } @Test @@ -127,16 +119,16 @@ public class StringBasedGemfireRepositoryQueryTest { QueryString queryString = QueryString.of("SELECT * FROM /Example"); - assertThat(queryString.toString(), is(equalTo("SELECT * FROM /Example"))); + assertThat(queryString.toString()).isEqualTo("SELECT * FROM /Example"); StringBasedGemfireRepositoryQuery repositoryQuery = new StringBasedGemfireRepositoryQuery(); String postProcessedQueryString = repositoryQuery.getQueryPostProcessor() .postProcess(mockQueryMethod, queryString.toString()); - assertThat(postProcessedQueryString, is(notNullValue())); - assertThat(postProcessedQueryString, - is(equalTo(" IMPORT org.example.domain.Type; SELECT * FROM /Example LIMIT 10"))); + assertThat(postProcessedQueryString).isNotNull(); + assertThat(postProcessedQueryString).isEqualTo( + " IMPORT org.example.domain.Type; SELECT * FROM /Example LIMIT 10"); verify(mockQueryMethod, times(1)).hasHint(); verify(mockQueryMethod, times(1)).getHints(); @@ -161,15 +153,14 @@ public class StringBasedGemfireRepositoryQueryTest { QueryString queryString = new QueryString(" SELECT * FROM /Example LIMIT 25"); - assertThat(queryString.toString(), is(equalTo(" SELECT * FROM /Example LIMIT 25"))); + assertThat(queryString.toString()).isEqualTo(" SELECT * FROM /Example LIMIT 25"); StringBasedGemfireRepositoryQuery repositoryQuery = new StringBasedGemfireRepositoryQuery(); String postProcessedQueryString = repositoryQuery.getQueryPostProcessor().postProcess(mockQueryMethod, queryString.toString()); - assertThat(postProcessedQueryString, is(notNullValue())); - assertThat(postProcessedQueryString, - is(equalTo(" SELECT * FROM /Example LIMIT 25"))); + assertThat(postProcessedQueryString).isNotNull(); + assertThat(postProcessedQueryString).isEqualTo(" SELECT * FROM /Example LIMIT 25"); verify(mockQueryMethod, times(1)).hasHint(); verify(mockQueryMethod, never()).getHints(); @@ -193,15 +184,14 @@ public class StringBasedGemfireRepositoryQueryTest { QueryString queryString = new QueryString(" SELECT * FROM /Example"); - assertThat(queryString.toString(), is(equalTo(" SELECT * FROM /Example"))); + assertThat(queryString.toString()).isEqualTo(" SELECT * FROM /Example"); StringBasedGemfireRepositoryQuery repositoryQuery = new StringBasedGemfireRepositoryQuery(); String postProcessedQueryString = repositoryQuery.getQueryPostProcessor().postProcess(mockQueryMethod, queryString.toString()); - assertThat(postProcessedQueryString, is(notNullValue())); - assertThat(postProcessedQueryString, - is(equalTo("IMPORT org.example.domain.Type; SELECT * FROM /Example"))); + assertThat(postProcessedQueryString).isNotNull(); + assertThat(postProcessedQueryString).isEqualTo("IMPORT org.example.domain.Type; SELECT * FROM /Example"); verify(mockQueryMethod, times(1)).hasHint(); verify(mockQueryMethod, never()).getHints(); diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/sample/AlgorithmRepositoryIntegrationTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/sample/AlgorithmRepositoryIntegrationTests.java index e1c49bab..59d7b619 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/sample/AlgorithmRepositoryIntegrationTests.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/sample/AlgorithmRepositoryIntegrationTests.java @@ -15,10 +15,7 @@ */ package org.springframework.data.gemfire.repository.sample; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; +import static org.assertj.core.api.Assertions.assertThat; import javax.annotation.Resource; @@ -33,9 +30,9 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringRunner; /** - * The AlgorithmRepositoryIntegrationTests class is a test suite of test cases testing the contract and functionality of - * GemFire's Repository extension when using a plain old Java interface for defining the application domain object - * /entity type, rather than a Java class, that is the subject of the persistence operations. + * Integration Tests testing the contract and functionality of GemFire's Repository extension when using a plain old + * Java interface for defining the application domain object/entity type, rather than a Java class, that is the subject + * of the persistence operations. * * @author John Blum * @see org.junit.Test @@ -60,31 +57,36 @@ public class AlgorithmRepositoryIntegrationTests extends IntegrationTestsSupport @Test public void algorithmsRepositoryFunctionsCorrectly() { - assertNotNull("A reference to the AlgorithmRepository was not properly configured!", algorithmRepo); - assertNotNull("A reference to the 'Algorithms' GemFire Cache Region was not properly configured!", - algorithmsRegion); - assertEquals("Algorithms", algorithmsRegion.getName()); - assertEquals("/Algorithms", algorithmsRegion.getFullPath()); - assertTrue(algorithmsRegion.isEmpty()); + assertThat(algorithmRepo) + .describedAs("A reference to the AlgorithmRepository was not properly configured!") + .isNotNull(); + + assertThat(algorithmsRegion) + .describedAs("A reference to the 'Algorithms' GemFire Cache Region was not properly configured!") + .isNotNull(); + + assertThat(algorithmsRegion.getName()).isEqualTo("Algorithms"); + assertThat(algorithmsRegion.getFullPath()).isEqualTo("/Algorithms"); + assertThat(algorithmsRegion.isEmpty()).isTrue(); algorithmRepo.save(new BinarySearch()); algorithmRepo.save(new HeapSort()); - assertFalse(algorithmsRegion.isEmpty()); - assertEquals(2, algorithmsRegion.size()); + assertThat(algorithmsRegion.isEmpty()).isFalse(); + assertThat(algorithmsRegion.size()).isEqualTo(2); - assertTrue(algorithmsRegion.get(BinarySearch.class.getSimpleName()) instanceof BinarySearch); - assertTrue(algorithmsRegion.get(HeapSort.class.getSimpleName()) instanceof HeapSort); + assertThat(algorithmsRegion.get(BinarySearch.class.getSimpleName()) instanceof BinarySearch).isTrue(); + assertThat(algorithmsRegion.get(HeapSort.class.getSimpleName()) instanceof HeapSort).isTrue(); HeapSort heapSort = algorithmRepo.findByName(HeapSort.class.getSimpleName()); - assertNotNull(heapSort); - assertEquals(HeapSort.class.getSimpleName(), heapSort.getName()); + assertThat(heapSort).isNotNull(); + assertThat(heapSort.getName()).isEqualTo(HeapSort.class.getSimpleName()); BinarySearch binarySearch = algorithmRepo.findByName(BinarySearch.class.getSimpleName()); - assertNotNull(binarySearch); - assertEquals(BinarySearch.class.getSimpleName(), binarySearch.getName()); + assertThat(binarySearch).isNotNull(); + assertThat(binarySearch.getName()).isEqualTo(BinarySearch.class.getSimpleName()); } protected static abstract class AbstractAlgorithm implements Algorithm { diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/sample/UsingQueryAnnotationExtensionsInUserRepositoryIntegrationTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/sample/UsingQueryAnnotationExtensionsInUserRepositoryIntegrationTests.java similarity index 59% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/sample/UsingQueryAnnotationExtensionsInUserRepositoryIntegrationTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/sample/UsingQueryAnnotationExtensionsInUserRepositoryIntegrationTests.java index c910e943..c5559be9 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/sample/UsingQueryAnnotationExtensionsInUserRepositoryIntegrationTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/sample/UsingQueryAnnotationExtensionsInUserRepositoryIntegrationTests.java @@ -13,60 +13,52 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.springframework.data.gemfire.repository.sample; -import static org.hamcrest.CoreMatchers.equalTo; -import static org.hamcrest.CoreMatchers.is; -import static org.hamcrest.CoreMatchers.notNullValue; -import static org.junit.Assert.assertThat; +import static org.assertj.core.api.Assertions.assertThat; import java.util.ArrayList; import java.util.List; import javax.annotation.Resource; -import org.apache.geode.cache.Region; - import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import org.apache.geode.cache.Region; + import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.gemfire.repository.Query; +import org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit4.SpringRunner; /** - * The UsingQueryAnnotationExtensionsInUserRepositoryIntegrationTest class is a test suite of test cases testing - * the contract and functionality of the Spring Data Commons Repository abstraction, Spring Data GemFire Repository - * extention with custom OQL Query annotations. + * Integration Tests for custom OQL {@link Query} annotations. * * @author John Blum * @see org.junit.Test - * @see org.junit.runner.RunWith - * @see org.springframework.data.gemfire.repository.GemfireRepository - * @see org.springframework.test.context.ContextConfiguration - * @see org.springframework.test.context.junit4.SpringJUnit4ClassRunner * @see org.apache.geode.cache.Region + * @see org.springframework.data.gemfire.repository.GemfireRepository + * @see org.springframework.data.gemfire.repository.Query + * @see org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport + * @see org.springframework.test.context.ContextConfiguration + * @see org.springframework.test.context.junit4.SpringRunner * @since 1.7.0 */ -@RunWith(SpringJUnit4ClassRunner.class) +@RunWith(SpringRunner.class) @ContextConfiguration @SuppressWarnings("unused") -public class UsingQueryAnnotationExtensionsInUserRepositoryIntegrationTest { +public class UsingQueryAnnotationExtensionsInUserRepositoryIntegrationTests extends IntegrationTestsSupport { - @Resource(name = "Users") - private Region users; - - @Autowired - private UsingQueryAnnotationExtensionsInUserRepository userRepository; - - protected static User create(String username) { + private static User create(String username) { return new User(username); } - protected static List users(String... usernames) { - List users = new ArrayList(usernames.length); + private static List users(String... usernames) { + + List users = new ArrayList<>(usernames.length); for (String username : usernames) { users.add(create(username)); @@ -75,21 +67,29 @@ public class UsingQueryAnnotationExtensionsInUserRepositoryIntegrationTest { return users; } - protected User put(User user) { + @Resource(name = "Users") + private Region users; + + @Autowired + private UsingQueryAnnotationExtensionsInUserRepository userRepository; + + private User put(User user) { return put(users, user); } - protected User put(Region users, User user) { + private User put(Region users, User user) { users.put(user.getUsername(), user); return user; } @Before public void setup() { - assertThat(users, is(notNullValue())); + + assertThat(users).isNotNull(); if (users.isEmpty()) { - assertThat(users.size(), is(equalTo(0))); + + assertThat(users.size()).isEqualTo(0); put(create("jonDoe")); put(create("joeDoe")); @@ -100,38 +100,40 @@ public class UsingQueryAnnotationExtensionsInUserRepositoryIntegrationTest { put(create("sourDoe")); put(create("toeDoe")); - assertThat(users.size(), is(equalTo(8))); + assertThat(users.size()).isEqualTo(8); } } @Test public void queryUsingFindBy() { + List users = userRepository.findBy("j%Doe"); - assertThat(users, is(notNullValue())); - assertThat(users.isEmpty(), is(false)); - assertThat(users.size(), is(equalTo(1))); - assertThat(users.get(0), is(equalTo(create("janeDoe")))); + assertThat(users).isNotNull(); + assertThat(users.isEmpty()).isFalse(); + assertThat(users.size()).isEqualTo(1); + assertThat(users.get(0)).isEqualTo(create("janeDoe")); } @Test public void queryUsingFindByUsernameOrderedAndLimited() { + List users = userRepository.findDistinctByUsernameLikeOrderByUsernameAsc("%o%Doe"); - assertThat(users, is(notNullValue())); - assertThat(users.isEmpty(), is(false)); - assertThat(users.size(), is(equalTo(5))); - assertThat(users, is(equalTo(users("cookieDoe", "froDoe", "joeDoe", "jonDoe", "sourDoe")))); + assertThat(users).isNotNull(); + assertThat(users.isEmpty()).isFalse(); + assertThat(users.size()).isEqualTo(5); + assertThat(users).isEqualTo(users("cookieDoe", "froDoe", "joeDoe", "jonDoe", "sourDoe")); } @Test public void queryUsingFindByUsernameOrderedAndUnderLimit() { + List users = userRepository.findDistinctByUsernameLikeOrderByUsernameAsc("%oo%Doe"); - assertThat(users, is(notNullValue())); - assertThat(users.isEmpty(), is(false)); - assertThat(users.size(), is(equalTo(1))); - assertThat(users.get(0), is(equalTo(create("cookieDoe")))); + assertThat(users).isNotNull(); + assertThat(users.isEmpty()).isFalse(); + assertThat(users.size()).isEqualTo(1); + assertThat(users.get(0)).isEqualTo(create("cookieDoe")); } - } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/support/GemfireRepositoryFactoryBeanTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/support/GemfireRepositoryFactoryBeanUnitTests.java similarity index 74% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/support/GemfireRepositoryFactoryBeanTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/support/GemfireRepositoryFactoryBeanUnitTests.java index f4f3e5b9..01eb9967 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/support/GemfireRepositoryFactoryBeanTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/support/GemfireRepositoryFactoryBeanUnitTests.java @@ -13,64 +13,61 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.springframework.data.gemfire.repository.support; -import static org.hamcrest.CoreMatchers.is; -import static org.hamcrest.CoreMatchers.notNullValue; -import static org.junit.Assert.assertThat; +import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import java.util.Collections; +import org.junit.Before; +import org.junit.Test; + import org.apache.geode.cache.Region; import org.apache.geode.cache.RegionAttributes; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.ExpectedException; - import org.springframework.context.ApplicationContext; import org.springframework.data.gemfire.mapping.GemfireMappingContext; import org.springframework.data.gemfire.repository.sample.PersonRepository; /** - * The GemfireRepositoryFactoryBeanTest class is test suite of test cases testing the contract and functionality - * of the GemfireRepositoryFactoryBean class. + * Unit Tests for {@link GemfireRepositoryFactoryBean}. * * @author John Blum - * @see org.junit.Rule * @see org.junit.Test * @see org.mockito.Mockito * @see org.springframework.data.gemfire.repository.support.GemfireRepositoryFactoryBean * @since 1.6.3 */ @SuppressWarnings("rawtypes") -public class GemfireRepositoryFactoryBeanTest { +public class GemfireRepositoryFactoryBeanUnitTests { - @Rule - public ExpectedException exception = ExpectedException.none(); - - GemfireRepositoryFactoryBean repositoryFactoryBean; + private GemfireRepositoryFactoryBean repositoryFactoryBean; @Before public void setup() { repositoryFactoryBean = new GemfireRepositoryFactoryBean<>(PersonRepository.class); } - @Test + @Test(expected = IllegalStateException.class) public void rejectsMappingContextNotSet() { - exception.expect(IllegalStateException.class); - exception.expectMessage("GemfireMappingContext"); - repositoryFactoryBean.afterPropertiesSet(); + try { + repositoryFactoryBean.afterPropertiesSet(); + } + catch (IllegalStateException expected) { + + assertThat(expected).hasMessage("GemfireMappingContext"); + + throw expected; + } } @Test @SuppressWarnings("unchecked") public void initializesWithMappingContext() { + RegionAttributes mockRegionAttributes = mock(RegionAttributes.class); doReturn(Long.class).when(mockRegionAttributes).getKeyConstraint(); @@ -89,6 +86,6 @@ public class GemfireRepositoryFactoryBeanTest { repositoryFactoryBean.setGemfireMappingContext(new GemfireMappingContext()); repositoryFactoryBean.afterPropertiesSet(); - assertThat(repositoryFactoryBean.getObject(), is(notNullValue())); + assertThat(repositoryFactoryBean.getObject()).isNotNull(); } } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/support/GemfireRepositoryFactoryIntegrationTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/support/GemfireRepositoryFactoryIntegrationTests.java index 5794e236..bd06d26e 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/support/GemfireRepositoryFactoryIntegrationTests.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/support/GemfireRepositoryFactoryIntegrationTests.java @@ -13,12 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.springframework.data.gemfire.repository.support; -import static org.hamcrest.CoreMatchers.is; -import static org.hamcrest.CoreMatchers.notNullValue; -import static org.junit.Assert.assertThat; +import static org.assertj.core.api.Assertions.assertThat; import java.util.Collections; @@ -35,12 +32,16 @@ import org.springframework.data.repository.support.Repositories; import org.springframework.test.context.ContextConfiguration; /** - * Integration test for {@link GemfireRepositoryFactory}. + * Integration Tests for {@link GemfireRepositoryFactory}. * * @author Oliver Gierke * @author John Blum + * @see org.junit.Test + * @see org.springframework.data.gemfire.repository.support.AbstractGemfireRepositoryFactoryIntegrationTests + * @see org.springframework.data.gemfire.repository.support.GemfireRepositoryFactory */ @ContextConfiguration("../config/repo-context.xml") +@SuppressWarnings("unused") public class GemfireRepositoryFactoryIntegrationTests extends AbstractGemfireRepositoryFactoryIntegrationTests { @Autowired @@ -59,14 +60,13 @@ public class GemfireRepositoryFactoryIntegrationTests extends AbstractGemfireRep new GemfireRepositoryFactory(Collections.emptySet(), mappingContext).getRepository(PersonRepository.class); } - /** - * @see SGF-140 - */ @Test public void exposesPersistentProperty() { + Repositories repositories = new Repositories(applicationContext); + PersistentEntity entity = repositories.getPersistentEntity(Person.class); - assertThat(entity, is(notNullValue())); + assertThat(entity).isNotNull(); } } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/support/SimpleGemfireRepositoryTransactionalIntegrationTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/support/SimpleGemfireRepositoryTransactionalIntegrationTest.java index e3746bc5..d67cca6d 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/support/SimpleGemfireRepositoryTransactionalIntegrationTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/repository/support/SimpleGemfireRepositoryTransactionalIntegrationTest.java @@ -15,10 +15,7 @@ */ package org.springframework.data.gemfire.repository.support; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; +import static org.assertj.core.api.Assertions.assertThat; import java.io.Serializable; import java.util.ArrayList; @@ -89,10 +86,11 @@ public class SimpleGemfireRepositoryTransactionalIntegrationTest extends Integra @Before public void setup() { - assertNotNull("The 'Customers' Cache Region was not properly configured and initialized!", this.customers); - assertEquals("Customers", this.customers.getName()); - assertEquals("/Customers", this.customers.getFullPath()); - assertTrue(this.customers.isEmpty()); + assertThat(this.customers).as("The 'Customers' Cache Region was not properly configured and initialized!") + .isNotNull(); + assertThat(this.customers.getName()).isEqualTo("Customers"); + assertThat(this.customers.getFullPath()).isEqualTo("/Customers"); + assertThat(this.customers.isEmpty()).isTrue(); } @After @@ -111,8 +109,8 @@ public class SimpleGemfireRepositoryTransactionalIntegrationTest extends Integra this.customerService.saveAll(expectedCustomers); - assertFalse(this.customers.isEmpty()); - assertEquals(expectedCustomers.size(), this.customers.size()); + assertThat(this.customers.isEmpty()).isFalse(); + assertThat(this.customers.size()).isEqualTo(expectedCustomers.size()); try { this.customerService.removeAllCausingTransactionRollback(); @@ -121,12 +119,12 @@ public class SimpleGemfireRepositoryTransactionalIntegrationTest extends Integra // the RuntimeException should cause the Cache Transaction to rollback and avoid the Region modification! } - assertFalse(this.customers.isEmpty()); - assertEquals(expectedCustomers.size(), this.customers.size()); + assertThat(this.customers.isEmpty()).isFalse(); + assertThat(this.customers.size()).isEqualTo(expectedCustomers.size()); this.customerService.removeAll(); - assertTrue(this.customers.isEmpty()); + assertThat(this.customers.isEmpty()).isTrue(); } public static class SerializableCustomer extends Customer implements Serializable { @@ -145,9 +143,9 @@ public class SimpleGemfireRepositoryTransactionalIntegrationTest extends Integra public static class CustomerService { - private GemfireRepository customerRepository; + private final GemfireRepository customerRepository; - private TransactionTemplate transactionTemplate; + private final TransactionTemplate transactionTemplate; @Autowired @SuppressWarnings("all") diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/serialization/AsmInstantiatorFactoryTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/serialization/AsmInstantiatorFactoryUnitTests.java similarity index 64% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/serialization/AsmInstantiatorFactoryTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/serialization/AsmInstantiatorFactoryUnitTests.java index 1b06a51f..80572156 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/serialization/AsmInstantiatorFactoryTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/serialization/AsmInstantiatorFactoryUnitTests.java @@ -13,42 +13,42 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.springframework.data.gemfire.serialization; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; +import static org.assertj.core.api.Assertions.assertThat; import java.io.DataInput; import java.io.DataOutput; -import java.io.IOException; import java.io.Serializable; -import org.apache.geode.DataSerializable; -import org.apache.geode.Instantiator; - import org.junit.Before; import org.junit.Test; -/** - * @author Costin Leau - */ -public class AsmInstantiatorFactoryTest { +import org.apache.geode.DataSerializable; +import org.apache.geode.Instantiator; + +/** + * Unit Tests for {@link AsmInstantiatorGenerator}. + * + * @author Costin Leau + * @author John Blum + * @see org.apache.geode.Instantiator + * @see org.springframework.data.gemfire.serialization.AsmInstantiatorGenerator + */ +public class AsmInstantiatorFactoryUnitTests { - @SuppressWarnings("serial") public static class SomeClass implements DataSerializable { + public static boolean instantiated = false; public SomeClass() { instantiated = true; } - public void fromData(DataInput in) throws IOException, ClassNotFoundException { - } + public void fromData(DataInput in) { } + + public void toData(DataOutput out) { } - public void toData(DataOutput out) throws IOException { - } } private AsmInstantiatorGenerator asmFactory = null; @@ -60,31 +60,41 @@ public class AsmInstantiatorFactoryTest { } @Test - public void testClassGeneration() throws Exception { + public void testClassGeneration() { + Instantiator instantiator = asmFactory.getInstantiator(SomeClass.class, 100); - assertEquals(100, instantiator.getId()); - assertEquals(SomeClass.class, instantiator.getInstantiatedClass()); + + assertThat(instantiator.getId()).isEqualTo(100); + assertThat(instantiator.getInstantiatedClass()).isEqualTo(SomeClass.class); + Object instance = instantiator.newInstance(); - assertEquals(SomeClass.class, instance.getClass()); - assertTrue(SomeClass.instantiated); + + assertThat(instance.getClass()).isEqualTo(SomeClass.class); + assertThat(SomeClass.instantiated).isTrue(); } @Test - public void testGeneratedClassName() throws Exception { + public void testGeneratedClassName() { + Instantiator instantiator = asmFactory.getInstantiator(SomeClass.class, 100); - assertTrue(instantiator.getClass().getName().contains("$")); + + assertThat(instantiator.getClass().getName().contains("$")).isTrue(); } @Test - public void testInterfaces() throws Exception { + public void testInterfaces() { + Instantiator instantiator = asmFactory.getInstantiator(SomeClass.class, 100); - assertTrue(instantiator instanceof Serializable); + + assertThat(instantiator instanceof Serializable).isTrue(); } @Test - public void testCacheInPlace() throws Exception { + public void testCacheInPlace() { + Instantiator instance1 = asmFactory.getInstantiator(SomeClass.class, 120); Instantiator instance2 = asmFactory.getInstantiator(SomeClass.class, 125); - assertSame(instance1, instance2); + + assertThat(instance2).isSameAs(instance1); } } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/serialization/WiringInstantiatorTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/serialization/WiringInstantiatorIntegrationTests.java similarity index 79% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/serialization/WiringInstantiatorTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/serialization/WiringInstantiatorIntegrationTests.java index 346689ea..93d2f642 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/serialization/WiringInstantiatorTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/serialization/WiringInstantiatorIntegrationTests.java @@ -15,11 +15,7 @@ */ package org.springframework.data.gemfire.serialization; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; +import static org.assertj.core.api.Assertions.assertThat; import java.awt.Point; import java.awt.Shape; @@ -41,11 +37,13 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringRunner; /** + * Integration Tests for {@link WiringInstantiator}. + * * @author Costin Leau * @author John Blum - * * @see org.junit.Test * @see org.apache.geode.Instantiator + * @see org.springframework.data.gemfire.serialization.WiringInstantiator * @see org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport * @see org.springframework.test.context.ContextConfiguration * @see org.springframework.test.context.junit4.SpringRunner @@ -53,7 +51,7 @@ import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @ContextConfiguration("simple-config.xml") @SuppressWarnings("unused") -public class WiringInstantiatorTest extends IntegrationTestsSupport { +public class WiringInstantiatorIntegrationTests extends IntegrationTestsSupport { @Autowired private ApplicationContext applicationContext; @@ -115,16 +113,16 @@ public class WiringInstantiatorTest extends IntegrationTestsSupport { Object instance = instantiator.newInstance(); - assertNotNull(instance); - assertTrue(instance instanceof AnnotatedBean); + assertThat(instance).isNotNull(); + assertThat(instance instanceof AnnotatedBean).isTrue(); AnnotatedBean bean = (AnnotatedBean) instance; - assertNotNull(bean.point); - assertNotNull(bean.shape); + assertThat(bean.point).isNotNull(); + assertThat(bean.shape).isNotNull(); - assertSame(bean.point, applicationContext.getBean("point")); - assertSame(bean.shape, applicationContext.getBean("area")); + assertThat(applicationContext.getBean("point")).isSameAs(bean.point); + assertThat(applicationContext.getBean("area")).isSameAs(bean.shape); } @Test @@ -138,19 +136,19 @@ public class WiringInstantiatorTest extends IntegrationTestsSupport { Object instance = instantiator2.newInstance(); - assertTrue(instance instanceof TemplateWiringBean); + assertThat(instance instanceof TemplateWiringBean).isTrue(); TemplateWiringBean bean = (TemplateWiringBean) instance; - assertNull(bean.point); - assertNotNull(bean.beans); + assertThat(bean.point).isNull(); + assertThat(bean.beans).isNotNull(); - assertSame(bean.beans, applicationContext.getBean("beans")); + assertThat(applicationContext.getBean("beans")).isSameAs(bean.beans); } public void testInstantiatorFactoryBean() { @SuppressWarnings("unchecked") List list = (List) applicationContext.getBean("instantiator-factory"); - assertNotNull(list); - assertEquals(2, list.size()); + assertThat(list).isNotNull(); + assertThat(list.size()).isEqualTo(2); } } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/serialization/json/JSONRegionAdviceIntegrationTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/serialization/json/JSONRegionAdviceIntegrationTests.java index 8857bcef..98842f67 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/serialization/json/JSONRegionAdviceIntegrationTests.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/serialization/json/JSONRegionAdviceIntegrationTests.java @@ -16,7 +16,7 @@ */ package org.springframework.data.gemfire.serialization.json; -import static org.junit.Assert.assertEquals; +import static org.assertj.core.api.Assertions.assertThat; import static org.springframework.data.gemfire.util.RuntimeExceptionFactory.newIllegalArgumentException; import java.util.Arrays; @@ -43,8 +43,8 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringRunner; /** - * Integration Tests testings SDG support for storing and reading JSON data to/from a {@link Region} - * by (un)marshalling JSON data using Jackson. + * Integration Tests for storing and reading JSON data to and from a {@link Region} by (un)marshalling JSON data + * using Jackson. * * @author David Turanski * @author John Blum @@ -91,11 +91,11 @@ public class JSONRegionAdviceIntegrationTests extends IntegrationTestsSupport { this.jsonRegion.put("keyOne", json); - assertEquals(json, this.jsonRegion.put("keyOne", json)); + assertThat(this.jsonRegion.put("keyOne", json)).isEqualTo(json); this.jsonRegion.create("keyTwo", json); - assertEquals(json, this.jsonRegion.get("keyTwo")); + assertThat(this.jsonRegion.get("keyTwo")).isEqualTo(json); } @Test @@ -110,8 +110,8 @@ public class JSONRegionAdviceIntegrationTests extends IntegrationTestsSupport { Map results = this.jsonRegion.getAll(Arrays.asList("key1", "key2")); - assertEquals("{\"hello1\":\"world1\"}", results.get("key1")); - assertEquals("{\"hello2\":\"world2\"}", results.get("key2")); + assertThat(results.get("key1")).isEqualTo("{\"hello1\":\"world1\"}"); + assertThat(results.get("key2")).isEqualTo("{\"hello2\":\"world2\"}"); } @Test @@ -123,11 +123,11 @@ public class JSONRegionAdviceIntegrationTests extends IntegrationTestsSupport { String json = String.valueOf(this.jsonRegion.get("dave")); - assertEquals(json, toJson(davidTuranski)); + assertThat(toJson(davidTuranski)).isEqualTo(json); Object result = jsonRegion.put("dave", davidTuranski); - assertEquals(toJson(davidTuranski), result); + assertThat(result).isEqualTo(toJson(davidTuranski)); } @Test @@ -140,7 +140,7 @@ public class JSONRegionAdviceIntegrationTests extends IntegrationTestsSupport { SelectResults results = this.template.find(String.format("SELECT * FROM %s WHERE firstname=$1", this.jsonRegion.getFullPath()), davidTuranski.getFirstname()); - assertEquals(toJson(davidTuranski), results.iterator().next()); + assertThat(results.iterator().next()).isEqualTo(toJson(davidTuranski)); } @Test @@ -153,7 +153,7 @@ public class JSONRegionAdviceIntegrationTests extends IntegrationTestsSupport { String json = this.template.findUnique(String.format("SELECT * FROM %s WHERE firstname=$1", this.jsonRegion.getFullPath()), davidTuranski.getFirstname()); - assertEquals(toJson(davidTuranski), json); + assertThat(json).isEqualTo(toJson(davidTuranski)); } @Test @@ -166,6 +166,6 @@ public class JSONRegionAdviceIntegrationTests extends IntegrationTestsSupport { SelectResults results = this.template.query(String.format("firstname='%s'", davidTuranski.getFirstname())); - assertEquals(toJson(davidTuranski), results.iterator().next()); + assertThat(results.iterator().next()).isEqualTo(toJson(davidTuranski)); } } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/server/CacheServerFactoryBeanTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/server/CacheServerFactoryBeanUnitTests.java similarity index 72% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/server/CacheServerFactoryBeanTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/server/CacheServerFactoryBeanUnitTests.java index 49c53a39..e1b49c95 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/server/CacheServerFactoryBeanTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/server/CacheServerFactoryBeanUnitTests.java @@ -13,16 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.springframework.data.gemfire.server; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; -import static org.mockito.Matchers.eq; -import static org.mockito.Matchers.same; +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.ArgumentMatchers.same; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; @@ -34,41 +29,41 @@ import java.util.Arrays; import java.util.HashSet; import java.util.concurrent.atomic.AtomicBoolean; +import org.junit.Test; +import org.mockito.stubbing.Answer; + import org.apache.geode.cache.Cache; import org.apache.geode.cache.InterestRegistrationListener; import org.apache.geode.cache.server.CacheServer; import org.apache.geode.cache.server.ClientSubscriptionConfig; import org.apache.geode.cache.server.ServerLoadProbe; -import org.junit.Test; -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; - /** - * Unit tests for {@link CacheServerFactoryBean}. + * Unit Tests for {@link CacheServerFactoryBean}. * * @author John Blum * @see org.junit.Test + * @see org.mockito.Mockito * @see org.apache.geode.cache.Cache * @see org.apache.geode.cache.server.CacheServer * @see org.springframework.data.gemfire.server.CacheServerFactoryBean * @since 1.6.0 */ -public class CacheServerFactoryBeanTest { +public class CacheServerFactoryBeanUnitTests { @Test public void testGetObjectUninitialized() { - assertNull(new CacheServerFactoryBean().getObject()); + assertThat(new CacheServerFactoryBean().getObject()).isNull(); } @Test public void testGetObjectType() { - assertEquals(CacheServer.class, new CacheServerFactoryBean().getObjectType()); + assertThat(new CacheServerFactoryBean().getObjectType()).isEqualTo(CacheServer.class); } @Test public void testIsSingleton() { - assertTrue(new CacheServerFactoryBean().isSingleton()); + assertThat(new CacheServerFactoryBean().isSingleton()).isTrue(); } @Test @@ -97,9 +92,8 @@ public class CacheServerFactoryBeanTest { factoryBean.setCache(mockCache); factoryBean.setBindAddress("10.124.62.5"); factoryBean.setHostNameForClients("skullbox"); - factoryBean.setListeners(new HashSet(Arrays.asList( - mockInterestRegistrationListenerOne, mockInterestRegistrationListenerTwo))); - factoryBean.setLoadPollInterval(500l); + factoryBean.setLoadPollInterval(500L); + factoryBean.setListeners(new HashSet<>(Arrays.asList(mockInterestRegistrationListenerOne, mockInterestRegistrationListenerTwo))); factoryBean.setMaxConnections(200); factoryBean.setMaxMessageCount(1024); factoryBean.setMaxTimeBetweenPings(2000); @@ -115,14 +109,14 @@ public class CacheServerFactoryBeanTest { factoryBean.setSubscriptionDiskStore("toTheVoid"); factoryBean.afterPropertiesSet(); - assertSame(mockCacheServer, factoryBean.getObject()); - assertEquals(mockCacheServer.getClass(), factoryBean.getObjectType()); + assertThat(factoryBean.getObject()).isSameAs(mockCacheServer); + assertThat(factoryBean.getObjectType()).isEqualTo(mockCacheServer.getClass()); verify(mockCache, times(1)).addCacheServer(); verify(mockCacheServer, times(1)).setBindAddress(eq("10.124.62.5")); verify(mockCacheServer, times(1)).setGroups(eq(new String[] { "testGroup" })); verify(mockCacheServer, times(1)).setHostnameForClients(eq("skullbox")); - verify(mockCacheServer, times(1)).setLoadPollInterval(eq(500l)); + verify(mockCacheServer, times(1)).setLoadPollInterval(eq(500L)); verify(mockCacheServer, times(1)).setLoadProbe(same(mockServerLoadProbe)); verify(mockCacheServer, times(1)).setMaxConnections(eq(200)); verify(mockCacheServer, times(1)).setMaximumMessageCount(eq(1024)); @@ -148,7 +142,7 @@ public class CacheServerFactoryBeanTest { new CacheServerFactoryBean().afterPropertiesSet(); } catch (IllegalArgumentException expected) { - assertEquals("Cache is required", expected.getMessage()); + assertThat(expected.getMessage()).isEqualTo("Cache is required"); throw expected; } } @@ -157,26 +151,26 @@ public class CacheServerFactoryBeanTest { public void testSetAndGetAutoStartup() { CacheServerFactoryBean factoryBean = new CacheServerFactoryBean(); - assertTrue(factoryBean.isAutoStartup()); + assertThat(factoryBean.isAutoStartup()).isTrue(); factoryBean.setAutoStartup(false); - assertFalse(factoryBean.isAutoStartup()); + assertThat(factoryBean.isAutoStartup()).isFalse(); } @Test public void testSetAndGetSubscriptionEvictionPolicy() { CacheServerFactoryBean factoryBean = new CacheServerFactoryBean(); - assertEquals(SubscriptionEvictionPolicy.DEFAULT, factoryBean.getSubscriptionEvictionPolicy()); + assertThat(factoryBean.getSubscriptionEvictionPolicy()).isEqualTo(SubscriptionEvictionPolicy.DEFAULT); factoryBean.setSubscriptionEvictionPolicy(SubscriptionEvictionPolicy.MEM); - assertEquals(SubscriptionEvictionPolicy.MEM, factoryBean.getSubscriptionEvictionPolicy()); + assertThat(factoryBean.getSubscriptionEvictionPolicy()).isEqualTo(SubscriptionEvictionPolicy.MEM); factoryBean.setSubscriptionEvictionPolicy(null); - assertEquals(SubscriptionEvictionPolicy.DEFAULT, factoryBean.getSubscriptionEvictionPolicy()); + assertThat(factoryBean.getSubscriptionEvictionPolicy()).isEqualTo(SubscriptionEvictionPolicy.DEFAULT); } @Test @@ -186,48 +180,33 @@ public class CacheServerFactoryBeanTest { final AtomicBoolean running = new AtomicBoolean(false); final AtomicBoolean called = new AtomicBoolean(false); - doAnswer(new Answer() { - @Override - public Object answer(final InvocationOnMock invocationOnMock) throws Throwable { - running.compareAndSet(false, true); - return null; - } + doAnswer(invocationOnMock -> { + running.compareAndSet(false, true); + return null; }).when(mockCacheServer).start(); - doAnswer(new Answer() { - @Override - public Object answer(final InvocationOnMock invocationOnMock) throws Throwable { - running.compareAndSet(true, false); - return null; - } + doAnswer(invocationOnMock -> { + running.compareAndSet(true, false); + return null; }).when(mockCacheServer).stop(); - when(mockCacheServer.isRunning()).then(new Answer() { - @Override - public Boolean answer(final InvocationOnMock invocationOnMock) throws Throwable { - return running.get(); - } - }); + when(mockCacheServer.isRunning()).then((Answer) invocationOnMock -> running.get()); CacheServerFactoryBean factoryBean = new CacheServerFactoryBean(); factoryBean.setCacheServer(mockCacheServer); - assertSame(mockCacheServer, factoryBean.getObject()); - assertFalse(factoryBean.isRunning()); + assertThat(factoryBean.getObject()).isSameAs(mockCacheServer); + assertThat(factoryBean.isRunning()).isFalse(); factoryBean.start(); - assertTrue(factoryBean.isRunning()); - assertFalse(called.get()); + assertThat(factoryBean.isRunning()).isTrue(); + assertThat(called.get()).isFalse(); - factoryBean.stop(new Runnable() { - @Override public void run() { - called.set(true); - } - }); + factoryBean.stop(() -> called.set(true)); - assertFalse(factoryBean.isRunning()); - assertTrue(called.get()); + assertThat(factoryBean.isRunning()).isFalse(); + assertThat(called.get()).isTrue(); } } diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/server/SubscriptionEvictionPolicyTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/server/SubscriptionEvictionPolicyTest.java deleted file mode 100644 index 8b6db463..00000000 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/server/SubscriptionEvictionPolicyTest.java +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright 2010-2021 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.springframework.data.gemfire.server; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertSame; -import static org.mockito.Matchers.eq; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; - -import org.apache.geode.cache.server.ClientSubscriptionConfig; - -import org.junit.Test; - -/** - * The SubscriptionEvictionPolicyTest class is a test suite of test cases testing the contract and functionality - * of the SubscriptionEvictionPolicy enum. - * - * @author John Blum - * @see org.junit.Test - * @see org.springframework.data.gemfire.server.SubscriptionEvictionPolicy - * @since 1.6.0 - */ -public class SubscriptionEvictionPolicyTest { - - @Test - public void testDefault() { - assertEquals(ClientSubscriptionConfig.DEFAULT_EVICTION_POLICY.toLowerCase(), - SubscriptionEvictionPolicy.DEFAULT.name().toLowerCase()); - assertSame(SubscriptionEvictionPolicy.NONE, SubscriptionEvictionPolicy.DEFAULT); - } - - @Test - public void testValueOfIgnoreCase() { - assertEquals(SubscriptionEvictionPolicy.ENTRY, SubscriptionEvictionPolicy.valueOfIgnoreCase("entry")); - assertEquals(SubscriptionEvictionPolicy.MEM, SubscriptionEvictionPolicy.valueOfIgnoreCase("Mem")); - assertEquals(SubscriptionEvictionPolicy.NONE, SubscriptionEvictionPolicy.valueOfIgnoreCase("NOne")); - assertEquals(SubscriptionEvictionPolicy.NONE, SubscriptionEvictionPolicy.valueOfIgnoreCase("nONE")); - assertEquals(SubscriptionEvictionPolicy.NONE, SubscriptionEvictionPolicy.valueOfIgnoreCase("NONE")); - } - - @Test - public void testValueOfIgnoreCaseWithIllegalValue() { - assertNull(SubscriptionEvictionPolicy.valueOfIgnoreCase("KEYS")); - assertNull(SubscriptionEvictionPolicy.valueOfIgnoreCase("Memory")); - assertNull(SubscriptionEvictionPolicy.valueOfIgnoreCase("all")); - assertNull(SubscriptionEvictionPolicy.valueOfIgnoreCase("no")); - assertNull(SubscriptionEvictionPolicy.valueOfIgnoreCase("one")); - assertNull(SubscriptionEvictionPolicy.valueOfIgnoreCase(" ")); - assertNull(SubscriptionEvictionPolicy.valueOfIgnoreCase("")); - assertNull(SubscriptionEvictionPolicy.valueOfIgnoreCase(null)); - } - - @Test - public void testSetEvictionPolicy() { - ClientSubscriptionConfig mockConfig = mock(ClientSubscriptionConfig.class, - "testSetEvictionPolicy.ClientSubscriptionConfig"); - - ClientSubscriptionConfig returnedConfig = SubscriptionEvictionPolicy.MEM.setEvictionPolicy(mockConfig); - - assertSame(mockConfig, returnedConfig); - - verify(mockConfig, times(1)).setEvictionPolicy(eq("mem")); - } - - @Test - public void testSetEvictionPolicyWithNull() { - assertNull(SubscriptionEvictionPolicy.ENTRY.setEvictionPolicy(null)); - } - -} diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/server/SubscriptionEvictionPolicyUnitTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/server/SubscriptionEvictionPolicyUnitTests.java new file mode 100644 index 00000000..b0b3e2cc --- /dev/null +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/server/SubscriptionEvictionPolicyUnitTests.java @@ -0,0 +1,88 @@ +/* + * Copyright 2010-2021 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.gemfire.server; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; + +import org.junit.Test; + +import org.apache.geode.cache.server.ClientSubscriptionConfig; + +/** + * Unit Tests for {@link SubscriptionEvictionPolicy} enum. + * + * @author John Blum + * @see org.junit.Test + * @see org.mockito.Mockito + * @see org.springframework.data.gemfire.server.SubscriptionEvictionPolicy + * @since 1.6.0 + */ +public class SubscriptionEvictionPolicyUnitTests { + + @Test + public void testDefault() { + + assertThat(SubscriptionEvictionPolicy.DEFAULT.name().toLowerCase()) + .isEqualTo(ClientSubscriptionConfig.DEFAULT_EVICTION_POLICY.toLowerCase()); + + assertThat(SubscriptionEvictionPolicy.DEFAULT).isSameAs(SubscriptionEvictionPolicy.NONE); + } + + @Test + public void testValueOfIgnoreCase() { + + assertThat(SubscriptionEvictionPolicy.valueOfIgnoreCase("entry")).isEqualTo(SubscriptionEvictionPolicy.ENTRY); + assertThat(SubscriptionEvictionPolicy.valueOfIgnoreCase("Mem")).isEqualTo(SubscriptionEvictionPolicy.MEM); + assertThat(SubscriptionEvictionPolicy.valueOfIgnoreCase("NOne")).isEqualTo(SubscriptionEvictionPolicy.NONE); + assertThat(SubscriptionEvictionPolicy.valueOfIgnoreCase("nONE")).isEqualTo(SubscriptionEvictionPolicy.NONE); + assertThat(SubscriptionEvictionPolicy.valueOfIgnoreCase("NONE")).isEqualTo(SubscriptionEvictionPolicy.NONE); + } + + @Test + public void testValueOfIgnoreCaseWithIllegalValue() { + + assertThat(SubscriptionEvictionPolicy.valueOfIgnoreCase("KEYS")).isNull(); + assertThat(SubscriptionEvictionPolicy.valueOfIgnoreCase("Memory")).isNull(); + assertThat(SubscriptionEvictionPolicy.valueOfIgnoreCase("all")).isNull(); + assertThat(SubscriptionEvictionPolicy.valueOfIgnoreCase("no")).isNull(); + assertThat(SubscriptionEvictionPolicy.valueOfIgnoreCase("one")).isNull(); + assertThat(SubscriptionEvictionPolicy.valueOfIgnoreCase(" ")).isNull(); + assertThat(SubscriptionEvictionPolicy.valueOfIgnoreCase("")).isNull(); + assertThat(SubscriptionEvictionPolicy.valueOfIgnoreCase(null)).isNull(); + } + + @Test + public void testSetEvictionPolicy() { + + ClientSubscriptionConfig mockConfig = + mock(ClientSubscriptionConfig.class,"testSetEvictionPolicy.ClientSubscriptionConfig"); + + ClientSubscriptionConfig returnedConfig = SubscriptionEvictionPolicy.MEM.setEvictionPolicy(mockConfig); + + assertThat(returnedConfig).isSameAs(mockConfig); + + verify(mockConfig, times(1)).setEvictionPolicy(eq("mem")); + } + + @Test + public void testSetEvictionPolicyWithNull() { + assertThat(SubscriptionEvictionPolicy.ENTRY.setEvictionPolicy(null)).isNull(); + } +} diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/snapshot/filter/ComposableSnapshotFilterTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/snapshot/filter/ComposableSnapshotFilterTest.java deleted file mode 100644 index 32d210fa..00000000 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/snapshot/filter/ComposableSnapshotFilterTest.java +++ /dev/null @@ -1,164 +0,0 @@ -/* - * Copyright 2010-2021 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.springframework.data.gemfire.snapshot.filter; - -import static org.hamcrest.CoreMatchers.equalTo; -import static org.hamcrest.CoreMatchers.is; -import static org.hamcrest.CoreMatchers.isA; -import static org.hamcrest.CoreMatchers.not; -import static org.hamcrest.CoreMatchers.sameInstance; -import static org.junit.Assert.assertThat; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - -import java.util.concurrent.atomic.AtomicInteger; - -import org.apache.geode.cache.snapshot.SnapshotFilter; - -import org.junit.Test; - -import org.springframework.data.gemfire.TestUtils; -import org.springframework.data.gemfire.snapshot.filter.ComposableSnapshotFilter.Operator; - -/** - * The ComposableSnapshotFilterTest class is a test suite of test cases testing the contract and functionality - * of the ComposableSnapshotFilter class. - * - * @author John Blum - * @see org.junit.Test - * @see org.mockito.Mockito - * @see org.springframework.data.gemfire.snapshot.filter.ComposableSnapshotFilter - * @see org.springframework.data.gemfire.snapshot.filter.ComposableSnapshotFilter.Operator - * @see org.apache.geode.cache.snapshot.SnapshotFilter - * @since 1.7.0 - */ -public class ComposableSnapshotFilterTest { - - private static final AtomicInteger ID_SEQUENCE = new AtomicInteger(0); - - @SuppressWarnings("unchecked") - protected SnapshotFilter mockSnapshotFilter(boolean accept) { - - SnapshotFilter mockSnapshotFilter = mock(SnapshotFilter.class, - String.format("MockSnapshotFilter-%1$d", ID_SEQUENCE.incrementAndGet())); - - when(mockSnapshotFilter.accept(any())).thenReturn(accept); - - return mockSnapshotFilter; - } - - @Test - public void operatorIdentityIsSuccessful() { - - assertThat(Operator.AND.isAnd(), is(true)); - assertThat(Operator.AND.isOr(), is(false)); - assertThat(Operator.OR.isAnd(), is(false)); - assertThat(Operator.OR.isOr(), is(true)); - } - - @Test - public void andOperatorOperationIsValid() { - - assertThat(Operator.AND.operate(true, true), is(true)); - assertThat(Operator.AND.operate(true, false), is(false)); - assertThat(Operator.AND.operate(false, true), is(false)); - assertThat(Operator.AND.operate(false, false), is(false)); - } - - @Test - public void orOperatorOperationIsValid() { - - assertThat(Operator.OR.operate(true, true), is(true)); - assertThat(Operator.OR.operate(true, false), is(true)); - assertThat(Operator.OR.operate(false, true), is(true)); - assertThat(Operator.OR.operate(false, false), is(false)); - } - - @Test - public void composeSingle() { - - SnapshotFilter mockSnapshotFilter = mockSnapshotFilter(false); - SnapshotFilter composedFilter = ComposableSnapshotFilter.compose(Operator.AND, mockSnapshotFilter); - - assertThat(composedFilter, is(sameInstance(mockSnapshotFilter))); - } - - @Test - public void composeMultiple() throws Exception { - - SnapshotFilter mockSnapshotFilterOne = mockSnapshotFilter(false); - SnapshotFilter mockSnapshotFilterTwo = mockSnapshotFilter(true); - - SnapshotFilter composedFilter = ComposableSnapshotFilter.compose(Operator.AND, mockSnapshotFilterOne, - mockSnapshotFilterTwo); - - assertThat(composedFilter, is(not(sameInstance(mockSnapshotFilterOne)))); - assertThat(composedFilter, is(not(sameInstance(mockSnapshotFilterTwo)))); - assertThat((ComposableSnapshotFilter) composedFilter, isA(ComposableSnapshotFilter.class)); - assertThat((SnapshotFilter) TestUtils.readField("leftOperand", composedFilter), - is(equalTo(mockSnapshotFilterTwo))); - assertThat((Operator) TestUtils.readField("operator", composedFilter), is(equalTo(Operator.AND))); - assertThat((SnapshotFilter) TestUtils.readField("rightOperand", composedFilter), - is(equalTo(mockSnapshotFilterOne))); - } - - @Test - @SuppressWarnings("unchecked") - public void composeAndThenAccept() { - - SnapshotFilter falseFilter = mockSnapshotFilter(false); - SnapshotFilter trueFilter = mockSnapshotFilter(true); - - SnapshotFilter composedFilter = ComposableSnapshotFilter.and(trueFilter, trueFilter); - - assertThat((ComposableSnapshotFilter) composedFilter, isA(ComposableSnapshotFilter.class)); - assertThat(composedFilter.accept(null), is(true)); - - composedFilter = ComposableSnapshotFilter.and(falseFilter, trueFilter); - - assertThat((ComposableSnapshotFilter) composedFilter, isA(ComposableSnapshotFilter.class)); - assertThat(composedFilter.accept(null), is(false)); - - composedFilter = ComposableSnapshotFilter.and(falseFilter, falseFilter); - - assertThat((ComposableSnapshotFilter) composedFilter, isA(ComposableSnapshotFilter.class)); - assertThat(composedFilter.accept(null), is(false)); - } - - @Test - @SuppressWarnings("unchecked") - public void composeOrThenAccept() { - - SnapshotFilter falseFilter = mockSnapshotFilter(false); - SnapshotFilter trueFilter = mockSnapshotFilter(true); - - SnapshotFilter composedFilter = ComposableSnapshotFilter.or(trueFilter, trueFilter); - - assertThat((ComposableSnapshotFilter) composedFilter, isA(ComposableSnapshotFilter.class)); - assertThat(composedFilter.accept(null), is(true)); - - composedFilter = ComposableSnapshotFilter.or(falseFilter, trueFilter); - - assertThat((ComposableSnapshotFilter) composedFilter, isA(ComposableSnapshotFilter.class)); - assertThat(composedFilter.accept(null), is(true)); - - composedFilter = ComposableSnapshotFilter.or(falseFilter, falseFilter); - - assertThat((ComposableSnapshotFilter) composedFilter, isA(ComposableSnapshotFilter.class)); - assertThat(composedFilter.accept(null), is(false)); - } -} diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/snapshot/filter/ComposableSnapshotFilterUnitTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/snapshot/filter/ComposableSnapshotFilterUnitTests.java new file mode 100644 index 00000000..37052183 --- /dev/null +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/snapshot/filter/ComposableSnapshotFilterUnitTests.java @@ -0,0 +1,171 @@ +/* + * Copyright 2010-2021 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.gemfire.snapshot.filter; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import java.util.concurrent.atomic.AtomicInteger; + +import org.junit.Test; + +import org.apache.geode.cache.snapshot.SnapshotFilter; + +import org.springframework.data.gemfire.TestUtils; +import org.springframework.data.gemfire.snapshot.filter.ComposableSnapshotFilter.Operator; + +/** + * Unit Tests for {@link ComposableSnapshotFilter}. + * + * @author John Blum + * @see org.junit.Test + * @see org.mockito.Mockito + * @see org.apache.geode.cache.snapshot.SnapshotFilter + * @see org.springframework.data.gemfire.snapshot.filter.ComposableSnapshotFilter + * @see org.springframework.data.gemfire.snapshot.filter.ComposableSnapshotFilter.Operator + * @since 1.7.0 + */ +@SuppressWarnings("unchecked") +public class ComposableSnapshotFilterUnitTests { + + private static final AtomicInteger ID_SEQUENCE = new AtomicInteger(0); + + private SnapshotFilter mockSnapshotFilter(boolean accept) { + + SnapshotFilter mockSnapshotFilter = + mock(SnapshotFilter.class, String.format("MockSnapshotFilter-%1$d", ID_SEQUENCE.incrementAndGet())); + + when(mockSnapshotFilter.accept(any())).thenReturn(accept); + + return mockSnapshotFilter; + } + + @Test + public void operatorIdentityIsSuccessful() { + + assertThat(Operator.AND.isAnd()).isTrue(); + assertThat(Operator.AND.isOr()).isFalse(); + assertThat(Operator.OR.isAnd()).isFalse(); + assertThat(Operator.OR.isOr()).isTrue(); + } + + @Test + public void andOperatorOperationIsValid() { + + assertThat(Operator.AND.operate(true, true)).isTrue(); + assertThat(Operator.AND.operate(true, false)).isFalse(); + assertThat(Operator.AND.operate(false, true)).isFalse(); + assertThat(Operator.AND.operate(false, false)).isFalse(); + } + + @Test + public void orOperatorOperationIsValid() { + + assertThat(Operator.OR.operate(true, true)).isTrue(); + assertThat(Operator.OR.operate(true, false)).isTrue(); + assertThat(Operator.OR.operate(false, true)).isTrue(); + assertThat(Operator.OR.operate(false, false)).isFalse(); + } + + @Test + public void composeSingle() { + + SnapshotFilter mockSnapshotFilter = mockSnapshotFilter(false); + SnapshotFilter composedFilter = ComposableSnapshotFilter.compose(Operator.AND, mockSnapshotFilter); + + assertThat(composedFilter).isSameAs(mockSnapshotFilter); + } + + @Test + public void composeMultiple() throws Exception { + + SnapshotFilter mockSnapshotFilterOne = mockSnapshotFilter(false); + SnapshotFilter mockSnapshotFilterTwo = mockSnapshotFilter(true); + + SnapshotFilter composedFilter = + ComposableSnapshotFilter.compose(Operator.AND, mockSnapshotFilterOne,mockSnapshotFilterTwo); + + assertThat(composedFilter).isNotSameAs(mockSnapshotFilterOne); + assertThat(composedFilter).isNotSameAs(mockSnapshotFilterTwo); + assertThat((ComposableSnapshotFilter) composedFilter) + .isInstanceOf(ComposableSnapshotFilter.class); + assertThat(TestUtils.>readField("leftOperand", composedFilter)) + .isEqualTo(mockSnapshotFilterTwo); + assertThat((Operator) TestUtils.readField("operator", composedFilter)).isEqualTo(Operator.AND); + assertThat(TestUtils.>readField("rightOperand", composedFilter)) + .isEqualTo(mockSnapshotFilterOne); + } + + @Test + @SuppressWarnings("unchecked") + public void composeAndThenAccept() { + + SnapshotFilter falseFilter = mockSnapshotFilter(false); + SnapshotFilter trueFilter = mockSnapshotFilter(true); + + SnapshotFilter composedFilter = ComposableSnapshotFilter.and(trueFilter, trueFilter); + + assertThat((ComposableSnapshotFilter) composedFilter) + .isInstanceOf(ComposableSnapshotFilter.class); + + assertThat(composedFilter.accept(null)).isTrue(); + + composedFilter = ComposableSnapshotFilter.and(falseFilter, trueFilter); + + assertThat((ComposableSnapshotFilter) composedFilter) + .isInstanceOf(ComposableSnapshotFilter.class); + + assertThat(composedFilter.accept(null)).isFalse(); + + composedFilter = ComposableSnapshotFilter.and(falseFilter, falseFilter); + + assertThat((ComposableSnapshotFilter) composedFilter) + .isInstanceOf(ComposableSnapshotFilter.class); + + assertThat(composedFilter.accept(null)).isFalse(); + } + + @Test + @SuppressWarnings("unchecked") + public void composeOrThenAccept() { + + SnapshotFilter falseFilter = mockSnapshotFilter(false); + SnapshotFilter trueFilter = mockSnapshotFilter(true); + + SnapshotFilter composedFilter = ComposableSnapshotFilter.or(trueFilter, trueFilter); + + assertThat((ComposableSnapshotFilter) composedFilter) + .isInstanceOf(ComposableSnapshotFilter.class); + + assertThat(composedFilter.accept(null)).isTrue(); + + composedFilter = ComposableSnapshotFilter.or(falseFilter, trueFilter); + + assertThat((ComposableSnapshotFilter) composedFilter) + .isInstanceOf(ComposableSnapshotFilter.class); + + assertThat(composedFilter.accept(null)).isTrue(); + + composedFilter = ComposableSnapshotFilter.or(falseFilter, falseFilter); + + assertThat((ComposableSnapshotFilter) composedFilter) + .isInstanceOf(ComposableSnapshotFilter.class); + + assertThat(composedFilter.accept(null)).isFalse(); + } +} diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/support/GemfirePersistenceExceptionTranslationTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/support/GemfirePersistenceExceptionTranslationTest.java index 5cf79f09..881ab00a 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/support/GemfirePersistenceExceptionTranslationTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/support/GemfirePersistenceExceptionTranslationTest.java @@ -15,37 +15,39 @@ */ package org.springframework.data.gemfire.support; -import static org.junit.Assert.fail; +import static org.assertj.core.api.Assertions.fail; -import java.util.Map; +import org.junit.Test; +import org.junit.runner.RunWith; import org.apache.geode.cache.query.FunctionDomainException; import org.apache.geode.cache.query.QueryException; import org.apache.geode.cache.query.QueryInvocationTargetException; -import org.junit.Test; -import org.junit.runner.RunWith; - import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.config.BeanPostProcessor; import org.springframework.context.ApplicationContext; import org.springframework.data.gemfire.GemfireQueryException; +import org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport; import org.springframework.stereotype.Repository; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit4.SpringRunner; -@RunWith(SpringJUnit4ClassRunner.class) +@RunWith(SpringRunner.class) @ContextConfiguration -public class GemfirePersistenceExceptionTranslationTest { +@SuppressWarnings("unused") +public class GemfirePersistenceExceptionTranslationTest extends IntegrationTestsSupport { + @Autowired - GemFireRepo1 gemfireRepo1; + private ApplicationContext applicationContext; + @Autowired - ApplicationContext ctx; + private GemFireRepo1 gemfireRepo1; @Test public void test() { - Map bpps = ctx.getBeansOfType(BeanPostProcessor.class); + applicationContext.getBeansOfType(BeanPostProcessor.class); try { gemfireRepo1.doit(new QueryException()); @@ -62,9 +64,8 @@ public class GemfirePersistenceExceptionTranslationTest { try { gemfireRepo1.doit(new QueryInvocationTargetException("test")); fail("should throw a query exception"); - } catch (GemfireQueryException e) { - } + catch (GemfireQueryException ignore) { } } /** diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/support/SpringContextBootstrappingInitializerIntegrationTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/support/SpringContextBootstrappingInitializerIntegrationTests.java index 25c41036..9213a3a3 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/support/SpringContextBootstrappingInitializerIntegrationTests.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/support/SpringContextBootstrappingInitializerIntegrationTests.java @@ -15,12 +15,8 @@ */ package org.springframework.data.gemfire.support; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.fail; import java.time.Instant; import java.util.Map; @@ -148,7 +144,8 @@ public class SpringContextBootstrappingInitializerIntegrationTests extends Integ } } - protected void doSpringContextBootstrappingInitializationTest(String cacheXmlFile) { + @SuppressWarnings("all") + private void doSpringContextBootstrappingInitializationTest(String cacheXmlFile) { Cache gemfireCache = new CacheFactory() .set("name", GEMFIRE_NAME) @@ -160,51 +157,51 @@ public class SpringContextBootstrappingInitializerIntegrationTests extends Integ //.set("jmx-manager-start", GEMFIRE_JMX_MANAGER_START) .create(); - assertNotNull("The GemFire Cache was not properly created and initialized!", gemfireCache); - assertFalse("The GemFire Cache is closed!", gemfireCache.isClosed()); + assertThat(gemfireCache).as("The GemFire Cache was not properly created and initialized!").isNotNull(); + assertThat(gemfireCache.isClosed()).as("The GemFire Cache is closed!").isFalse(); Set> rootRegions = gemfireCache.rootRegions(); - assertNotNull(rootRegions); - assertFalse(rootRegions.isEmpty()); - assertEquals(2, rootRegions.size()); - assertNotNull(gemfireCache.getRegion("/TestRegion")); - assertNotNull(gemfireCache.getRegion("/Users")); + assertThat(rootRegions).isNotNull(); + assertThat(rootRegions.isEmpty()).isFalse(); + assertThat(rootRegions.size()).isEqualTo(2); + assertThat(gemfireCache.getRegion("/TestRegion")).isNotNull(); + assertThat(gemfireCache.getRegion("/Users")).isNotNull(); ConfigurableApplicationContext applicationContext = SpringContextBootstrappingInitializer.getApplicationContext(); - assertNotNull(applicationContext); - assertTrue(applicationContext.containsBean(GemfireConstants.DEFAULT_GEMFIRE_CACHE_NAME)); - assertTrue(applicationContext.containsBean("TestRegion")); - assertFalse(applicationContext.containsBean("Users")); // Region 'Users' is defined in Pivotal GemFire cache.xml - assertTrue(applicationContext.containsBean("userDataSource")); - assertTrue(applicationContext.containsBean("userDao")); - assertTrue(applicationContext.containsBean("userService")); + assertThat(applicationContext).isNotNull(); + assertThat(applicationContext.containsBean(GemfireConstants.DEFAULT_GEMFIRE_CACHE_NAME)).isTrue(); + assertThat(applicationContext.containsBean("TestRegion")).isTrue(); + assertThat(applicationContext.containsBean("Users")).isFalse(); // Region 'Users' is defined in Pivotal GemFire cache.xml + assertThat(applicationContext.containsBean("userDataSource")).isTrue(); + assertThat(applicationContext.containsBean("userDao")).isTrue(); + assertThat(applicationContext.containsBean("userService")).isTrue(); DataSource userDataSource = applicationContext.getBean("userDataSource", DataSource.class); TestUserDao userDao = applicationContext.getBean("userDao", TestUserDao.class); TestUserService userService = applicationContext.getBean("userService", TestUserService.class); - assertSame(userDataSource, userDao.getDataSource()); - assertSame(userDao, userService.getUserDao()); + assertThat(userDao.getDataSource()).isSameAs(userDataSource); + assertThat(userService.getUserDao()).isSameAs(userDao); // NOTE Pivotal GemFire declared component initialized by Spring! UserDataStoreCacheLoader usersCacheLoader = UserDataStoreCacheLoader.getInstance(); - assertSame(userDataSource, usersCacheLoader.getDataSource()); + assertThat(usersCacheLoader.getDataSource()).isSameAs(userDataSource); Region users = gemfireCache.getRegion("/Users"); - assertNotNull(users); - assertEquals("Users", users.getName()); - assertEquals("/Users", users.getFullPath()); - assertTrue(users.isEmpty()); - assertEquals(UserDataStoreCacheLoader.USER_DATA.get("jblum"), users.get("jblum")); - assertEquals(UserDataStoreCacheLoader.USER_DATA.get("jdoe"), users.get("jdoe")); - assertEquals(UserDataStoreCacheLoader.USER_DATA.get("jhandy"), users.get("jhandy")); - assertFalse(users.isEmpty()); - assertEquals(3, users.size()); + assertThat(users).isNotNull(); + assertThat(users.getName()).isEqualTo("Users"); + assertThat(users.getFullPath()).isEqualTo("/Users"); + assertThat(users.isEmpty()).isTrue(); + assertThat(users.get("jblum")).isEqualTo(UserDataStoreCacheLoader.USER_DATA.get("jblum")); + assertThat(users.get("jdoe")).isEqualTo(UserDataStoreCacheLoader.USER_DATA.get("jdoe")); + assertThat(users.get("jhandy")).isEqualTo(UserDataStoreCacheLoader.USER_DATA.get("jhandy")); + assertThat(users.isEmpty()).isFalse(); + assertThat(users.size()).isEqualTo(3); } @Test @@ -219,8 +216,8 @@ public class SpringContextBootstrappingInitializerIntegrationTests extends Integ UserDataStoreCacheLoader userDataStoreCacheLoader = applicationContext.getBean(UserDataStoreCacheLoader.class); DataSource userDataSource = applicationContext.getBean(DataSource.class); - assertSame(UserDataStoreCacheLoader.getInstance(), userDataStoreCacheLoader); - assertSame(userDataStoreCacheLoader.getDataSource(), userDataSource); + assertThat(userDataStoreCacheLoader).isSameAs(UserDataStoreCacheLoader.getInstance()); + assertThat(userDataSource).isSameAs(userDataStoreCacheLoader.getDataSource()); } @Test diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/support/SpringContextBootstrappingInitializerTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/support/SpringContextBootstrappingInitializerUnitTests.java similarity index 84% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/support/SpringContextBootstrappingInitializerTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/support/SpringContextBootstrappingInitializerUnitTests.java index 486df52e..bb19cef8 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/support/SpringContextBootstrappingInitializerTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/support/SpringContextBootstrappingInitializerUnitTests.java @@ -13,22 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.springframework.data.gemfire.support; -import static org.hamcrest.CoreMatchers.containsString; -import static org.hamcrest.CoreMatchers.equalTo; -import static org.hamcrest.CoreMatchers.instanceOf; -import static org.hamcrest.CoreMatchers.is; -import static org.hamcrest.CoreMatchers.isA; -import static org.hamcrest.CoreMatchers.notNullValue; -import static org.hamcrest.CoreMatchers.nullValue; -import static org.hamcrest.CoreMatchers.sameInstance; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertThat; -import static org.junit.Assert.assertTrue; +import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.same; @@ -39,17 +26,16 @@ import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.verifyZeroInteractions; +import static org.mockito.Mockito.verifyNoInteractions; import static org.mockito.Mockito.when; import java.util.Arrays; import java.util.Properties; -import org.apache.geode.cache.Cache; - import org.junit.After; import org.junit.Test; -import org.slf4j.Logger; + +import org.apache.geode.cache.Cache; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextException; @@ -65,23 +51,22 @@ import org.springframework.context.event.ContextStoppedEvent; import org.springframework.context.support.AbstractApplicationContext; import org.springframework.util.ObjectUtils; +import org.slf4j.Logger; + /** - * The SpringContextBootstrappingInitializerTest class is a test suite of test cases testing the contract - * and functionality of the SpringContextBootstrappingInitializer class. This test class focuses on testing isolated - * units of functionality in the Initializer class directly, mocking any dependencies as appropriate, in order for the - * class to uphold it's contract. + * Unit Tests for {@link SpringContextBootstrappingInitializer}. * * @author John Blum * @see org.junit.Test * @see org.mockito.Mockito * @see org.springframework.context.ApplicationContext * @see org.springframework.context.ConfigurableApplicationContext + * @see org.springframework.context.annotation.AnnotationConfigApplicationContext * @see org.springframework.data.gemfire.support.SpringContextBootstrappingInitializer - * @see SpringContextBootstrappingInitializerIntegrationTests * @since 1.4.0 */ @SuppressWarnings("unused") -public class SpringContextBootstrappingInitializerTest { +public class SpringContextBootstrappingInitializerUnitTests { private static Properties createParameters(String parameter, String value) { @@ -99,7 +84,7 @@ public class SpringContextBootstrappingInitializerTest { return parameters; } - private Cache mockCache = mock(Cache.class); + private final Cache mockCache = mock(Cache.class); @After public void tearDown() { @@ -119,8 +104,7 @@ public class SpringContextBootstrappingInitializerTest { SpringContextBootstrappingInitializer.applicationContext = mockApplicationContext; - assertThat(SpringContextBootstrappingInitializer.getApplicationContext(), - is(sameInstance(mockApplicationContext))); + assertThat(SpringContextBootstrappingInitializer.getApplicationContext()).isSameAs(mockApplicationContext); } @Test(expected = IllegalStateException.class) @@ -131,10 +115,10 @@ public class SpringContextBootstrappingInitializerTest { } catch (IllegalStateException expected) { - assertThat(expected.getMessage(), - containsString("A Spring ApplicationContext was not configured and initialized properly")); + assertThat(expected.getMessage()) + .contains("A Spring ApplicationContext was not configured and initialized properly"); - assertThat(expected.getCause(), is(nullValue(Throwable.class))); + assertThat(expected.getCause()).isNull(); throw expected; } @@ -143,7 +127,7 @@ public class SpringContextBootstrappingInitializerTest { @Test public void setBeanClassLoaderWithCurrentThreadContextClassLoader() { - assertThat(SpringContextBootstrappingInitializer.applicationContext, is(nullValue())); + assertThat(SpringContextBootstrappingInitializer.applicationContext).isNull(); SpringContextBootstrappingInitializer.setBeanClassLoader(Thread.currentThread().getContextClassLoader()); } @@ -176,10 +160,9 @@ public class SpringContextBootstrappingInitializerTest { } catch (IllegalStateException expected) { - assertThat(expected.getMessage(), - containsString("A Spring ApplicationContext has already been initialized")); + assertThat(expected.getMessage()).contains("A Spring ApplicationContext has already been initialized"); - assertThat(expected.getCause(), is(nullValue(Throwable.class))); + assertThat(expected.getCause()).isNull(); throw expected; } @@ -196,11 +179,11 @@ public class SpringContextBootstrappingInitializerTest { } catch (IllegalArgumentException expected) { - assertThat(expected.getMessage(), - containsString("'AnnotatedClasses', 'basePackages' or 'configLocations' must be specified" - + " in order to construct and configure an instance of the ConfigurableApplicationContext")); + assertThat(expected.getMessage()) + .contains("'AnnotatedClasses', 'basePackages' or 'configLocations' must be specified" + + " in order to construct and configure an instance of the ConfigurableApplicationContext"); - assertThat(expected.getCause(), is(nullValue(Throwable.class))); + assertThat(expected.getCause()).isNull(); throw expected; } @@ -230,26 +213,18 @@ public class SpringContextBootstrappingInitializerTest { } }); - /* - doAnswer(invocationOnMock -> - ObjectUtils.isEmpty(invocationOnMock.getArgument(0)) - ? mockAnnotationApplicationContext - : mockXmlApplicationContext - ).when(initializer).createApplicationContext(any(String[].class)); - */ - doReturn(mockAnnotationApplicationContext) .when(initializer).doRegister(any(ConfigurableApplicationContext.class), any(Class[].class)); ConfigurableApplicationContext actualApplicationContext = initializer.createApplicationContext(null, null); - assertThat(actualApplicationContext, is(sameInstance(mockAnnotationApplicationContext))); + assertThat(actualApplicationContext).isSameAs(mockAnnotationApplicationContext); verify(initializer, times(1)) .doRegister(eq(mockAnnotationApplicationContext), eq(annotatedClasses)); - verifyZeroInteractions(mockXmlApplicationContext); + verifyNoInteractions(mockXmlApplicationContext); } @Test @@ -280,7 +255,7 @@ public class SpringContextBootstrappingInitializerTest { ConfigurableApplicationContext actualApplicationContext = initializer.createApplicationContext(basePackages, null); - assertThat(actualApplicationContext, is(sameInstance(mockAnnotationApplicationContext))); + assertThat(actualApplicationContext).isSameAs(mockAnnotationApplicationContext); verify(initializer, times(1)) .scanBasePackages(eq(mockAnnotationApplicationContext), eq(basePackages)); @@ -309,7 +284,7 @@ public class SpringContextBootstrappingInitializerTest { ConfigurableApplicationContext actualApplicationContext = initializer.createApplicationContext(null, new String[] { "/path/to/application/context.xml" }); - assertThat(actualApplicationContext, is(sameInstance(mockXmlApplicationContext))); + assertThat(actualApplicationContext).isSameAs(mockXmlApplicationContext); } @Test @@ -322,7 +297,7 @@ public class SpringContextBootstrappingInitializerTest { SpringContextBootstrappingInitializer initializer = new SpringContextBootstrappingInitializer(); - assertSame(mockApplicationContext, initializer.initApplicationContext(mockApplicationContext)); + assertThat(initializer.initApplicationContext(mockApplicationContext)).isSameAs(mockApplicationContext); verify(mockApplicationContext, times(1)).addApplicationListener(same(initializer)); verify(mockApplicationContext, times(1)).registerShutdownHook(); @@ -337,10 +312,9 @@ public class SpringContextBootstrappingInitializerTest { } catch (IllegalArgumentException expected) { - assertThat(expected.getMessage(), - containsString("ConfigurableApplicationContext must not be null")); + assertThat(expected.getMessage()).contains("ConfigurableApplicationContext must not be null"); - assertThat(expected.getCause(), is(nullValue(Throwable.class))); + assertThat(expected.getCause()).isNull(); throw expected; } @@ -352,8 +326,8 @@ public class SpringContextBootstrappingInitializerTest { ConfigurableApplicationContext mockApplicationContext = mock(ConfigurableApplicationContext.class,"MockApplicationContext"); - assertThat(new SpringContextBootstrappingInitializer().refreshApplicationContext(mockApplicationContext), - is(sameInstance(mockApplicationContext))); + assertThat(new SpringContextBootstrappingInitializer().refreshApplicationContext(mockApplicationContext)) + .isSameAs(mockApplicationContext); verify(mockApplicationContext, times(1)).refresh(); } @@ -366,10 +340,9 @@ public class SpringContextBootstrappingInitializerTest { } catch (IllegalArgumentException expected) { - assertThat(expected.getMessage(), - containsString("ConfigurableApplicationContext must not be null")); + assertThat(expected.getMessage()).contains("ConfigurableApplicationContext must not be null"); - assertThat(expected.getCause(), is(nullValue(Throwable.class))); + assertThat(expected.getCause()).isNull(); throw expected; } @@ -388,8 +361,8 @@ public class SpringContextBootstrappingInitializerTest { doReturn(mockApplicationContext) .when(initializer).doRegister(any(ConfigurableApplicationContext.class), any(Class[].class)); - assertThat(initializer.registerAnnotatedClasses(mockApplicationContext, annotatedClasses), - is(sameInstance(mockApplicationContext))); + assertThat(initializer.registerAnnotatedClasses(mockApplicationContext, annotatedClasses)) + .isSameAs(mockApplicationContext); verify(initializer, times(1)) .doRegister(eq(mockApplicationContext), eq(annotatedClasses)); @@ -406,8 +379,8 @@ public class SpringContextBootstrappingInitializerTest { doReturn(mockApplicationContext) .when(initializer).doRegister(any(ConfigurableApplicationContext.class), any(Class[].class)); - assertThat(initializer.registerAnnotatedClasses(mockApplicationContext, new Class[0]), - is(sameInstance(mockApplicationContext))); + assertThat(initializer.registerAnnotatedClasses(mockApplicationContext, new Class[0])) + .isSameAs(mockApplicationContext); verify(initializer, never()).doRegister(any(ConfigurableApplicationContext.class), any(Class[].class)); } @@ -423,8 +396,9 @@ public class SpringContextBootstrappingInitializerTest { doReturn(mockApplicationContext) .when(initializer).doRegister(any(ConfigurableApplicationContext.class), any(Class[].class)); - assertThat(initializer.registerAnnotatedClasses(mockApplicationContext, new Class[] { TestAppConfigOne.class }), - is(sameInstance(mockApplicationContext))); + assertThat( + initializer.registerAnnotatedClasses(mockApplicationContext, new Class[] { TestAppConfigOne.class })) + .isSameAs(mockApplicationContext); verify(initializer, never()).doRegister(any(ConfigurableApplicationContext.class), any(Class[].class)); } @@ -442,8 +416,7 @@ public class SpringContextBootstrappingInitializerTest { String[] basePackages = { "org.example.app", "org.example.plugins" }; - assertThat(initializer.scanBasePackages(mockApplicationContext, basePackages), - is(sameInstance(mockApplicationContext))); + assertThat(initializer.scanBasePackages(mockApplicationContext, basePackages)).isSameAs(mockApplicationContext); verify(initializer, times(1)).doScan(eq(mockApplicationContext), eq(basePackages)); } @@ -459,8 +432,7 @@ public class SpringContextBootstrappingInitializerTest { doReturn(mockApplicationContext) .when(initializer).doScan(any(ConfigurableApplicationContext.class), any(String[].class)); - assertThat(initializer.scanBasePackages(mockApplicationContext, null), - is(sameInstance(mockApplicationContext))); + assertThat(initializer.scanBasePackages(mockApplicationContext, null)).isSameAs(mockApplicationContext); verify(initializer, never()).doScan(any(ConfigurableApplicationContext.class), any(String[].class)); } @@ -476,8 +448,8 @@ public class SpringContextBootstrappingInitializerTest { doReturn(mockApplicationContext) .when(initializer).doScan(any(ConfigurableApplicationContext.class), any(String[].class)); - assertThat(initializer.scanBasePackages(mockApplicationContext, new String[] { "org.example.app" }), - is(sameInstance(mockApplicationContext))); + assertThat(initializer.scanBasePackages(mockApplicationContext, new String[] { "org.example.app" })) + .isSameAs(mockApplicationContext); verify(initializer, never()).doScan(any(ConfigurableApplicationContext.class), any(String[].class)); } @@ -490,8 +462,8 @@ public class SpringContextBootstrappingInitializerTest { SpringContextBootstrappingInitializer.setBeanClassLoader(Thread.currentThread().getContextClassLoader()); - assertThat(new SpringContextBootstrappingInitializer().setClassLoader(mockApplicationContext), - is(sameInstance(mockApplicationContext))); + assertThat(new SpringContextBootstrappingInitializer().setClassLoader(mockApplicationContext)) + .isSameAs(mockApplicationContext); verify(mockApplicationContext, times(1)) .setClassLoader(eq(Thread.currentThread().getContextClassLoader())); @@ -505,8 +477,8 @@ public class SpringContextBootstrappingInitializerTest { SpringContextBootstrappingInitializer.setBeanClassLoader(Thread.currentThread().getContextClassLoader()); - assertThat(new SpringContextBootstrappingInitializer().setClassLoader(mockApplicationContext), - is(sameInstance(mockApplicationContext))); + assertThat(new SpringContextBootstrappingInitializer().setClassLoader(mockApplicationContext)) + .isSameAs(mockApplicationContext); } @Test @@ -517,15 +489,15 @@ public class SpringContextBootstrappingInitializerTest { SpringContextBootstrappingInitializer.setBeanClassLoader(null); - assertThat(new SpringContextBootstrappingInitializer().setClassLoader(mockApplicationContext), - is(sameInstance(mockApplicationContext))); + assertThat(new SpringContextBootstrappingInitializer().setClassLoader(mockApplicationContext)) + .isSameAs(mockApplicationContext); verify(mockApplicationContext, never()).setClassLoader(any(ClassLoader.class)); } @Test public void nullSafeGetApplicationContextIdWithNullReference() { - assertThat(new SpringContextBootstrappingInitializer().nullSafeGetApplicationContextId(null), is(nullValue())); + assertThat(new SpringContextBootstrappingInitializer().nullSafeGetApplicationContextId(null)).isNull(); } @Test @@ -535,8 +507,8 @@ public class SpringContextBootstrappingInitializerTest { when(mockApplicationContext.getId()).thenReturn("123"); - assertThat(new SpringContextBootstrappingInitializer().nullSafeGetApplicationContextId(mockApplicationContext), - is(equalTo("123"))); + assertThat(new SpringContextBootstrappingInitializer().nullSafeGetApplicationContextId(mockApplicationContext)) + .isEqualTo("123"); } @Test @@ -552,7 +524,7 @@ public class SpringContextBootstrappingInitializerTest { when(mockApplicationContext.getId()).thenReturn("testInitWithAnnotatedClasses"); when(mockApplicationContext.isRunning()).thenReturn(true); - assertNull(SpringContextBootstrappingInitializer.applicationContext); + assertThat(SpringContextBootstrappingInitializer.applicationContext).isNull(); SpringContextBootstrappingInitializer.register(TestAppConfigOne.class); SpringContextBootstrappingInitializer.register(TestAppConfigTwo.class); @@ -576,7 +548,7 @@ public class SpringContextBootstrappingInitializerTest { verify(initializer, times(1)).doRegister(eq(mockApplicationContext), eq(new Class[] { TestAppConfigOne.class, TestAppConfigTwo.class })); - assertEquals(mockApplicationContext, SpringContextBootstrappingInitializer.getApplicationContext()); + assertThat(SpringContextBootstrappingInitializer.getApplicationContext()).isEqualTo(mockApplicationContext); } @Test @@ -590,7 +562,7 @@ public class SpringContextBootstrappingInitializerTest { SpringContextBootstrappingInitializer.applicationContext = mockApplicationContext; - assertSame(mockApplicationContext, SpringContextBootstrappingInitializer.getApplicationContext()); + assertThat(SpringContextBootstrappingInitializer.getApplicationContext()).isSameAs(mockApplicationContext); SpringContextBootstrappingInitializer initializer = new SpringContextBootstrappingInitializer(); @@ -600,13 +572,13 @@ public class SpringContextBootstrappingInitializerTest { verify(mockApplicationContext, never()).registerShutdownHook(); verify(mockApplicationContext, never()).refresh(); - assertSame(mockApplicationContext, SpringContextBootstrappingInitializer.getApplicationContext()); + assertThat(SpringContextBootstrappingInitializer.getApplicationContext()).isSameAs(mockApplicationContext); } @Test public void testInitWhenApplicationContextIsNull() { - assertNull(SpringContextBootstrappingInitializer.applicationContext); + assertThat(SpringContextBootstrappingInitializer.applicationContext).isNull(); ConfigurableApplicationContext mockApplicationContext = mock(ConfigurableApplicationContext.class, "testInitWhenApplicationContextIsNull"); @@ -633,7 +605,7 @@ public class SpringContextBootstrappingInitializerTest { verify(mockApplicationContext, times(1)).registerShutdownHook(); verify(mockApplicationContext, times(1)).refresh(); - assertSame(mockApplicationContext, SpringContextBootstrappingInitializer.getApplicationContext()); + assertThat(SpringContextBootstrappingInitializer.getApplicationContext()).isSameAs(mockApplicationContext); } @Test @@ -646,7 +618,8 @@ public class SpringContextBootstrappingInitializerTest { SpringContextBootstrappingInitializer.applicationContext = mockInactiveApplicationContext; - assertSame(mockInactiveApplicationContext, SpringContextBootstrappingInitializer.getApplicationContext()); + assertThat(SpringContextBootstrappingInitializer.getApplicationContext()) + .isSameAs(mockInactiveApplicationContext); final ConfigurableApplicationContext mockNewApplicationContext = mock(ConfigurableApplicationContext.class, "testInitWhenApplicationContextIsInactive.New"); @@ -671,13 +644,13 @@ public class SpringContextBootstrappingInitializerTest { verify(mockNewApplicationContext, times(1)).registerShutdownHook(); verify(mockNewApplicationContext, times(1)).refresh(); - assertSame(mockNewApplicationContext, SpringContextBootstrappingInitializer.getApplicationContext()); + assertThat(SpringContextBootstrappingInitializer.getApplicationContext()).isSameAs(mockNewApplicationContext); } @Test(expected = ApplicationContextException.class) public void testInitWhenBasePackagesAndContextConfigLocationsParametersAreUnspecified() { - assertThat(SpringContextBootstrappingInitializer.applicationContext, is(nullValue())); + assertThat(SpringContextBootstrappingInitializer.applicationContext).isNull(); try { @@ -689,8 +662,8 @@ public class SpringContextBootstrappingInitializerTest { } catch (ApplicationContextException expected) { - assertThat(expected.getMessage(), containsString("Failed to bootstrap the Spring ApplicationContext")); - assertThat(expected.getCause(), is(instanceOf(IllegalArgumentException.class))); + assertThat(expected.getMessage()).contains("Failed to bootstrap the Spring ApplicationContext"); + assertThat(expected.getCause()).isInstanceOf(IllegalArgumentException.class); throw expected; } @@ -698,7 +671,7 @@ public class SpringContextBootstrappingInitializerTest { @Test(expected = IllegalStateException.class) public void testInitWhenApplicationContextIsNotRunning() { - assertNull(SpringContextBootstrappingInitializer.applicationContext); + assertThat(SpringContextBootstrappingInitializer.applicationContext).isNull(); ConfigurableApplicationContext mockApplicationContext = mock(ConfigurableApplicationContext.class,"testInitWhenApplicationContextIsNotRunning"); @@ -727,10 +700,10 @@ public class SpringContextBootstrappingInitializerTest { } catch (ApplicationContextException expected) { - assertTrue(expected.getMessage().contains("Failed to bootstrap the Spring ApplicationContext")); - assertTrue(expected.getCause() instanceof IllegalStateException); - assertEquals("The Spring ApplicationContext (testInitWhenApplicationContextIsNotRunning) failed to be properly initialized with the context config files ([]) or base packages ([org.example.app, org.example.plugins])!", - expected.getCause().getMessage()); + assertThat(expected.getMessage().contains("Failed to bootstrap the Spring ApplicationContext")).isTrue(); + assertThat(expected.getCause() instanceof IllegalStateException).isTrue(); + assertThat(expected.getCause().getMessage()).isEqualTo( + "The Spring ApplicationContext (testInitWhenApplicationContextIsNotRunning) failed to be properly initialized with the context config files ([]) or base packages ([org.example.app, org.example.plugins])!"); throw (IllegalStateException) expected.getCause(); } @@ -740,11 +713,10 @@ public class SpringContextBootstrappingInitializerTest { verify(mockApplicationContext, times(1)).registerShutdownHook(); verify(mockApplicationContext, times(1)).refresh(); - assertNull(SpringContextBootstrappingInitializer.applicationContext); + assertThat(SpringContextBootstrappingInitializer.applicationContext).isNull(); } } - @SuppressWarnings("all") @Test(expected = IllegalStateException.class) public void testInitLogsErrors() throws Throwable { @@ -774,9 +746,9 @@ public class SpringContextBootstrappingInitializerTest { } catch (ApplicationContextException expected) { - assertTrue(expected.getMessage().contains("Failed to bootstrap the Spring ApplicationContext")); - assertTrue(expected.getCause() instanceof IllegalStateException); - assertEquals("TEST", expected.getCause().getMessage()); + assertThat(expected.getMessage().contains("Failed to bootstrap the Spring ApplicationContext")).isTrue(); + assertThat(expected.getCause() instanceof IllegalStateException).isTrue(); + assertThat(expected.getCause().getMessage()).isEqualTo("TEST"); throw expected.getCause(); } @@ -788,20 +760,19 @@ public class SpringContextBootstrappingInitializerTest { protected static void assertNotified(TestApplicationListener listener, ApplicationContextEvent expectedEvent) { - assertThat(listener, is(notNullValue())); - assertThat(listener.isNotified(), is(true)); - assertThat(listener.getActualEvent(), is(sameInstance(expectedEvent))); + assertThat(listener).isNotNull(); + assertThat(listener.isNotified()).isTrue(); + assertThat(listener.getActualEvent()).isSameAs(expectedEvent); } protected static void assertUnnotified(TestApplicationListener listener) { - assertThat(listener, is(notNullValue())); - assertThat(listener.isNotified(), is(false)); - assertThat(listener.getActualEvent(), is(nullValue())); + assertThat(listener).isNotNull(); + assertThat(listener.isNotified()).isFalse(); + assertThat(listener.getActualEvent()).isNull(); } @Test - @SuppressWarnings("all") public void onContextClosedApplicationEvent() { TestApplicationListener testApplicationListener = @@ -816,12 +787,13 @@ public class SpringContextBootstrappingInitializerTest { SpringContextBootstrappingInitializer.contextRefreshedEvent = mock(ContextRefreshedEvent.class,"MockContextRefreshedEvent"); - assertThat(SpringContextBootstrappingInitializer.contextRefreshedEvent, isA(ContextRefreshedEvent.class)); + assertThat(SpringContextBootstrappingInitializer.contextRefreshedEvent) + .isInstanceOf(ContextRefreshedEvent.class); new SpringContextBootstrappingInitializer() .onApplicationEvent(mock(ContextClosedEvent.class,"MockContextClosedEvent")); - assertThat(SpringContextBootstrappingInitializer.contextRefreshedEvent, is(nullValue())); + assertThat(SpringContextBootstrappingInitializer.contextRefreshedEvent).isNull(); assertUnnotified(testApplicationListener); } finally { @@ -838,7 +810,7 @@ public class SpringContextBootstrappingInitializerTest { try { testApplicationListener = SpringContextBootstrappingInitializer.register(testApplicationListener); - assertThat(SpringContextBootstrappingInitializer.contextRefreshedEvent, is(nullValue())); + assertThat(SpringContextBootstrappingInitializer.contextRefreshedEvent).isNull(); assertUnnotified(testApplicationListener); ContextRefreshedEvent mockContextRefreshedEvent = mock(ContextRefreshedEvent.class, @@ -846,7 +818,7 @@ public class SpringContextBootstrappingInitializerTest { new SpringContextBootstrappingInitializer().onApplicationEvent(mockContextRefreshedEvent); - assertThat(SpringContextBootstrappingInitializer.contextRefreshedEvent, is(sameInstance(mockContextRefreshedEvent))); + assertThat(SpringContextBootstrappingInitializer.contextRefreshedEvent).isSameAs(mockContextRefreshedEvent); assertNotified(testApplicationListener, mockContextRefreshedEvent); } finally { @@ -863,13 +835,13 @@ public class SpringContextBootstrappingInitializerTest { try { testApplicationListener = SpringContextBootstrappingInitializer.register(testApplicationListener); - assertThat(SpringContextBootstrappingInitializer.contextRefreshedEvent, is(nullValue())); + assertThat(SpringContextBootstrappingInitializer.contextRefreshedEvent).isNull(); assertUnnotified(testApplicationListener); new SpringContextBootstrappingInitializer().onApplicationEvent(mock(ContextStartedEvent.class, "MockContextStartedEvent")); - assertThat(SpringContextBootstrappingInitializer.contextRefreshedEvent, is(nullValue())); + assertThat(SpringContextBootstrappingInitializer.contextRefreshedEvent).isNull(); assertUnnotified(testApplicationListener); } finally { @@ -893,13 +865,12 @@ public class SpringContextBootstrappingInitializerTest { SpringContextBootstrappingInitializer.contextRefreshedEvent = mockContextRefreshedEvent; - assertThat(SpringContextBootstrappingInitializer.contextRefreshedEvent, is(sameInstance( - mockContextRefreshedEvent))); + assertThat(SpringContextBootstrappingInitializer.contextRefreshedEvent).isSameAs(mockContextRefreshedEvent); new SpringContextBootstrappingInitializer().onApplicationEvent(mock(ContextStoppedEvent.class, "MockContextStoppedEvent")); - assertThat(SpringContextBootstrappingInitializer.contextRefreshedEvent, is(sameInstance(mockContextRefreshedEvent))); + assertThat(SpringContextBootstrappingInitializer.contextRefreshedEvent).isSameAs(mockContextRefreshedEvent); assertUnnotified(testApplicationListener); } finally { @@ -921,7 +892,7 @@ public class SpringContextBootstrappingInitializerTest { testApplicationListenerTwo = SpringContextBootstrappingInitializer.register(testApplicationListenerTwo); testApplicationListenerThree = SpringContextBootstrappingInitializer.register(testApplicationListenerThree); - assertThat(SpringContextBootstrappingInitializer.contextRefreshedEvent, is(nullValue())); + assertThat(SpringContextBootstrappingInitializer.contextRefreshedEvent).isNull(); assertUnnotified(testApplicationListenerOne); assertUnnotified(testApplicationListenerTwo); assertUnnotified(testApplicationListenerThree); @@ -931,8 +902,7 @@ public class SpringContextBootstrappingInitializerTest { new SpringContextBootstrappingInitializer().onApplicationEvent(mockContextRefreshedEvent); - assertThat(SpringContextBootstrappingInitializer.contextRefreshedEvent, - is(sameInstance(mockContextRefreshedEvent))); + assertThat(SpringContextBootstrappingInitializer.contextRefreshedEvent).isSameAs(mockContextRefreshedEvent); assertNotified(testApplicationListenerOne, mockContextRefreshedEvent); assertNotified(testApplicationListenerTwo, mockContextRefreshedEvent); assertNotified(testApplicationListenerThree, mockContextRefreshedEvent); @@ -968,7 +938,7 @@ public class SpringContextBootstrappingInitializerTest { @Test public void testNotifyOnExistingContextRefreshedEventBeforeApplicationContextExists() { - assertNull(SpringContextBootstrappingInitializer.contextRefreshedEvent); + assertThat(SpringContextBootstrappingInitializer.contextRefreshedEvent).isNull(); TestApplicationListener testApplicationListener = new TestApplicationListener( "testNotifyOnExistingContextRefreshedEventBeforeApplicationContextExists"); diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/wan/CachePartitionRegionWithConcurrentParallelAsyncEventQueueAndGatewaySenderIntegrationTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/wan/CachePartitionRegionWithConcurrentParallelAsyncEventQueueAndGatewaySenderIntegrationTest.java deleted file mode 100644 index 3baa0117..00000000 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/wan/CachePartitionRegionWithConcurrentParallelAsyncEventQueueAndGatewaySenderIntegrationTest.java +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Copyright 2010-2021 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.springframework.data.gemfire.wan; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import java.util.List; - -import javax.annotation.Resource; - -import org.junit.Test; -import org.junit.runner.RunWith; - -import org.apache.geode.cache.DataPolicy; -import org.apache.geode.cache.Region; -import org.apache.geode.cache.asyncqueue.AsyncEvent; -import org.apache.geode.cache.asyncqueue.AsyncEventListener; -import org.apache.geode.cache.asyncqueue.AsyncEventQueue; -import org.apache.geode.cache.wan.GatewaySender; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -/** - * The CachePartitionRegionWithConcurrentParallelAsyncEventQueueAndGatewaySenderIntegrationTest class is a test suite - * of test cases testing the concurrent, parallel functionality configuration of GemFire AsyncEventQueues - * and GatewaySenders using Spring Data GemFire. - * - * @author John Blum - * @see org.junit.Test - * @see org.junit.runner.RunWith - * @see org.springframework.test.context.ContextConfiguration - * @see org.springframework.test.context.junit4.SpringJUnit4ClassRunner - * @see org.apache.geode.cache.asyncqueue.AsyncEventQueue - * @see org.apache.geode.cache.wan.GatewaySender - * @since 1.5.0 - */ -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration -@SuppressWarnings("unused") -public class CachePartitionRegionWithConcurrentParallelAsyncEventQueueAndGatewaySenderIntegrationTest { - - @Autowired - private AsyncEventQueue exampleQueue; - - @Autowired - private GatewaySender exampleGateway; - - @Resource(name = "ExampleRegion") - private Region exampleRegion; - - @Test - public void testPartitionRegionWithConcurrentParallelAsyncEventQueueAndGatewaySenderConfiguration() { - assertNotNull("The 'ExampleRegion' PARTITION Region was not properly configured and initialized!", exampleRegion); - assertEquals("ExampleRegion", exampleRegion.getName()); - assertEquals("/ExampleRegion", exampleRegion.getFullPath()); - assertNotNull(exampleRegion.getAttributes()); - assertEquals(DataPolicy.PARTITION, exampleRegion.getAttributes().getDataPolicy()); - assertTrue(exampleRegion.getAttributes().getAsyncEventQueueIds().contains("ExampleQueue")); - assertTrue(exampleRegion.getAttributes().getGatewaySenderIds().contains("ExampleGateway")); - } - - @Test - public void testConcurrentParallelAsyncEventQueue() { - assertNotNull("The 'ExampleQueue' AsyncEventQueue was not properly configured and initialized!", exampleQueue); - assertEquals("ExampleQueue", exampleQueue.getId()); - assertNotNull(exampleQueue.getAsyncEventListener()); - assertEquals(4, exampleQueue.getDispatcherThreads()); - assertTrue(exampleQueue.isParallel()); - } - - @Test - public void testConcurrentParallelGatewaySender() { - assertNotNull("The 'ExampleGateway' was not properly configured and initialized!", exampleGateway); - assertEquals("ExampleGateway", exampleGateway.getId()); - assertEquals(123, exampleGateway.getRemoteDSId()); - assertEquals(8, exampleGateway.getDispatcherThreads()); - assertTrue(exampleGateway.isParallel()); - assertFalse(exampleGateway.isRunning()); - } - - @SuppressWarnings("unused") - public static final class TestAsyncEventListener implements AsyncEventListener { - @Override public boolean processEvents(final List events) { - return false; - } - @Override public void close() { - } - } - -} diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/wan/CachePartitionRegionWithConcurrentParallelAsyncEventQueueAndGatewaySenderIntegrationTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/wan/CachePartitionRegionWithConcurrentParallelAsyncEventQueueAndGatewaySenderIntegrationTests.java new file mode 100644 index 00000000..bc9508dd --- /dev/null +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/wan/CachePartitionRegionWithConcurrentParallelAsyncEventQueueAndGatewaySenderIntegrationTests.java @@ -0,0 +1,124 @@ +/* + * Copyright 2010-2021 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.gemfire.wan; + +import static org.assertj.core.api.Assertions.assertThat; + +import java.util.List; + +import javax.annotation.Resource; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import org.apache.geode.cache.DataPolicy; +import org.apache.geode.cache.Region; +import org.apache.geode.cache.asyncqueue.AsyncEvent; +import org.apache.geode.cache.asyncqueue.AsyncEventListener; +import org.apache.geode.cache.asyncqueue.AsyncEventQueue; +import org.apache.geode.cache.wan.GatewaySender; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringRunner; + +/** + * Integration Tests testing the concurrent, parallel configuration and functional behavior of {@link AsyncEventQueue} + * and {@link GatewaySender}. + * + * @author John Blum + * @see org.junit.Test + * @see org.apache.geode.cache.Region + * @see org.apache.geode.cache.asyncqueue.AsyncEventQueue + * @see org.apache.geode.cache.wan.GatewaySender + * @see org.springframework.data.gemfire.wan.AsyncEventQueueFactoryBean + * @see org.springframework.data.gemfire.wan.GatewaySenderFactoryBean + * @see org.springframework.data.gemfire.tests.integration.IntegrationTestsSupport + * @see org.springframework.test.context.ContextConfiguration + * @see org.springframework.test.context.junit4.SpringRunner + * @since 1.5.0 + */ +@RunWith(SpringRunner.class) +@ContextConfiguration +@SuppressWarnings("unused") +public class CachePartitionRegionWithConcurrentParallelAsyncEventQueueAndGatewaySenderIntegrationTests + extends IntegrationTestsSupport { + + @Autowired + private AsyncEventQueue exampleQueue; + + @Autowired + private GatewaySender exampleGateway; + + @Resource(name = "ExampleRegion") + private Region exampleRegion; + + @Test + public void testPartitionRegionWithConcurrentParallelAsyncEventQueueAndGatewaySenderConfiguration() { + + assertThat(exampleRegion) + .describedAs("The 'ExampleRegion' PARTITION Region was not properly configured and initialized!") + .isNotNull(); + + assertThat(exampleRegion.getName()).isEqualTo("ExampleRegion"); + assertThat(exampleRegion.getFullPath()).isEqualTo("/ExampleRegion"); + assertThat(exampleRegion.getAttributes()).isNotNull(); + assertThat(exampleRegion.getAttributes().getDataPolicy()).isEqualTo(DataPolicy.PARTITION); + assertThat(exampleRegion.getAttributes().getAsyncEventQueueIds().contains("ExampleQueue")).isTrue(); + assertThat(exampleRegion.getAttributes().getGatewaySenderIds().contains("ExampleGateway")).isTrue(); + } + + @Test + public void testConcurrentParallelAsyncEventQueue() { + + assertThat(exampleQueue) + .describedAs("The 'ExampleQueue' AsyncEventQueue was not properly configured and initialized!") + .isNotNull(); + + assertThat(exampleQueue.getId()).isEqualTo("ExampleQueue"); + assertThat(exampleQueue.getAsyncEventListener()).isNotNull(); + assertThat(exampleQueue.getDispatcherThreads()).isEqualTo(4); + assertThat(exampleQueue.isParallel()).isTrue(); + } + + @Test + public void testConcurrentParallelGatewaySender() { + + assertThat(exampleGateway) + .describedAs("The 'ExampleGateway' was not properly configured and initialized!") + .isNotNull(); + + assertThat(exampleGateway.getId()).isEqualTo("ExampleGateway"); + assertThat(exampleGateway.getRemoteDSId()).isEqualTo(123); + assertThat(exampleGateway.getDispatcherThreads()).isEqualTo(8); + assertThat(exampleGateway.isParallel()).isTrue(); + assertThat(exampleGateway.isRunning()).isFalse(); + } + + @SuppressWarnings("unused") + public static final class TestAsyncEventListener implements AsyncEventListener { + + @Override + public boolean processEvents(final List events) { + return false; + } + + @Override + public void close() { } + + } +} diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/wan/GatewaySenderFactoryBeanTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/wan/GatewaySenderFactoryBeanUnitTests.java similarity index 97% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/wan/GatewaySenderFactoryBeanTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/wan/GatewaySenderFactoryBeanUnitTests.java index 9a2cc82a..59508511 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/wan/GatewaySenderFactoryBeanTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/wan/GatewaySenderFactoryBeanUnitTests.java @@ -32,19 +32,18 @@ import org.apache.geode.cache.wan.GatewaySenderFactory; import org.springframework.data.gemfire.TestUtils; /** - * The GatewaySenderFactoryBeanTest class is a test suite of test cases testing the contract and functionality of the - * GatewaySenderFactoryBean class. + * Unit Tests for {@link GatewaySenderFactoryBean}. * * @author John Blum * @see org.junit.Test * @see org.mockito.Mockito - * @see org.springframework.data.gemfire.wan.GatewaySenderFactoryBean * @see org.apache.geode.cache.Cache * @see org.apache.geode.cache.wan.GatewaySender * @see org.apache.geode.cache.wan.GatewaySenderFactory + * @see org.springframework.data.gemfire.wan.GatewaySenderFactoryBean * @since 1.4.0 */ -public class GatewaySenderFactoryBeanTest { +public class GatewaySenderFactoryBeanUnitTests { private Cache mockCacheWithGatewayInfrastructure(GatewaySenderFactory gatewaySenderFactory) { @@ -68,7 +67,7 @@ public class GatewaySenderFactoryBeanTest { return mockGatewaySenderFactory; } - protected void verifyExpectations(GatewaySenderFactoryBean factoryBean, + private void verifyExpectations(GatewaySenderFactoryBean factoryBean, GatewaySenderFactory mockGatewaySenderFactory) throws Exception { Boolean parallel = TestUtils.readField("parallel", factoryBean); diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/wan/OrderPolicyTypeTest.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/wan/OrderPolicyTypeUnitTests.java similarity index 51% rename from spring-data-geode/src/test/java/org/springframework/data/gemfire/wan/OrderPolicyTypeTest.java rename to spring-data-geode/src/test/java/org/springframework/data/gemfire/wan/OrderPolicyTypeUnitTests.java index 0971cf8b..57f2280f 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/wan/OrderPolicyTypeTest.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/wan/OrderPolicyTypeUnitTests.java @@ -13,70 +13,70 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.springframework.data.gemfire.wan; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; +import static org.assertj.core.api.Assertions.assertThat; import org.junit.Test; import org.apache.geode.cache.wan.GatewaySender; /** - * The OrderPolicyTypeTest class is a test suite of test cases testing the contract and functionality - * of the OrderPolicyType enum. + * Unit Tests for {@link OrderPolicyType} enum. * * @author John Blum * @see org.junit.Test - * @see org.springframework.data.gemfire.wan.OrderPolicyType * @see org.apache.geode.cache.wan.GatewaySender.OrderPolicy + * @see org.springframework.data.gemfire.wan.OrderPolicyType * @since 1.7.0 */ -@SuppressWarnings("deprecation") -public class OrderPolicyTypeTest { +public class OrderPolicyTypeUnitTests { @Test public void testStaticGetOrderPolicy() { - assertEquals(GatewaySender.OrderPolicy.KEY, OrderPolicyType.getOrderPolicy(OrderPolicyType.KEY)); - assertEquals(GatewaySender.OrderPolicy.PARTITION, OrderPolicyType.getOrderPolicy(OrderPolicyType.PARTITION)); + + assertThat(OrderPolicyType.getOrderPolicy(OrderPolicyType.KEY)).isEqualTo(GatewaySender.OrderPolicy.KEY); + assertThat(OrderPolicyType.getOrderPolicy(OrderPolicyType.PARTITION)) + .isEqualTo(GatewaySender.OrderPolicy.PARTITION); } @Test public void testStaticGetOrderPolicyWithNull() { - assertNull(OrderPolicyType.getOrderPolicy(null)); + assertThat(OrderPolicyType.getOrderPolicy(null)).isNull(); } @Test public void testValueOfGemFireOrderPolicies() { + for (GatewaySender.OrderPolicy orderPolicy : GatewaySender.OrderPolicy.values()) { + OrderPolicyType orderPolicyType = OrderPolicyType.valueOf(orderPolicy); - assertNotNull(orderPolicyType); - assertEquals(orderPolicy, orderPolicyType.getOrderPolicy()); + assertThat(orderPolicyType).isNotNull(); + assertThat(orderPolicyType.getOrderPolicy()).isEqualTo(orderPolicy); } } @Test public void testValueOfNullGemFireOrderPolicy() { - assertNull(OrderPolicyType.valueOf((GatewaySender.OrderPolicy) null)); + assertThat(OrderPolicyType.valueOf((GatewaySender.OrderPolicy) null)).isNull(); } @Test public void testValueOfIgnoreCase() { - assertEquals(OrderPolicyType.KEY, OrderPolicyType.valueOfIgnoreCase("KEY")); - assertEquals(OrderPolicyType.PARTITION, OrderPolicyType.valueOfIgnoreCase("Partition")); - assertEquals(OrderPolicyType.PARTITION, OrderPolicyType.valueOfIgnoreCase("PARTition")); - assertEquals(OrderPolicyType.PARTITION, OrderPolicyType.valueOfIgnoreCase("PartItIon")); - assertEquals(OrderPolicyType.THREAD, OrderPolicyType.valueOfIgnoreCase("thread")); + + assertThat(OrderPolicyType.valueOfIgnoreCase("KEY")).isEqualTo(OrderPolicyType.KEY); + assertThat(OrderPolicyType.valueOfIgnoreCase("Partition")).isEqualTo(OrderPolicyType.PARTITION); + assertThat(OrderPolicyType.valueOfIgnoreCase("PARTition")).isEqualTo(OrderPolicyType.PARTITION); + assertThat(OrderPolicyType.valueOfIgnoreCase("PartItIon")).isEqualTo(OrderPolicyType.PARTITION); + assertThat(OrderPolicyType.valueOfIgnoreCase("thread")).isEqualTo(OrderPolicyType.THREAD); } @Test public void testValueOfIgnoreCaseWithInvalidValues() { - assertNull(OrderPolicyType.valueOfIgnoreCase("KEYZ")); - assertNull(OrderPolicyType.valueOfIgnoreCase("Values")); - assertNull(OrderPolicyType.valueOfIgnoreCase("invalid")); - } + assertThat(OrderPolicyType.valueOfIgnoreCase("KEYZ")).isNull(); + assertThat(OrderPolicyType.valueOfIgnoreCase("Values")).isNull(); + assertThat(OrderPolicyType.valueOfIgnoreCase("invalid")).isNull(); + } } diff --git a/spring-data-geode/src/test/resources/org/springframework/data/gemfire/basic-cache.xml b/spring-data-geode/src/test/resources/org/springframework/data/gemfire/basic-cache.xml index 1484a1ac..0028e703 100644 --- a/spring-data-geode/src/test/resources/org/springframework/data/gemfire/basic-cache.xml +++ b/spring-data-geode/src/test/resources/org/springframework/data/gemfire/basic-cache.xml @@ -4,7 +4,7 @@ xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd" default-lazy-init="true"> - + diff --git a/spring-data-geode/src/test/resources/org/springframework/data/gemfire/cache/CachingWithGemFireIntegrationTest-context.xml b/spring-data-geode/src/test/resources/org/springframework/data/gemfire/cache/CachingWithGemFireIntegrationTests-context.xml similarity index 93% rename from spring-data-geode/src/test/resources/org/springframework/data/gemfire/cache/CachingWithGemFireIntegrationTest-context.xml rename to spring-data-geode/src/test/resources/org/springframework/data/gemfire/cache/CachingWithGemFireIntegrationTests-context.xml index 44f4b8c6..5210e596 100644 --- a/spring-data-geode/src/test/resources/org/springframework/data/gemfire/cache/CachingWithGemFireIntegrationTest-context.xml +++ b/spring-data-geode/src/test/resources/org/springframework/data/gemfire/cache/CachingWithGemFireIntegrationTests-context.xml @@ -15,7 +15,7 @@ "> - SpringGemFireCachingIntegrationTest + SpringGemFireCachingIntegrationTests error @@ -43,11 +43,11 @@ - + - + diff --git a/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/CacheNamespaceIntegrationTests-context.xml b/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/CacheNamespaceIntegrationTests-context.xml index fc822861..632445da 100644 --- a/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/CacheNamespaceIntegrationTests-context.xml +++ b/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/CacheNamespaceIntegrationTests-context.xml @@ -9,7 +9,7 @@ http://www.springframework.org/schema/util https://www.springframework.org/schema/util/spring-util.xsd" default-lazy-init="true"> - + false diff --git a/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/ClientCacheNamespaceIntegrationTests-context.xml b/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/ClientCacheNamespaceIntegrationTests-context.xml index 753e49ed..556a7f15 100644 --- a/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/ClientCacheNamespaceIntegrationTests-context.xml +++ b/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/ClientCacheNamespaceIntegrationTests-context.xml @@ -9,7 +9,7 @@ http://www.springframework.org/schema/util https://www.springframework.org/schema/util/spring-util.xsd "> - + error diff --git a/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/InvalidDataPolicyPersistentAttributeSettingsBeansNamespaceTest.xml b/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/InvalidDataPolicyPersistentAttributeSettingsBeansNamespaceTest.xml index 2d6245e3..1261068c 100644 --- a/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/InvalidDataPolicyPersistentAttributeSettingsBeansNamespaceTest.xml +++ b/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/InvalidDataPolicyPersistentAttributeSettingsBeansNamespaceTest.xml @@ -17,9 +17,9 @@ - + - diff --git a/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/LuceneNamespaceUnitTests-context.xml b/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/LuceneNamespaceUnitTests-context.xml index 6c82bf39..004c85ed 100644 --- a/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/LuceneNamespaceUnitTests-context.xml +++ b/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/LuceneNamespaceUnitTests-context.xml @@ -15,7 +15,7 @@ error - + diff --git a/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/client-ns.xml b/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/client-ns.xml index 1cd982e0..1db64fb4 100644 --- a/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/client-ns.xml +++ b/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/client-ns.xml @@ -21,7 +21,7 @@ - + @@ -56,10 +56,10 @@ - + - + @@ -92,6 +92,6 @@ - + diff --git a/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/client-region-using-datapolicy-and-shortcut.xml b/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/client-region-using-datapolicy-and-shortcut.xml index a0d797d2..7185ee37 100644 --- a/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/client-region-using-datapolicy-and-shortcut.xml +++ b/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/client-region-using-datapolicy-and-shortcut.xml @@ -7,7 +7,7 @@ http://www.springframework.org/schema/geode https://www.springframework.org/schema/geode/spring-geode.xsd "> - + diff --git a/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/subregion-with-inconsistent-datapolicy-persistent-settings.xml b/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/subregion-with-inconsistent-datapolicy-persistent-settings.xml index 4393eb8f..088794cc 100644 --- a/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/subregion-with-inconsistent-datapolicy-persistent-settings.xml +++ b/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/subregion-with-inconsistent-datapolicy-persistent-settings.xml @@ -9,7 +9,7 @@ http://www.springframework.org/schema/util https://www.springframework.org/schema/util/spring-util.xsd "> - + SubRegionWithInconsistentDataPolicyAndPersistentSettingsTest diff --git a/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/subregion-with-invalid-datapolicy.xml b/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/subregion-with-invalid-datapolicy.xml index 44998249..2fa78aea 100644 --- a/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/subregion-with-invalid-datapolicy.xml +++ b/spring-data-geode/src/test/resources/org/springframework/data/gemfire/config/xml/subregion-with-invalid-datapolicy.xml @@ -9,7 +9,7 @@ http://www.springframework.org/schema/util https://www.springframework.org/schema/util/spring-util.xsd "> - + SubRegionWithInvalidDataPolicyTest diff --git a/spring-data-geode/src/test/resources/org/springframework/data/gemfire/function/config/AnnotationDrivenFunctionsTest-context.xml b/spring-data-geode/src/test/resources/org/springframework/data/gemfire/function/config/AnnotationDrivenFunctionsIntegrationTests-context.xml similarity index 100% rename from spring-data-geode/src/test/resources/org/springframework/data/gemfire/function/config/AnnotationDrivenFunctionsTest-context.xml rename to spring-data-geode/src/test/resources/org/springframework/data/gemfire/function/config/AnnotationDrivenFunctionsIntegrationTests-context.xml diff --git a/spring-data-geode/src/test/resources/org/springframework/data/gemfire/invalid-region-shortcut-with-persistent-attribute.xml b/spring-data-geode/src/test/resources/org/springframework/data/gemfire/invalid-region-shortcut-with-persistent-attribute.xml index 5996a585..ebb45c39 100644 --- a/spring-data-geode/src/test/resources/org/springframework/data/gemfire/invalid-region-shortcut-with-persistent-attribute.xml +++ b/spring-data-geode/src/test/resources/org/springframework/data/gemfire/invalid-region-shortcut-with-persistent-attribute.xml @@ -9,7 +9,7 @@ http://www.springframework.org/schema/util https://www.springframework.org/schema/util/spring-util.xsd "> - + InvalidRegionShortcutAndPersistentAttributeTest diff --git a/spring-data-geode/src/test/resources/org/springframework/data/gemfire/invalid-use-of-region-datapolicy-and-shortcut.xml b/spring-data-geode/src/test/resources/org/springframework/data/gemfire/invalid-use-of-region-datapolicy-and-shortcut.xml index f04b32f5..133b8cc8 100644 --- a/spring-data-geode/src/test/resources/org/springframework/data/gemfire/invalid-use-of-region-datapolicy-and-shortcut.xml +++ b/spring-data-geode/src/test/resources/org/springframework/data/gemfire/invalid-use-of-region-datapolicy-and-shortcut.xml @@ -9,7 +9,7 @@ http://www.springframework.org/schema/util https://www.springframework.org/schema/util/spring-util.xsd "> - + InvalidUseOfRegionDataPolicyAndShortcutTest diff --git a/spring-data-geode/src/test/resources/org/springframework/data/gemfire/repository/sample/UsingQueryAnnotationExtensionsInUserRepositoryIntegrationTest-context.xml b/spring-data-geode/src/test/resources/org/springframework/data/gemfire/repository/sample/UsingQueryAnnotationExtensionsInUserRepositoryIntegrationTests-context.xml similarity index 89% rename from spring-data-geode/src/test/resources/org/springframework/data/gemfire/repository/sample/UsingQueryAnnotationExtensionsInUserRepositoryIntegrationTest-context.xml rename to spring-data-geode/src/test/resources/org/springframework/data/gemfire/repository/sample/UsingQueryAnnotationExtensionsInUserRepositoryIntegrationTests-context.xml index 71c09b0a..21bb11cc 100644 --- a/spring-data-geode/src/test/resources/org/springframework/data/gemfire/repository/sample/UsingQueryAnnotationExtensionsInUserRepositoryIntegrationTest-context.xml +++ b/spring-data-geode/src/test/resources/org/springframework/data/gemfire/repository/sample/UsingQueryAnnotationExtensionsInUserRepositoryIntegrationTests-context.xml @@ -14,7 +14,7 @@ "> - UsingQueryAnnotationExtensionsInUserRepositoryIntegrationTest + UsingQueryAnnotationExtensionsInUserRepositoryIntegrationTests error @@ -25,8 +25,7 @@ - + diff --git a/spring-data-geode/src/test/resources/org/springframework/data/gemfire/serialization/simple-config.xml b/spring-data-geode/src/test/resources/org/springframework/data/gemfire/serialization/simple-config.xml index ceb2f95e..dc5e2e54 100644 --- a/spring-data-geode/src/test/resources/org/springframework/data/gemfire/serialization/simple-config.xml +++ b/spring-data-geode/src/test/resources/org/springframework/data/gemfire/serialization/simple-config.xml @@ -19,19 +19,19 @@ - + - + - - + + diff --git a/spring-data-geode/src/test/resources/org/springframework/data/gemfire/support/GemfireBeanFactoryLocatorIntegrationTests-context.xml b/spring-data-geode/src/test/resources/org/springframework/data/gemfire/support/GemfireBeanFactoryLocatorIntegrationTests-context.xml index ef9da232..b1bd9249 100644 --- a/spring-data-geode/src/test/resources/org/springframework/data/gemfire/support/GemfireBeanFactoryLocatorIntegrationTests-context.xml +++ b/spring-data-geode/src/test/resources/org/springframework/data/gemfire/support/GemfireBeanFactoryLocatorIntegrationTests-context.xml @@ -7,7 +7,7 @@ http://www.springframework.org/schema/geode https://www.springframework.org/schema/geode/spring-geode.xsd "> - + diff --git a/spring-data-geode/src/test/resources/org/springframework/data/gemfire/wan/CachePartitionRegionWithConcurrentParallelAsyncEventQueueAndGatewaySenderIntegrationTest-context.xml b/spring-data-geode/src/test/resources/org/springframework/data/gemfire/wan/CachePartitionRegionWithConcurrentParallelAsyncEventQueueAndGatewaySenderIntegrationTests-context.xml similarity index 94% rename from spring-data-geode/src/test/resources/org/springframework/data/gemfire/wan/CachePartitionRegionWithConcurrentParallelAsyncEventQueueAndGatewaySenderIntegrationTest-context.xml rename to spring-data-geode/src/test/resources/org/springframework/data/gemfire/wan/CachePartitionRegionWithConcurrentParallelAsyncEventQueueAndGatewaySenderIntegrationTests-context.xml index 58d67afe..8ba444f9 100644 --- a/spring-data-geode/src/test/resources/org/springframework/data/gemfire/wan/CachePartitionRegionWithConcurrentParallelAsyncEventQueueAndGatewaySenderIntegrationTest-context.xml +++ b/spring-data-geode/src/test/resources/org/springframework/data/gemfire/wan/CachePartitionRegionWithConcurrentParallelAsyncEventQueueAndGatewaySenderIntegrationTests-context.xml @@ -10,7 +10,7 @@ "> - CachePartitionRegionWithConcurrentParallelAsyncEventQueueAndGatewaySenderIntegrationTest + CachePartitionRegionWithConcurrentParallelAsyncEventQueueAndGatewaySenderIntegrationTests error @@ -18,7 +18,7 @@ - +