Commit Graph

251 Commits

Author SHA1 Message Date
John Blum
b1fdb5962e Add TestContextApplicationEventPublisherAdapter class adapting the Spring TestContext framework and API as an instance of the ApplicationEventPublisher interface. 2021-03-22 20:08:41 -07:00
John Blum
9e03dc03c6 Add GeodeContextCustomizer and factory used to customize the Spring ApplicationContext setup during Integration Tests involving Apache Geode. 2021-03-22 20:07:46 -07:00
John Blum
3b5208c213 Add (experimental) DependencyOf annotation type and associated DependencyOfBeanFactoryPostProcessor class.
The @DependencyOf annotation is the inverse of Spring's @DependsOn annotation enabling a bean to declare itself as a dependency for another bean in the Spring ApplicationContext (container).
2021-03-22 20:05:34 -07:00
John Blum
08350ab997 Rename the AbstractApplicationContextCacheLifecycleListenerAdapter class to AbstractApplicationEventPublisherCacheLifecycleListenerAdapter.
Refactor the TestContextCacheLifecycleListenerAdapter class making it a proper Singleton (i.e. a final class with private constructor).

Add isOpen(:GemFireCache) method to TestContextCacheLifecycleListenerAdapter.

Rename cacheReferences to cacheInstances.
2021-03-22 19:48:53 -07:00
John Blum
59488b0a54 Move TestContextEventType enumeration to the org.springframework.data.gemfire.tests.extensions.spring.test.context.event package. 2021-03-22 19:42:38 -07:00
John Blum
dfd0d8e324 Move the GemFireUnitTest annotation to the org.springframework.data.gemfire.tests.unit.annotation package. 2021-03-22 19:37:36 -07:00
John Blum
103cb930ba Refactor codebase.
Apply Spring @NonNull & @Nullable annotations to the API.
2021-03-22 19:37:36 -07:00
John Blum
54e8b1ecde Refactor codebase.
Apply Spring @NonNull and @Nullable annotations to the API.
2021-03-22 19:37:36 -07:00
John Blum
14fa273445 Improve test context/infrastructure logic to reliably determine whether the GemFire/Geode cache instance was properly closed.
This test logic is necessary to prevent interference between tests, particularly for integration tests involving live GemFire/Geode objects, especially since GemFire/Geode is rife with Singletons.

For example, SSL configuration settings linger between tests if the cache is not fully closed (when all resources are adequately released) in a timely manner.
2021-03-22 19:36:56 -07:00
John Blum
3d13306ace Rename IntegrationTestsSupport.clearAllBeanFactoryLocators() method to closeAllBeanFactoryLocators(). 2021-03-18 12:34:13 -07:00
John Blum
cbfa432c5a Prepare next development iteration.
Set Spring Data BOM version to 2020.0.4-SNAPSHOT / Ockham-SR4.

Set Spring Data Build Parent version to 2.4.4-SNAPSHOT.

Set Spring Data for Apache Geode version to 2.4.4-SNAPSHOT.

Set version to 0.0.23-SNAPSHOT.
2021-01-25 14:06:54 -08:00
John Blum
dd069ce18d Release 0.0.22. 2021-01-25 14:00:08 -08:00
John Blum
80bd2d19ab Add RegionSpyingBeanPostProcessor class to spy on Region beans managed in a Spring TestContext for testing purposes. 2020-12-11 13:46:45 -08:00
John Blum
df5635f925 Prepare next development iteration.
Set Spring Data version to Ockham-SNAPSHOT.

Set Spring Data for Apache Geode & VMware Tanzu (Pivotal) GemFire version to 2.4.2-SNAPSHOT.

Set Spring Data Build Parent version to 2.4.2-SNAPSHOT.

Set Spring Data BOM version to 2020.0.2-SNAPSHOT.
2020-12-11 13:46:45 -08:00
John Blum
5d28098663 Release 0.0.21.RELEASE. 2020-12-11 13:46:45 -08:00
John Blum
d6f1a02a24 Declare 'java-module-name' build property required by Java 9 Module System. 2020-12-11 13:47:01 -08:00
John Blum
6bbf106483 Upgrade to Freefair Lombok Gradle Plugin 5.3.0. 2020-12-11 13:46:45 -08:00
John Blum
2f14f9691c Prepare next development iteration.
Set Spring Data for Apache Geode & VMware Tanzu (Pivotal) GemFire version to 2.3.6.BUILD-SNAPSHOT.

Set Spring Data Build version to 2.3.6.BUILD-SNAPSHOT.

Set Spring Data Release Train (BOM) version to Neumann-BUILD-SNAPSHOT.

Set version to 0.0.21-SNAPSHOT.
2020-11-03 12:42:14 -08:00
John Blum
1a94b1d9a4 Release 0.0.20.RELEASE. 2020-11-03 12:26:40 -08:00
John Blum
77ac40d653 Add @Configuration class for Locator only.
Add @Configuration class for Manager only.
2020-11-03 10:41:10 -08:00
John Blum
49a580fe93 Prepare next development iteration.
Set Spring Data version to Neumann-BUILD-SNAPSHOT.

Set Spring Data for Apache Geode & VMware Tanzu GemFire version to 2.3.5.BUILD-SNAPSHOT.

Set Spring Data Build version to 2.3.5.BUILD-SNAPSHOT.

Set Spring Data Release Train version to Neumann-BUILD-SNAPSHOT.
2020-09-16 20:04:27 -07:00
John Blum
f61b97ff3d Release 0.0.19.RELEASE. 2020-09-16 19:57:18 -07:00
John Blum
b40dd309bc Extend IntegrationTestsSupport. 2020-09-16 19:52:20 -07:00
John Blum
96eb72fadf Enable the FreeFair Lombok Gradle Plugin. 2020-09-16 19:44:24 -07:00
John Blum
e25cdb363c Provide mock stubbing support for GemfireRepository.count() method when GemFire Mock Objects is enabled. 2020-09-16 19:25:06 -07:00
John Blum
e0eaeacc60 Annotate mockRegionDataAccessOperations(..) with @SuppressWarnings('unchecked').
Annotate mockSelectResults() and mockLucenceIndexFactory(..) with @SuppressWarnings('unchecked').
2020-09-16 16:19:30 -07:00
John Blum
f144f98271 Mock the Map/Region.values() operation. 2020-09-16 15:25:37 -07:00
John Blum
efed3af760 Use doAnswer(..) instead of thenAnswer(..) Mockito mock stubbing for mock Region.remove(key). 2020-09-16 14:59:31 -07:00
John Blum
8c32143918 Mock the Region.removeAll(:Collection<K>) operation. 2020-09-16 14:50:12 -07:00
John Blum
e453578340 Mock the Map/Region.putAll(:Map<K, V>) operation. 2020-09-16 14:33:07 -07:00
John Blum
22e950c19a Use doAnswer(..) instead of thenAnser(..) Mockito mock stubbing for mock Region.put(key, value). 2020-09-16 13:48:03 -07:00
John Blum
e718b595f6 Mock the Region.localInvalidate(key) operation; call mock Region.invalidate(key). 2020-09-16 13:35:57 -07:00
John Blum
ab686fe92c Mock the Region.localClear() operation; call mock Region.clear(). 2020-09-16 13:32:07 -07:00
John Blum
1a10296740 Mock the Map/Region.keySet() operation. 2020-09-16 13:23:37 -07:00
John Blum
f5fe40dfcd Mock the Map/Region.isEmpty() operation. 2020-09-16 13:14:24 -07:00
John Blum
051447a76d Mock the Region.getParentRegion() operation for sub-Regions. 2020-09-16 12:51:02 -07:00
John Blum
74634337fb Mock the Map.getOrDefault(key, defaultValue) operation. 2020-09-16 12:20:28 -07:00
John Blum
2e94141994 Use doAnser(..) instead of thenAnser(..) Mockito mock stubbing for getSubregions(..) and subregions(..) operations on mock Region. 2020-09-16 12:13:05 -07:00
John Blum
f896abd33b Refactor all mock Region data access operations into a separate method. 2020-09-16 12:08:59 -07:00
John Blum
16c7ddeeb9 Mock the Region.getAll(:Collection<K>) operation. 2020-09-16 12:02:46 -07:00
John Blum
028f9c16da Use doAnswer(..) instead of thenAnser(..) Mockito mock stubbing for Map/Region.get(key). 2020-09-15 19:42:58 -07:00
John Blum
ea2241847a Mock the Map.forEach(:BiConsumer<K, V>) operation. 2020-09-15 19:35:55 -07:00
John Blum
06cdda618d Mock the Region.containsValueForKey(key) operation. 2020-09-15 19:11:41 -07:00
John Blum
e7c106f4ca Mock the Map/Region.containsValue(value) operation. 2020-09-15 18:58:05 -07:00
John Blum
ed94c009bb Write test for the Map/Region.containsKey(key) operation. 2020-09-15 18:58:05 -07:00
John Blum
301deb1330 Mock the Map/Region.clear() operation. 2020-09-15 18:50:46 -07:00
John Blum
528818b9fd Mock SelectResults.iterator().
Change access modifier on GemFireMockObjectsSupport.mockSelectResults() to private.
2020-08-28 15:07:36 -07:00
John Blum
f2779cd8d7 Mock ClientCache.getQueryService(poolName:String).
Mock QueryService.newQuery(:String).

Mock Query.execute(..).

Mock SelectResults<?>, ObjectType and CollectionType.
2020-08-28 14:50:10 -07:00
John Blum
cb28c5f4df If trying to delete a file fails then schedule the file to be deleted on exit. 2020-08-28 10:41:13 -07:00
John Blum
d9b3ac9ce3 Recurse on collectGemFireResources(:File) when deleting a target GemFire/Geode directory.
Replaces FileSystemUtils.deleteRecursive(:File).

Edit Javadoc.
2020-08-27 16:29:09 -07:00