diff --git a/gradle.properties b/gradle.properties
index 3ec4b447..b4a38207 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -2,7 +2,7 @@ antlrVersion=2.7.7
aspectjVersion=1.8.10
assertjVersion=3.8.0
cdiVersion=1.0
-gemfireVersion=9.2.2
+gemfireVersion=9.3.0
hamcrestVersion=1.3
jacksonVersion=2.9.1
junitVersion=4.12
diff --git a/pom.xml b/pom.xml
index b84b2a3d..4f63c585 100644
--- a/pom.xml
+++ b/pom.xml
@@ -22,7 +22,7 @@
2.7.7
1.3.2
1.0.0
- 9.2.2
+ 9.3.0
2.0.2
1.01
0.4
diff --git a/src/main/java/org/springframework/data/gemfire/eviction/EvictionAttributesFactoryBean.java b/src/main/java/org/springframework/data/gemfire/eviction/EvictionAttributesFactoryBean.java
index 3146deb9..77f6c552 100644
--- a/src/main/java/org/springframework/data/gemfire/eviction/EvictionAttributesFactoryBean.java
+++ b/src/main/java/org/springframework/data/gemfire/eviction/EvictionAttributesFactoryBean.java
@@ -19,8 +19,6 @@ package org.springframework.data.gemfire.eviction;
import org.apache.geode.cache.EvictionAction;
import org.apache.geode.cache.EvictionAttributes;
import org.apache.geode.cache.util.ObjectSizer;
-import org.apache.geode.internal.cache.lru.LRUCapacityController;
-import org.apache.geode.internal.cache.lru.MemLRUCapacityController;
import org.springframework.beans.factory.FactoryBean;
import org.springframework.beans.factory.InitializingBean;
@@ -37,10 +35,9 @@ import org.springframework.beans.factory.InitializingBean;
@SuppressWarnings("unused")
public class EvictionAttributesFactoryBean implements FactoryBean, InitializingBean {
- // TODO remove this reference to the GemFire internal class when the Gem team fixes the EvictionAttributes bug!!!
- protected static final int DEFAULT_LRU_MAXIMUM_ENTRIES = LRUCapacityController.DEFAULT_MAXIMUM_ENTRIES;
+ protected static final int DEFAULT_LRU_MAXIMUM_ENTRIES = EvictionAttributes.DEFAULT_ENTRIES_MAXIMUM;
- protected static final int DEFAULT_MEMORY_MAXIMUM_SIZE = MemLRUCapacityController.DEFAULT_MAXIMUM_MEGABYTES;
+ protected static final int DEFAULT_MEMORY_MAXIMUM_SIZE = EvictionAttributes.DEFAULT_MEMORY_MAXIMUM;
private EvictionAction action = null;
diff --git a/src/test/java/org/springframework/data/gemfire/GemfireTemplateUnitTests.java b/src/test/java/org/springframework/data/gemfire/GemfireTemplateUnitTests.java
index c79cd0ab..0639a02c 100644
--- a/src/test/java/org/springframework/data/gemfire/GemfireTemplateUnitTests.java
+++ b/src/test/java/org/springframework/data/gemfire/GemfireTemplateUnitTests.java
@@ -16,11 +16,17 @@
package org.springframework.data.gemfire;
-import static org.assertj.core.api.Assertions.*;
-import static org.hamcrest.Matchers.*;
-import static org.mockito.ArgumentMatchers.*;
+import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.*;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.atLeastOnce;
+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.verifyZeroInteractions;
+import static org.mockito.Mockito.when;
import java.util.Arrays;
import java.util.Collections;
@@ -37,9 +43,7 @@ import org.apache.geode.cache.query.Query;
import org.apache.geode.cache.query.QueryService;
import org.apache.geode.cache.query.SelectResults;
import org.junit.Before;
-import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.ExpectedException;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;
@@ -55,19 +59,16 @@ import org.springframework.data.gemfire.test.support.AbstractUnitAndIntegrationT
* @see org.junit.Test
* @see org.mockito.Mock
* @see org.mockito.Mockito
- * @see org.mockito.runners.MockitoJUnitRunner
+ * @see org.mockito.junit.MockitoJUnitRunner
* @see org.springframework.data.gemfire.GemfireTemplate
* @see AbstractUnitAndIntegrationTestsWithMockSupport
* @see org.springframework.data.gemfire.test.GemfireTestApplicationContextInitializer
* @see org.springframework.test.context.ContextConfiguration
*/
-@RunWith(MockitoJUnitRunner.class)
@SuppressWarnings("unused")
+@RunWith(MockitoJUnitRunner.class)
public class GemfireTemplateUnitTests extends AbstractUnitAndIntegrationTestsWithMockSupport {
- @Rule
- public ExpectedException exception = ExpectedException.none();
-
private GemfireTemplate template;
@Mock
@@ -100,13 +101,19 @@ public class GemfireTemplateUnitTests extends AbstractUnitAndIntegrationTestsWit
assertThat(localTemplate.isExposeNativeRegion()).isFalse();
}
- @Test
+ @Test(expected = IllegalArgumentException.class)
public void constructWithNullRegionThrowsIllegalArgumentException() {
- exception.expect(IllegalArgumentException.class);
- exception.expectCause(is(nullValue(Throwable.class)));
- exception.expectMessage("Region is required");
- new GemfireTemplate(null);
+ try {
+ new GemfireTemplate(null);
+ }
+ catch (IllegalArgumentException expected) {
+
+ assertThat(expected).hasMessage("Region is required");
+ assertThat(expected).hasNoCause();
+
+ throw expected;
+ }
}
@Test
@@ -159,28 +166,32 @@ public class GemfireTemplateUnitTests extends AbstractUnitAndIntegrationTestsWit
@Test
public void findIsSuccessful() throws Exception {
+
Object[] expectedParams = { "arg" };
+
String expectedQuery = "SELECT * FROM /Example";
SelectResults mockSelectResults = mock(SelectResults.class);
- when(mockQuery.execute(any(Object[].class))).thenReturn(mockSelectResults);
+ when(mockQuery.execute(any(Object.class))).thenReturn(mockSelectResults);
assertThat(template.find(expectedQuery, expectedParams)).isEqualTo(mockSelectResults);
verify(mockRegion, atLeastOnce()).getRegionService();
verify(mockRegionService, times(1)).getQueryService();
verify(mockQueryService, times(1)).newQuery(eq(expectedQuery));
- verify(mockQuery, times(1)).execute(eq(expectedParams));
+ verify(mockQuery, times(1)).execute(eq("arg"));
verifyZeroInteractions(mockSelectResults);
}
@Test(expected = InvalidDataAccessApiUsageException.class)
public void findWithSingleResultQueryThrowsInvalidDataAccessApiUsageException() throws Exception {
+
Object[] expectedParams = { "arg" };
+
String expectedQuery = "SELECT 1 FROM /Example";
- when(mockQuery.execute(any(Object[].class))).thenReturn(1);
+ when(mockQuery.execute(any(Object.class))).thenReturn(1);
try {
template.find(expectedQuery, expectedParams);
@@ -189,62 +200,68 @@ public class GemfireTemplateUnitTests extends AbstractUnitAndIntegrationTestsWit
verify(mockRegion, atLeastOnce()).getRegionService();
verify(mockRegionService, times(1)).getQueryService();
verify(mockQueryService, times(1)).newQuery(eq(expectedQuery));
- verify(mockQuery, times(1)).execute(eq(expectedParams));
+ verify(mockQuery, times(1)).execute(eq("arg"));
}
}
@Test
public void findUniqueReturnsSelectResultsIsSuccessful() throws Exception {
+
Object[] expectedParams = { "arg" };
+
String expectedQuery = "SELECT 1 FROM /Example";
SelectResults mockSelectResults = mock(SelectResults.class);
- when(mockQuery.execute(eq(expectedParams))).thenReturn(mockSelectResults);
+ when(mockQuery.execute(any(Object.class))).thenReturn(mockSelectResults);
when(mockSelectResults.asList()).thenReturn(Collections.singletonList(1));
- assertThat(template.findUnique(expectedQuery, expectedParams)).isEqualTo(1);
+ assertThat((Object) template.findUnique(expectedQuery, expectedParams)).isEqualTo(1);
verify(mockRegion, atLeastOnce()).getRegionService();
verify(mockRegionService, times(1)).getQueryService();
verify(mockQueryService, times(1)).newQuery(eq(expectedQuery));
- verify(mockQuery, times(1)).execute(eq(expectedParams));
+ verify(mockQuery, times(1)).execute(eq("arg"));
verify(mockSelectResults, times(1)).asList();
}
@Test
public void findUniqueReturnsObjectIsSuccessful() throws Exception {
+
Object[] expectedParams = { "arg" };
+
String expectedQuery = "SELECT 1 FROM /Example";
- when(mockQuery.execute(eq(expectedParams))).thenReturn("test");
+ when(mockQuery.execute(any(Object.class))).thenReturn("test");
- assertThat(template.findUnique(expectedQuery, expectedParams)).isEqualTo("test");
+ assertThat((Object) template.findUnique(expectedQuery, expectedParams)).isEqualTo("test");
verify(mockRegion, atLeastOnce()).getRegionService();
verify(mockRegionService, times(1)).getQueryService();
verify(mockQueryService, times(1)).newQuery(eq(expectedQuery));
- verify(mockQuery, times(1)).execute(eq(expectedParams));
+ verify(mockQuery, times(1)).execute(eq("arg"));
}
@Test(expected = InvalidDataAccessApiUsageException.class)
public void findUniqueWithMultiResultQueryThrowsInvalidDataAccessApiUsageException() throws Exception {
+
Object[] expectedParams = { "arg" };
+
String expectedQuery = "SELECT 1 FROM /Example";
SelectResults mockSelectResults = mock(SelectResults.class);
- when(mockQuery.execute(eq(expectedParams))).thenReturn(mockSelectResults);
+ when(mockQuery.execute(any(Object.class))).thenReturn(mockSelectResults);
when(mockSelectResults.asList()).thenReturn(Arrays.asList(1, 2));
try {
- assertThat(template.findUnique(expectedQuery, expectedParams)).isEqualTo(1);
+ assertThat((Object) template.findUnique(expectedQuery, expectedParams)).isEqualTo(1);
}
finally {
verify(mockRegion, atLeastOnce()).getRegionService();
verify(mockRegionService, times(1)).getQueryService();
verify(mockQueryService, times(1)).newQuery(eq(expectedQuery));
- verify(mockQuery, times(1)).execute(eq(expectedParams));
+ verify(mockQuery, times(1)).execute(eq("arg"));
verify(mockSelectResults, times(1)).asList();
}
}
diff --git a/src/test/java/org/springframework/data/gemfire/config/xml/RegionEvictionAttributesNamespaceTest.java b/src/test/java/org/springframework/data/gemfire/config/xml/RegionEvictionAttributesNamespaceTest.java
index 88b737d6..647a9fb3 100644
--- a/src/test/java/org/springframework/data/gemfire/config/xml/RegionEvictionAttributesNamespaceTest.java
+++ b/src/test/java/org/springframework/data/gemfire/config/xml/RegionEvictionAttributesNamespaceTest.java
@@ -24,8 +24,8 @@ 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.EvictionAttributes;
import org.apache.geode.cache.Region;
-import org.apache.geode.internal.cache.lru.LRUCapacityController;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.data.gemfire.test.GemfireTestApplicationContextInitializer;
@@ -84,7 +84,7 @@ public class RegionEvictionAttributesNamespaceTest {
assertEquals(EvictionAction.LOCAL_DESTROY, two.getAttributes().getEvictionAttributes().getAction());
assertEquals(EvictionAlgorithm.LRU_ENTRY, two.getAttributes().getEvictionAttributes().getAlgorithm());
- assertEquals(LRUCapacityController.DEFAULT_MAXIMUM_ENTRIES,
+ assertEquals(EvictionAttributes.DEFAULT_ENTRIES_MAXIMUM,
two.getAttributes().getEvictionAttributes().getMaximum());
}
@@ -135,5 +135,4 @@ public class RegionEvictionAttributesNamespaceTest {
assertEquals(expectedMaximum, six.getAttributes().getEvictionAttributes().getMaximum());
}
-
}
diff --git a/src/test/java/org/springframework/data/gemfire/fork/LocatorProcess.java b/src/test/java/org/springframework/data/gemfire/fork/LocatorProcess.java
index 632cfa47..d2d2bb4a 100644
--- a/src/test/java/org/springframework/data/gemfire/fork/LocatorProcess.java
+++ b/src/test/java/org/springframework/data/gemfire/fork/LocatorProcess.java
@@ -90,8 +90,8 @@ public class LocatorProcess {
distributedSystemProperties.setProperty(DistributionConfig.LOG_LEVEL_NAME,
System.getProperty("spring.data.gemfire.log-level", GEMFIRE_LOG_LEVEL));
- return InternalLocator.startLocator(locatorPort, null, null, null, null, null, distributedSystemProperties,
- true, true, hostnameForClients, loadClusterConfigurationFromDirectory);
+ return InternalLocator.startLocator(locatorPort, null, null, null, null,
+ true, distributedSystemProperties, hostnameForClients);
}
@SuppressWarnings("unused")