SGF-567 - Remove old GemFire GatewayHub functionality.
Remove other deprecated and no longer existing GemFire classes in GemFire 9.
This commit is contained in:
@@ -255,8 +255,10 @@ public class GemfireTemplateQueriesOnGroupedPooledClientCacheRegionsIntegrationT
|
||||
.setProperty("mcast-port", "0")
|
||||
.setProperty("log-level", logLevel())
|
||||
.setProperty("locators", "localhost[11235]")
|
||||
.setProperty("enable-cluster-configuration", "false")
|
||||
.setProperty("groups", groups())
|
||||
.setProperty("start-locator", startLocator())
|
||||
.setProperty("use-cluster-configuration", "false")
|
||||
.build();
|
||||
}
|
||||
|
||||
|
||||
@@ -17,9 +17,7 @@
|
||||
package org.springframework.data.gemfire;
|
||||
|
||||
import static org.hamcrest.Matchers.is;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.junit.Assume.assumeTrue;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.times;
|
||||
@@ -32,7 +30,6 @@ import java.util.Properties;
|
||||
import org.apache.geode.cache.Cache;
|
||||
import org.apache.geode.cache.client.ClientCache;
|
||||
import org.apache.geode.distributed.DistributedSystem;
|
||||
import org.apache.geode.internal.GemFireVersion;
|
||||
import org.junit.Test;
|
||||
|
||||
/**
|
||||
@@ -136,39 +133,4 @@ public class GemfireUtilsTest {
|
||||
|
||||
verifyZeroInteractions(mockClientCache);
|
||||
}
|
||||
|
||||
// NOTE implementation is based on a GemFire internal class... org.apache.geode.internal.GemFireVersion.
|
||||
protected int getGemFireVersion() {
|
||||
try {
|
||||
String gemfireVersion = GemFireVersion.getGemFireVersion();
|
||||
|
||||
return Integer.decode(String.valueOf(GemFireVersion.getMajorVersion(gemfireVersion)).concat(
|
||||
String.valueOf(GemFireVersion.getMinorVersion(gemfireVersion))));
|
||||
}
|
||||
catch (NumberFormatException ignore) {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void gemfireVersionIs65OrAbove() {
|
||||
int gemfireVersion = getGemFireVersion();
|
||||
assumeTrue(gemfireVersion > -1);
|
||||
assertEquals(getGemFireVersion() >= 65, GemfireUtils.isGemfireVersion65OrAbove());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void gemfireVersionIs7OrAbove() {
|
||||
int gemfireVersion = getGemFireVersion();
|
||||
assumeTrue(gemfireVersion > -1);
|
||||
assertEquals(getGemFireVersion() >= 70, GemfireUtils.isGemfireVersion7OrAbove());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void gemfireVersionIs80rAbove() {
|
||||
int gemfireVersion = getGemFireVersion();
|
||||
assumeTrue(gemfireVersion > -1);
|
||||
assertEquals(getGemFireVersion() >= 80, GemfireUtils.isGemfireVersion8OrAbove());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -47,8 +47,6 @@ import org.springframework.data.gemfire.server.SubscriptionEvictionPolicyConvert
|
||||
import org.springframework.data.gemfire.support.ConnectionEndpoint;
|
||||
import org.springframework.data.gemfire.support.ConnectionEndpointList;
|
||||
import org.springframework.data.gemfire.wan.OrderPolicyConverter;
|
||||
import org.springframework.data.gemfire.wan.StartupPolicyConverter;
|
||||
import org.springframework.data.gemfire.wan.StartupPolicyType;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
/**
|
||||
@@ -97,8 +95,6 @@ public class CustomEditorBeanFactoryPostProcessorUnitTests {
|
||||
eq(ScopeConverter.class));
|
||||
verify(mockBeanFactory, times(1)).registerCustomEditor(eq(Gateway.OrderPolicy.class),
|
||||
eq(OrderPolicyConverter.class));
|
||||
verify(mockBeanFactory, times(1)).registerCustomEditor(eq(StartupPolicyType.class),
|
||||
eq(StartupPolicyConverter.class));
|
||||
verify(mockBeanFactory, times(1)).registerCustomEditor(eq(SubscriptionEvictionPolicy.class),
|
||||
eq(SubscriptionEvictionPolicyConverter.class));
|
||||
verifyNoMoreInteractions(mockBeanFactory);
|
||||
|
||||
@@ -1,221 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2013 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
|
||||
*
|
||||
* http://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.assertNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.apache.geode.cache.DataPolicy;
|
||||
import org.apache.geode.cache.Region;
|
||||
import org.apache.geode.cache.util.Gateway;
|
||||
import org.apache.geode.cache.util.GatewayEvent;
|
||||
import org.apache.geode.cache.util.GatewayEventListener;
|
||||
import org.apache.geode.cache.util.GatewayHub;
|
||||
import org.apache.geode.cache.util.GatewayQueueAttributes;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.gemfire.test.GemfireTestApplicationContextInitializer;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||
|
||||
/**
|
||||
* The GatewayHubNamespaceTest class is a test suite of test cases testing the contract and functionality
|
||||
* of the GatewayHub SDG XML namespace (XSD) configuration meta-data.
|
||||
*
|
||||
* @author John Blum
|
||||
* @see org.junit.Test
|
||||
* @see org.junit.runner.RunWith
|
||||
* @see org.springframework.data.gemfire.test.GemfireTestApplicationContextInitializer
|
||||
* @see org.springframework.data.gemfire.wan.GatewayHubFactoryBean
|
||||
* @see org.springframework.data.gemfire.wan.GatewayProxy
|
||||
* @see org.springframework.test.context.ContextConfiguration
|
||||
* @see org.springframework.test.context.junit4.SpringJUnit4ClassRunner
|
||||
* @see org.apache.geode.cache.util.Gateway
|
||||
* @see org.apache.geode.cache.util.GatewayHub
|
||||
* @since 1.5.3
|
||||
*/
|
||||
@RunWith(SpringJUnit4ClassRunner.class)
|
||||
@ContextConfiguration(initializers = GemfireTestApplicationContextInitializer.class)
|
||||
@SuppressWarnings({"deprecation", "unused" })
|
||||
public class GatewayHubNamespaceTest {
|
||||
|
||||
@Resource(name = "Example")
|
||||
private Region<?, ?> example;
|
||||
|
||||
@Autowired
|
||||
private GatewayHub gatewayHub;
|
||||
|
||||
protected Gateway getGatewayById(final List<Gateway> gateways, final String id) {
|
||||
for (Gateway gateway : gateways) {
|
||||
if (gateway.getId().equals(id)) {
|
||||
return gateway;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRegionConfiguration() {
|
||||
assertNotNull("The '/Example' Region was not properly initialized!", example);
|
||||
assertEquals("Example", example.getName());
|
||||
assertEquals("/Example", example.getFullPath());
|
||||
assertNotNull(example.getAttributes());
|
||||
assertEquals(DataPolicy.REPLICATE, example.getAttributes().getDataPolicy());
|
||||
assertTrue(example.getAttributes().getEnableGateway());
|
||||
assertEquals("testGatewayHub", example.getAttributes().getGatewayHubId());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGatewayConfiguration() {
|
||||
assertNotNull("The 'TestGatewayHub' GatewayHub was not properly initialized!", gatewayHub);
|
||||
assertEquals("localhost", gatewayHub.getBindAddress());
|
||||
assertEquals("TestGatewayHub", gatewayHub.getId());
|
||||
assertTrue(gatewayHub.getManualStart());
|
||||
assertEquals(125, gatewayHub.getMaxConnections());
|
||||
assertEquals(5000, gatewayHub.getMaximumTimeBetweenPings());
|
||||
assertEquals(45123, gatewayHub.getPort());
|
||||
assertEquals(16384, gatewayHub.getSocketBufferSize());
|
||||
assertEquals("primary", gatewayHub.getStartupPolicy());
|
||||
|
||||
List<Gateway> gateways = gatewayHub.getGateways();
|
||||
|
||||
assertNotNull(gateways);
|
||||
assertFalse(gateways.isEmpty());
|
||||
assertEquals(3, gateways.size());
|
||||
|
||||
Gateway gatewayOne = getGatewayById(gateways, "gateway1");
|
||||
|
||||
assertNotNull(gatewayOne);
|
||||
assertEquals("gateway1", gatewayOne.getId());
|
||||
assertEquals(8, gatewayOne.getConcurrencyLevel());
|
||||
assertEquals(Gateway.OrderPolicy.THREAD, gatewayOne.getOrderPolicy());
|
||||
assertEquals(65536, gatewayOne.getSocketBufferSize());
|
||||
assertEquals(75000, gatewayOne.getSocketReadTimeout());
|
||||
assertTrue(gatewayOne.getEndpoints() == null || gatewayOne.getEndpoints().isEmpty());
|
||||
|
||||
List<GatewayEventListener> gatewayEventListeners = gatewayOne.getListeners();
|
||||
|
||||
assertNotNull(gatewayEventListeners);
|
||||
assertFalse(gatewayEventListeners.isEmpty());
|
||||
assertEquals(2, gatewayEventListeners.size());
|
||||
assertTrue(gatewayEventListeners.get(0) instanceof TestGatewayListener);
|
||||
assertEquals("ListenerOne", gatewayEventListeners.get(0).toString());
|
||||
assertTrue(gatewayEventListeners.get(1) instanceof TestGatewayListener);
|
||||
assertEquals("ListenerTwo", gatewayEventListeners.get(1).toString());
|
||||
|
||||
GatewayQueueAttributes gatewayQueueAttributes = gatewayOne.getQueueAttributes();
|
||||
|
||||
assertNotNull(gatewayQueueAttributes);
|
||||
assertEquals(99, gatewayQueueAttributes.getAlertThreshold());
|
||||
assertTrue(gatewayQueueAttributes.getBatchConflation());
|
||||
assertEquals(3, gatewayQueueAttributes.getBatchSize());
|
||||
assertEquals(10, gatewayQueueAttributes.getBatchTimeInterval());
|
||||
assertEquals("TestGatewayQueueDiskStore", gatewayQueueAttributes.getDiskStoreName());
|
||||
assertFalse(gatewayQueueAttributes.getEnablePersistence());
|
||||
assertEquals(5, gatewayQueueAttributes.getMaximumQueueMemory());
|
||||
|
||||
Gateway gatewayTwo = getGatewayById(gateways, "gateway2");
|
||||
|
||||
assertNotNull(gatewayTwo);
|
||||
assertEquals("gateway2", gatewayTwo.getId());
|
||||
assertEquals(Gateway.DEFAULT_CONCURRENCY_LEVEL, gatewayTwo.getConcurrencyLevel());
|
||||
assertNull(gatewayTwo.getOrderPolicy());
|
||||
assertEquals(Gateway.DEFAULT_SOCKET_BUFFER_SIZE, gatewayTwo.getSocketBufferSize());
|
||||
assertEquals(Gateway.DEFAULT_SOCKET_READ_TIMEOUT, gatewayTwo.getSocketReadTimeout());
|
||||
assertTrue(gatewayTwo.getListeners() == null || gatewayTwo.getListeners().isEmpty());
|
||||
|
||||
List gatewayEndpoints = gatewayTwo.getEndpoints();
|
||||
|
||||
assertNotNull(gatewayEndpoints);
|
||||
assertFalse(gatewayEndpoints.isEmpty());
|
||||
assertEquals(2, gatewayEndpoints.size());
|
||||
|
||||
Gateway.Endpoint gatewayEndpointOne = (Gateway.Endpoint) gatewayEndpoints.get(0);
|
||||
|
||||
assertEquals("endpoint1", gatewayEndpointOne.getId());
|
||||
assertEquals("localhost", gatewayEndpointOne.getHost());
|
||||
assertEquals(1234, gatewayEndpointOne.getPort());
|
||||
|
||||
Gateway.Endpoint gatewayEndpointTwo = (Gateway.Endpoint) gatewayEndpoints.get(1);
|
||||
|
||||
assertEquals("endpoint2", gatewayEndpointTwo.getId());
|
||||
assertEquals("localhost", gatewayEndpointTwo.getHost());
|
||||
assertEquals(4321, gatewayEndpointTwo.getPort());
|
||||
|
||||
gatewayQueueAttributes = gatewayTwo.getQueueAttributes();
|
||||
|
||||
assertNotNull(gatewayQueueAttributes);
|
||||
assertEquals(GatewayQueueAttributes.DEFAULT_ALERT_THRESHOLD, gatewayQueueAttributes.getAlertThreshold());
|
||||
assertFalse(gatewayQueueAttributes.getBatchConflation());
|
||||
assertEquals(6, gatewayQueueAttributes.getBatchSize());
|
||||
assertEquals(20, gatewayQueueAttributes.getBatchTimeInterval());
|
||||
assertNull(gatewayQueueAttributes.getDiskStoreName());
|
||||
assertTrue(gatewayQueueAttributes.getEnablePersistence());
|
||||
assertEquals(GatewayQueueAttributes.DEFAULT_MAXIMUM_QUEUE_MEMORY, gatewayQueueAttributes.getMaximumQueueMemory());
|
||||
|
||||
Gateway gatewayThree = getGatewayById(gateways, "gateway3");
|
||||
|
||||
assertNotNull(gatewayThree);
|
||||
assertEquals("gateway3", gatewayThree.getId());
|
||||
assertEquals(Gateway.DEFAULT_CONCURRENCY_LEVEL, gatewayThree.getConcurrencyLevel());
|
||||
assertNull(gatewayThree.getOrderPolicy());
|
||||
assertEquals(Gateway.DEFAULT_SOCKET_BUFFER_SIZE, gatewayThree.getSocketBufferSize());
|
||||
assertEquals(Gateway.DEFAULT_SOCKET_READ_TIMEOUT, gatewayThree.getSocketReadTimeout());
|
||||
assertTrue(gatewayThree.getEndpoints() == null || gatewayThree.getEndpoints().isEmpty());
|
||||
|
||||
gatewayEventListeners = gatewayThree.getListeners();
|
||||
|
||||
assertNotNull(gatewayEventListeners);
|
||||
assertFalse(gatewayEventListeners.isEmpty());
|
||||
assertEquals(1, gatewayEventListeners.size());
|
||||
assertTrue(gatewayEventListeners.get(0) instanceof TestGatewayListener);
|
||||
assertEquals("ListenerTwo", gatewayEventListeners.get(0).toString());
|
||||
}
|
||||
|
||||
public static final class TestGatewayListener implements GatewayEventListener {
|
||||
|
||||
private String name;
|
||||
|
||||
public void setName(final String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean processEvents(final List<GatewayEvent> events) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void close() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return name;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,105 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2013 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
|
||||
*
|
||||
* http://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.assertNotNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.geode.cache.Cache;
|
||||
import org.apache.geode.cache.Region;
|
||||
import org.apache.geode.cache.util.GatewayEvent;
|
||||
import org.apache.geode.cache.util.GatewayEventListener;
|
||||
import org.apache.geode.cache.util.GatewayHub;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.data.gemfire.TestUtils;
|
||||
import org.springframework.data.gemfire.test.GemfireTestApplicationContextInitializer;
|
||||
import org.springframework.data.gemfire.wan.GatewayHubFactoryBean;
|
||||
import org.springframework.data.gemfire.wan.GatewayProxy;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||
|
||||
/**
|
||||
* @author David Turanski
|
||||
*
|
||||
*/
|
||||
@RunWith(SpringJUnit4ClassRunner.class)
|
||||
@ContextConfiguration(locations= "/org/springframework/data/gemfire/config/xml/gateway-v6-ns.xml",
|
||||
initializers=GemfireTestApplicationContextInitializer.class)
|
||||
public class GemfireV6GatewayNamespaceTest {
|
||||
|
||||
@Autowired ApplicationContext ctx;
|
||||
|
||||
@Test
|
||||
public void testGatewayHubFactoryBean() throws Exception {
|
||||
GatewayHubFactoryBean gwhfb = ctx.getBean("&gateway-hub", GatewayHubFactoryBean.class);
|
||||
List<GatewayProxy> gateways = TestUtils.readField("gateways", gwhfb);
|
||||
assertNotNull(gateways);
|
||||
assertEquals(2, gateways.size());
|
||||
GatewayProxy gwp = gateways.get(0);
|
||||
assertEquals("gateway", gwp.getId());
|
||||
assertTrue(gwp.getListeners().get(0) instanceof GatewayListener);
|
||||
|
||||
gwp = gateways.get(1);
|
||||
assertEquals("gateway2", gwp.getId());
|
||||
List<GatewayProxy.GatewayEndpoint> endpoints = gwp.getEndpoints();
|
||||
assertEquals(2, endpoints.size());
|
||||
GatewayProxy.GatewayEndpoint endpoint;
|
||||
|
||||
endpoint = endpoints.get(0);
|
||||
assertEquals("endpoint1", endpoint.getId());
|
||||
assertEquals("host1", endpoint.getHost());
|
||||
assertEquals(1234, endpoint.getPort());
|
||||
|
||||
endpoint = endpoints.get(1);
|
||||
assertEquals("endpoint2", endpoint.getId());
|
||||
assertEquals("host2", endpoint.getHost());
|
||||
assertEquals(2345, endpoint.getPort());
|
||||
}
|
||||
|
||||
@SuppressWarnings("rawtypes")
|
||||
@Test
|
||||
public void testGatewaysInGemfire() {
|
||||
Cache cache = ctx.getBean("gemfireCache", Cache.class);
|
||||
GatewayHub gwh = cache.getGatewayHub("gateway-hub");
|
||||
assertNotNull(gwh);
|
||||
|
||||
Region region = ctx.getBean("region-with-gateway", Region.class);
|
||||
assertTrue(region.getAttributes().getEnableGateway());
|
||||
assertEquals("gateway-hub", region.getAttributes().getGatewayHubId());
|
||||
}
|
||||
|
||||
public static class GatewayListener implements GatewayEventListener {
|
||||
|
||||
@Override
|
||||
public void close() {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean processEvents(List<GatewayEvent> event) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -31,11 +31,11 @@ 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.util.Gateway.OrderPolicy;
|
||||
import org.apache.geode.cache.wan.GatewayEventFilter;
|
||||
import org.apache.geode.cache.wan.GatewayQueueEvent;
|
||||
import org.apache.geode.cache.wan.GatewayReceiver;
|
||||
import org.apache.geode.cache.wan.GatewaySender;
|
||||
import org.apache.geode.cache.wan.GatewaySender.OrderPolicy;
|
||||
import org.apache.geode.cache.wan.GatewayTransportFilter;
|
||||
import org.junit.AfterClass;
|
||||
import org.junit.Before;
|
||||
|
||||
@@ -136,8 +136,6 @@ public class TemplateClientRegionNamespaceTest {
|
||||
assertNull(region.getAttributes().getCustomEntryIdleTimeout());
|
||||
assertNull(region.getAttributes().getCustomEntryTimeToLive());
|
||||
assertNull(region.getAttributes().getDiskStoreName());
|
||||
assertFalse(region.getAttributes().getEnableGateway());
|
||||
assertNullEmpty(region.getAttributes().getGatewayHubId());
|
||||
assertFalse(region.getAttributes().getMulticastEnabled());
|
||||
assertDefaultExpirationAttributes(region.getAttributes().getRegionTimeToLive());
|
||||
assertDefaultExpirationAttributes(region.getAttributes().getRegionIdleTimeout());
|
||||
|
||||
@@ -243,8 +243,6 @@ public class TemplateRegionsNamespaceTests {
|
||||
assertNull(region.getAttributes().getCustomEntryIdleTimeout());
|
||||
assertNull(region.getAttributes().getCustomEntryTimeToLive());
|
||||
assertNull(region.getAttributes().getDiskStoreName());
|
||||
assertFalse(region.getAttributes().getEnableGateway());
|
||||
assertNullEmpty(region.getAttributes().getGatewayHubId());
|
||||
assertFalse(region.getAttributes().getMulticastEnabled());
|
||||
assertNullEmpty(region.getAttributes().getPoolName());
|
||||
assertDefaultExpirationAttributes(region.getAttributes().getRegionTimeToLive());
|
||||
@@ -656,5 +654,4 @@ public class TemplateRegionsNamespaceTests {
|
||||
return name;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -20,6 +20,8 @@ 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.mockito.Mockito.doThrow;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.verify;
|
||||
@@ -27,7 +29,6 @@ import static org.mockito.Mockito.verify;
|
||||
import org.apache.geode.cache.Operation;
|
||||
import org.apache.geode.cache.query.CqEvent;
|
||||
import org.apache.geode.cache.query.CqQuery;
|
||||
import org.apache.geode.cache.query.internal.CqQueryImpl;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.springframework.data.gemfire.listener.ContinuousQueryListener;
|
||||
@@ -46,12 +47,12 @@ public class QueryListenerAdapterTest {
|
||||
}
|
||||
|
||||
CqEvent event() {
|
||||
CqEvent event = new CqEvent() {
|
||||
final CqQuery cq = new CqQueryImpl();
|
||||
final byte[] ba = new byte[0];
|
||||
return new CqEvent() {
|
||||
final CqQuery cq = mock(CqQuery.class);
|
||||
final byte[] deltaValue = new byte[0];
|
||||
final Object key = new Object();
|
||||
final Object value = new Object();
|
||||
final Exception ex = new Exception();
|
||||
final Exception exception = new Exception();
|
||||
|
||||
public Operation getBaseOperation() {
|
||||
return Operation.CACHE_CLOSE;
|
||||
@@ -62,7 +63,7 @@ public class QueryListenerAdapterTest {
|
||||
}
|
||||
|
||||
public byte[] getDeltaValue() {
|
||||
return ba;
|
||||
return deltaValue;
|
||||
}
|
||||
|
||||
public Object getKey() {
|
||||
@@ -78,11 +79,9 @@ public class QueryListenerAdapterTest {
|
||||
}
|
||||
|
||||
public Throwable getThrowable() {
|
||||
return ex;
|
||||
return exception;
|
||||
}
|
||||
};
|
||||
|
||||
return event;
|
||||
}
|
||||
|
||||
interface Delegate {
|
||||
@@ -103,8 +102,7 @@ public class QueryListenerAdapterTest {
|
||||
|
||||
void handleOps(Operation base, Operation query);
|
||||
|
||||
void handleAll(CqEvent event, CqQuery query, byte[] ba, Object key, Operation op, Throwable th, Operation qOp,
|
||||
Object v);
|
||||
void handleAll(CqEvent event, CqQuery query, byte[] ba, Object key, Operation op, Throwable th, Operation qOp, Object v);
|
||||
|
||||
void handleInvalid(Object o1, Object o2, Object o3);
|
||||
}
|
||||
@@ -121,106 +119,116 @@ public class QueryListenerAdapterTest {
|
||||
|
||||
@Test
|
||||
public void testAdapterWithListenerAndDefaultMessage() throws Exception {
|
||||
ContinuousQueryListener mock = mock(ContinuousQueryListener.class);
|
||||
|
||||
ContinuousQueryListenerAdapter adapter = new ContinuousQueryListenerAdapter(mock);
|
||||
ContinuousQueryListener mockCqListener = mock(ContinuousQueryListener.class);
|
||||
ContinuousQueryListenerAdapter cqListenerAdapter = new ContinuousQueryListenerAdapter(mockCqListener);
|
||||
CqEvent event = event();
|
||||
adapter.onEvent(event);
|
||||
verify(mock).onEvent(event);
|
||||
|
||||
cqListenerAdapter.onEvent(event);
|
||||
|
||||
verify(mockCqListener).onEvent(same(event));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testHandleEvent() throws Exception {
|
||||
Delegate mock = mock(Delegate.class);
|
||||
ContinuousQueryListenerAdapter adapter = new ContinuousQueryListenerAdapter(mock);
|
||||
Delegate mockDelegate = mock(Delegate.class);
|
||||
ContinuousQueryListenerAdapter cqListenerAdapter = new ContinuousQueryListenerAdapter(mockDelegate);
|
||||
CqEvent event = event();
|
||||
|
||||
adapter.onEvent(event);
|
||||
verify(mock).handleEvent(event);
|
||||
cqListenerAdapter.onEvent(event);
|
||||
|
||||
verify(mockDelegate).handleEvent(same(event));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testHandleArray() throws Exception {
|
||||
Delegate mock = mock(Delegate.class);
|
||||
ContinuousQueryListenerAdapter adapter = new ContinuousQueryListenerAdapter(mock);
|
||||
adapter.setDefaultListenerMethod("handleArray");
|
||||
Delegate mockDelegate = mock(Delegate.class);
|
||||
ContinuousQueryListenerAdapter cqListenerAdapter = new ContinuousQueryListenerAdapter(mockDelegate);
|
||||
CqEvent event = event();
|
||||
adapter.onEvent(event);
|
||||
verify(mock).handleArray(event.getDeltaValue());
|
||||
|
||||
cqListenerAdapter.setDefaultListenerMethod("handleArray");
|
||||
cqListenerAdapter.onEvent(event);
|
||||
|
||||
verify(mockDelegate).handleArray(eq(event.getDeltaValue()));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testHandleKey() throws Exception {
|
||||
Delegate mock = mock(Delegate.class);
|
||||
ContinuousQueryListenerAdapter adapter = new ContinuousQueryListenerAdapter(mock);
|
||||
adapter.setDefaultListenerMethod("handleKey");
|
||||
Delegate mockDelegate = mock(Delegate.class);
|
||||
ContinuousQueryListenerAdapter cqListenerAdapter = new ContinuousQueryListenerAdapter(mockDelegate);
|
||||
CqEvent event = event();
|
||||
|
||||
adapter.onEvent(event);
|
||||
verify(mock).handleKey(event.getKey());
|
||||
cqListenerAdapter.setDefaultListenerMethod("handleKey");
|
||||
cqListenerAdapter.onEvent(event);
|
||||
|
||||
verify(mockDelegate).handleKey(eq(event.getKey()));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testHandleKV() throws Exception {
|
||||
Delegate mock = mock(Delegate.class);
|
||||
ContinuousQueryListenerAdapter adapter = new ContinuousQueryListenerAdapter(mock);
|
||||
adapter.setDefaultListenerMethod("handleKV");
|
||||
Delegate mockDelegate = mock(Delegate.class);
|
||||
ContinuousQueryListenerAdapter cqListenerAdapter = new ContinuousQueryListenerAdapter(mockDelegate);
|
||||
CqEvent event = event();
|
||||
|
||||
adapter.onEvent(event);
|
||||
verify(mock).handleKV(event.getKey(), event.getNewValue());
|
||||
cqListenerAdapter.setDefaultListenerMethod("handleKV");
|
||||
cqListenerAdapter.onEvent(event);
|
||||
|
||||
verify(mockDelegate).handleKV(eq(event.getKey()), eq(event.getNewValue()));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testHandleEx() throws Exception {
|
||||
Delegate mock = mock(Delegate.class);
|
||||
ContinuousQueryListenerAdapter adapter = new ContinuousQueryListenerAdapter(mock);
|
||||
adapter.setDefaultListenerMethod("handleEx");
|
||||
Delegate mockDelegate = mock(Delegate.class);
|
||||
ContinuousQueryListenerAdapter cqListenerAdapter = new ContinuousQueryListenerAdapter(mockDelegate);
|
||||
CqEvent event = event();
|
||||
|
||||
adapter.onEvent(event);
|
||||
verify(mock).handleEx(event.getThrowable());
|
||||
cqListenerAdapter.setDefaultListenerMethod("handleEx");
|
||||
cqListenerAdapter.onEvent(event);
|
||||
|
||||
verify(mockDelegate).handleEx(eq(event.getThrowable()));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testHandleOps() throws Exception {
|
||||
Delegate mock = mock(Delegate.class);
|
||||
ContinuousQueryListenerAdapter adapter = new ContinuousQueryListenerAdapter(mock);
|
||||
adapter.setDefaultListenerMethod("handleOps");
|
||||
Delegate mockDelegate = mock(Delegate.class);
|
||||
ContinuousQueryListenerAdapter cqListenerAdapter = new ContinuousQueryListenerAdapter(mockDelegate);
|
||||
CqEvent event = event();
|
||||
|
||||
adapter.onEvent(event);
|
||||
verify(mock).handleOps(event.getBaseOperation(), event.getQueryOperation());
|
||||
cqListenerAdapter.setDefaultListenerMethod("handleOps");
|
||||
cqListenerAdapter.onEvent(event);
|
||||
|
||||
verify(mockDelegate).handleOps(eq(event.getBaseOperation()), eq(event.getQueryOperation()));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testHandleAll() throws Exception {
|
||||
Delegate mock = mock(Delegate.class);
|
||||
ContinuousQueryListenerAdapter adapter = new ContinuousQueryListenerAdapter(mock);
|
||||
adapter.setDefaultListenerMethod("handleAll");
|
||||
Delegate mockDelegate = mock(Delegate.class);
|
||||
ContinuousQueryListenerAdapter cqListenerAdapter = new ContinuousQueryListenerAdapter(mockDelegate);
|
||||
CqEvent event = event();
|
||||
|
||||
adapter.onEvent(event);
|
||||
verify(mock).handleAll(event, event.getCq(), event.getDeltaValue(), event.getKey(), event.getBaseOperation(),
|
||||
event.getThrowable(), event.getQueryOperation(), event.getNewValue());
|
||||
cqListenerAdapter.setDefaultListenerMethod("handleAll");
|
||||
cqListenerAdapter.onEvent(event);
|
||||
|
||||
verify(mockDelegate).handleAll(eq(event), eq(event.getCq()), eq(event.getDeltaValue()), eq(event.getKey()),
|
||||
eq(event.getBaseOperation()), eq(event.getThrowable()), eq(event.getQueryOperation()),
|
||||
eq(event.getNewValue()));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testInvalid() throws Exception {
|
||||
Delegate mock = mock(Delegate.class);
|
||||
ContinuousQueryListenerAdapter adapter = new ContinuousQueryListenerAdapter(mock);
|
||||
adapter.setDefaultListenerMethod("handleInvalid");
|
||||
Delegate mockDelegate = mock(Delegate.class);
|
||||
ContinuousQueryListenerAdapter cqListenerAdapter = new ContinuousQueryListenerAdapter(mockDelegate);
|
||||
|
||||
adapter.onEvent(event());
|
||||
doThrow(new IllegalArgumentException()).when(mock);
|
||||
cqListenerAdapter.setDefaultListenerMethod("handleInvalid");
|
||||
cqListenerAdapter.onEvent(event());
|
||||
|
||||
doThrow(new IllegalArgumentException()).when(mockDelegate);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see SGF-89
|
||||
* @link https://jira.spring.io/browse/SGF-89
|
||||
*/
|
||||
@Test
|
||||
public void triggersListenerImplementingInterfaceCorrectly() {
|
||||
|
||||
SampleListener listener = new SampleListener();
|
||||
|
||||
ContinuousQueryListener listenerAdapter = new ContinuousQueryListenerAdapter(listener) {
|
||||
|
||||
@@ -1,266 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2013 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
|
||||
*
|
||||
* http://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.test;
|
||||
|
||||
import static org.mockito.Matchers.any;
|
||||
import static org.mockito.Matchers.anyBoolean;
|
||||
import static org.mockito.Matchers.anyInt;
|
||||
import static org.mockito.Matchers.anyString;
|
||||
import static org.mockito.Mockito.doAnswer;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.geode.cache.util.Gateway;
|
||||
import org.apache.geode.cache.util.GatewayEventListener;
|
||||
import org.apache.geode.cache.util.GatewayQueueAttributes;
|
||||
import org.mockito.invocation.InvocationOnMock;
|
||||
import org.mockito.stubbing.Answer;
|
||||
import org.springframework.data.gemfire.test.support.AbstractUnitAndIntegrationTestsWithMockSupport;
|
||||
|
||||
/**
|
||||
* The MockGatewayFactory class is a factory for creating mock GemFire Gateways, GatewayQueueAttributes
|
||||
* and Gateway.Endpoints.
|
||||
*
|
||||
* @author John Blum
|
||||
* @see org.mockito.Mockito
|
||||
* @see org.springframework.data.gemfire.wan.GatewayHubFactoryBean
|
||||
* @see org.apache.geode.cache.util.Gateway
|
||||
* @see org.apache.geode.cache.util.GatewayHub
|
||||
* @since 1.5.3
|
||||
*/
|
||||
@SuppressWarnings({ "deprecation", "unused" })
|
||||
public class MockGatewayFactory extends AbstractUnitAndIntegrationTestsWithMockSupport {
|
||||
|
||||
private Boolean batchConflation = GatewayQueueAttributes.DEFAULT_BATCH_CONFLATION;
|
||||
private Boolean persistence = GatewayQueueAttributes.DEFAULT_ENABLE_PERSISTENCE;
|
||||
|
||||
private Gateway.OrderPolicy orderPolicy;
|
||||
|
||||
private GatewayQueueAttributes queueAttributes;
|
||||
|
||||
private Integer alertThreshold = GatewayQueueAttributes.DEFAULT_ALERT_THRESHOLD;
|
||||
private Integer batchSize = GatewayQueueAttributes.DEFAULT_BATCH_SIZE;
|
||||
private Integer batchTimeInterval = GatewayQueueAttributes.DEFAULT_BATCH_TIME_INTERVAL;
|
||||
private Integer maxQueueMemory = GatewayQueueAttributes.DEFAULT_MAXIMUM_QUEUE_MEMORY;
|
||||
private Integer socketBufferSize = Gateway.DEFAULT_SOCKET_BUFFER_SIZE;
|
||||
private Integer socketReadTimeout = Gateway.DEFAULT_SOCKET_READ_TIMEOUT;
|
||||
|
||||
private List<Gateway.Endpoint> endpoints;
|
||||
private List<GatewayEventListener> listeners;
|
||||
|
||||
private String diskStoreName;
|
||||
|
||||
public MockGatewayFactory() {
|
||||
endpoints = new ArrayList<Gateway.Endpoint>();
|
||||
listeners = new ArrayList<GatewayEventListener>();
|
||||
queueAttributes = mockGatewayQueueAttributes();
|
||||
}
|
||||
|
||||
public Gateway mockGateway(final String id, final int concurrencyLevel) {
|
||||
Gateway mockGateway = mock(Gateway.class, String.format("%1$s.MockGateway", getMockId()));
|
||||
|
||||
when(mockGateway.getConcurrencyLevel()).thenReturn(concurrencyLevel);
|
||||
when(mockGateway.getEndpoints()).thenReturn(endpoints);
|
||||
when(mockGateway.getId()).thenReturn(id);
|
||||
when(mockGateway.getListeners()).thenReturn(listeners);
|
||||
when(mockGateway.getQueueSize()).thenThrow(new UnsupportedOperationException(NOT_IMPLEMENTED));
|
||||
|
||||
doAnswer(new Answer<Void>() {
|
||||
@Override public Void answer(final InvocationOnMock invocation) throws Throwable {
|
||||
orderPolicy = invocation.getArgumentAt(0, Gateway.OrderPolicy.class);
|
||||
return null;
|
||||
}
|
||||
}).when(mockGateway).setOrderPolicy(any(Gateway.OrderPolicy.class));
|
||||
|
||||
when(mockGateway.getOrderPolicy()).thenAnswer(new Answer<Gateway.OrderPolicy>() {
|
||||
@Override public Gateway.OrderPolicy answer(final InvocationOnMock invocation) throws Throwable {
|
||||
return orderPolicy;
|
||||
}
|
||||
});
|
||||
|
||||
doAnswer(new Answer<Void>() {
|
||||
@Override public Void answer(final InvocationOnMock invocation) throws Throwable {
|
||||
queueAttributes = invocation.getArgumentAt(0, GatewayQueueAttributes.class);
|
||||
return null;
|
||||
}
|
||||
}).when(mockGateway).setQueueAttributes(any(GatewayQueueAttributes.class));
|
||||
|
||||
when(mockGateway.getQueueAttributes()).thenAnswer(new Answer<GatewayQueueAttributes>() {
|
||||
@Override public GatewayQueueAttributes answer(final InvocationOnMock invocation) throws Throwable {
|
||||
return queueAttributes;
|
||||
}
|
||||
});
|
||||
|
||||
doAnswer(new Answer<Void>() {
|
||||
@Override public Void answer(final InvocationOnMock invocation) throws Throwable {
|
||||
socketBufferSize = invocation.getArgumentAt(0, Integer.class);
|
||||
return null;
|
||||
}
|
||||
}).when(mockGateway).setSocketBufferSize(anyInt());
|
||||
|
||||
when(mockGateway.getSocketBufferSize()).thenAnswer(new Answer<Integer>() {
|
||||
@Override public Integer answer(final InvocationOnMock invocation) throws Throwable {
|
||||
return socketBufferSize;
|
||||
}
|
||||
});
|
||||
|
||||
doAnswer(new Answer<Void>() {
|
||||
@Override public Void answer(final InvocationOnMock invocation) throws Throwable {
|
||||
socketReadTimeout = invocation.getArgumentAt(0, Integer.class);
|
||||
return null;
|
||||
}
|
||||
}).when(mockGateway).setSocketReadTimeout(anyInt());
|
||||
|
||||
when(mockGateway.getSocketReadTimeout()).thenAnswer(new Answer<Integer>() {
|
||||
@Override public Integer answer(final InvocationOnMock invocation) throws Throwable {
|
||||
return socketReadTimeout;
|
||||
}
|
||||
});
|
||||
|
||||
doAnswer(new Answer<Void>() {
|
||||
@Override public Void answer(final InvocationOnMock invocation) throws Throwable {
|
||||
String id = invocation.getArgumentAt(0, String.class);
|
||||
String host = invocation.getArgumentAt(1, String.class);
|
||||
int port = invocation.getArgumentAt(2, Integer.class);
|
||||
endpoints.add(mockGatewayEndpoint(id, host, port));
|
||||
return null;
|
||||
}
|
||||
}).when(mockGateway).addEndpoint(anyString(), anyString(), anyInt());
|
||||
|
||||
doAnswer(new Answer<Void>() {
|
||||
@Override public Void answer(final InvocationOnMock invocation) throws Throwable {
|
||||
listeners.add(invocation.getArgumentAt(0, GatewayEventListener.class));
|
||||
return null;
|
||||
}
|
||||
}).when(mockGateway).addListener(any(GatewayEventListener.class));
|
||||
|
||||
return mockGateway;
|
||||
}
|
||||
|
||||
public Gateway.Endpoint mockGatewayEndpoint(final String id, final String host, final int port) {
|
||||
Gateway.Endpoint mockEndpoint = mock(Gateway.Endpoint.class,
|
||||
String.format("%1$s.MockGatewayEndpoint", getMockId()));
|
||||
|
||||
when(mockEndpoint.getId()).thenReturn(id);
|
||||
when(mockEndpoint.getHost()).thenReturn(host);
|
||||
when(mockEndpoint.getPort()).thenReturn(port);
|
||||
|
||||
return mockEndpoint;
|
||||
}
|
||||
|
||||
public GatewayQueueAttributes mockGatewayQueueAttributes() {
|
||||
GatewayQueueAttributes mockQueueAttributes = mock(GatewayQueueAttributes.class,
|
||||
String.format("%1$s.MockGatewayQueueAttributes", getMockId()));
|
||||
|
||||
doAnswer(new Answer<Void>() {
|
||||
@Override public Void answer(final InvocationOnMock invocation) throws Throwable {
|
||||
alertThreshold = invocation.getArgumentAt(0, Integer.class);
|
||||
return null;
|
||||
}
|
||||
}).when(mockQueueAttributes).setAlertThreshold(anyInt());
|
||||
|
||||
when(mockQueueAttributes.getAlertThreshold()).thenAnswer(new Answer<Integer>() {
|
||||
@Override public Integer answer(final InvocationOnMock invocation) throws Throwable {
|
||||
return alertThreshold;
|
||||
}
|
||||
});
|
||||
|
||||
doAnswer(new Answer<Void>() {
|
||||
@Override public Void answer(final InvocationOnMock invocation) throws Throwable {
|
||||
batchConflation = invocation.getArgumentAt(0, Boolean.class);
|
||||
return null;
|
||||
}
|
||||
}).when(mockQueueAttributes).setBatchConflation(anyBoolean());
|
||||
|
||||
when(mockQueueAttributes.getBatchConflation()).thenAnswer(new Answer<Boolean>() {
|
||||
@Override public Boolean answer(final InvocationOnMock invocation) throws Throwable {
|
||||
return batchConflation;
|
||||
}
|
||||
});
|
||||
|
||||
doAnswer(new Answer<Void>() {
|
||||
@Override public Void answer(final InvocationOnMock invocation) throws Throwable {
|
||||
batchSize = invocation.getArgumentAt(0, Integer.class);
|
||||
return null;
|
||||
}
|
||||
}).when(mockQueueAttributes).setBatchSize(anyInt());
|
||||
|
||||
when(mockQueueAttributes.getBatchSize()).thenAnswer(new Answer<Integer>() {
|
||||
@Override public Integer answer(final InvocationOnMock invocation) throws Throwable {
|
||||
return batchSize;
|
||||
}
|
||||
});
|
||||
|
||||
doAnswer(new Answer<Void>() {
|
||||
@Override public Void answer(final InvocationOnMock invocation) throws Throwable {
|
||||
batchTimeInterval = invocation.getArgumentAt(0, Integer.class);
|
||||
return null;
|
||||
}
|
||||
}).when(mockQueueAttributes).setBatchTimeInterval(anyInt());
|
||||
|
||||
when(mockQueueAttributes.getBatchTimeInterval()).thenAnswer(new Answer<Integer>() {
|
||||
@Override public Integer answer(final InvocationOnMock invocation) throws Throwable {
|
||||
return batchTimeInterval;
|
||||
}
|
||||
});
|
||||
|
||||
doAnswer(new Answer<Void>() {
|
||||
@Override public Void answer(final InvocationOnMock invocation) throws Throwable {
|
||||
diskStoreName = invocation.getArgumentAt(0, String.class);
|
||||
return null;
|
||||
}
|
||||
}).when(mockQueueAttributes).setDiskStoreName(anyString());
|
||||
|
||||
when(mockQueueAttributes.getDiskStoreName()).thenAnswer(new Answer<String>() {
|
||||
@Override public String answer(final InvocationOnMock invocation) throws Throwable {
|
||||
return diskStoreName;
|
||||
}
|
||||
});
|
||||
|
||||
doAnswer(new Answer<Void>() {
|
||||
@Override public Void answer(final InvocationOnMock invocation) throws Throwable {
|
||||
persistence = invocation.getArgumentAt(0, Boolean.class);
|
||||
return null;
|
||||
}
|
||||
}).when(mockQueueAttributes).setEnablePersistence(anyBoolean());
|
||||
|
||||
when(mockQueueAttributes.getEnablePersistence()).thenAnswer(new Answer<Boolean>() {
|
||||
@Override public Boolean answer(final InvocationOnMock invocation) throws Throwable {
|
||||
return persistence;
|
||||
}
|
||||
});
|
||||
|
||||
doAnswer(new Answer<Void>() {
|
||||
@Override public Void answer(final InvocationOnMock invocation) throws Throwable {
|
||||
maxQueueMemory = invocation.getArgumentAt(0, Integer.class);
|
||||
return null;
|
||||
}
|
||||
}).when(mockQueueAttributes).setMaximumQueueMemory(anyInt());
|
||||
|
||||
when(mockQueueAttributes.getMaximumQueueMemory()).thenAnswer(new Answer<Integer>() {
|
||||
@Override public Integer answer(final InvocationOnMock invocation) throws Throwable {
|
||||
return maxQueueMemory;
|
||||
}
|
||||
});
|
||||
|
||||
return mockQueueAttributes;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,179 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2013 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
|
||||
*
|
||||
* http://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.test;
|
||||
|
||||
import static org.mockito.Matchers.anyBoolean;
|
||||
import static org.mockito.Matchers.anyInt;
|
||||
import static org.mockito.Matchers.anyString;
|
||||
import static org.mockito.Mockito.doAnswer;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.atomic.AtomicLong;
|
||||
|
||||
import org.apache.geode.cache.util.Gateway;
|
||||
import org.apache.geode.cache.util.GatewayHub;
|
||||
import org.mockito.invocation.InvocationOnMock;
|
||||
import org.mockito.stubbing.Answer;
|
||||
import org.springframework.data.gemfire.test.support.AbstractUnitAndIntegrationTestsWithMockSupport;
|
||||
|
||||
/**
|
||||
* The MockGatewayHubFactory class is a factory for creating mock GemFire GatewayHubs.
|
||||
*
|
||||
* @author John Blum
|
||||
* @see org.mockito.Mockito
|
||||
* @see AbstractUnitAndIntegrationTestsWithMockSupport
|
||||
* @see org.springframework.data.gemfire.wan.GatewayHubFactoryBean
|
||||
* @see org.apache.geode.cache.util.Gateway
|
||||
* @see org.apache.geode.cache.util.GatewayHub
|
||||
* @since 1.5.3
|
||||
*/
|
||||
@SuppressWarnings({ "deprecation", "unused" })
|
||||
public class MockGatewayHubFactory extends AbstractUnitAndIntegrationTestsWithMockSupport {
|
||||
|
||||
private static final AtomicLong ID_SEQUENCE = new AtomicLong(System.currentTimeMillis());
|
||||
|
||||
private Boolean manualStart = GatewayHub.DEFAULT_MANUAL_START;
|
||||
|
||||
private Integer maximumConnections = GatewayHub.DEFAULT_MAX_CONNECTIONS;
|
||||
private Integer maximumTimeBetweenPings = GatewayHub.DEFAULT_MAXIMUM_TIME_BETWEEN_PINGS;
|
||||
private Integer socketBufferSize = GatewayHub.DEFAULT_SOCKET_BUFFER_SIZE;
|
||||
|
||||
private List<Gateway> gateways = new ArrayList<Gateway>();
|
||||
|
||||
private String bindAddress = GatewayHub.DEFAULT_BIND_ADDRESS;
|
||||
private String startupPolicy = GatewayHub.DEFAULT_STARTUP_POLICY;
|
||||
|
||||
public GatewayHub mockGatewayHub(final String id, final int port) {
|
||||
final GatewayHub mockGatewayHub = mock(GatewayHub.class, String.format("%1$s.MockGatewayHub", getMockId()));
|
||||
|
||||
when(mockGatewayHub.getGateways()).thenReturn(gateways);
|
||||
when(mockGatewayHub.getGatewayIds()).thenReturn(getGatewayIds(gateways));
|
||||
when(mockGatewayHub.getId()).thenReturn(id);
|
||||
when(mockGatewayHub.getPort()).thenReturn(port);
|
||||
|
||||
doAnswer(new Answer<Void>() {
|
||||
@Override public Void answer(final InvocationOnMock invocation) throws Throwable {
|
||||
bindAddress = invocation.getArgumentAt(0, String.class);
|
||||
return null;
|
||||
}
|
||||
}).when(mockGatewayHub).setBindAddress(anyString());
|
||||
|
||||
when(mockGatewayHub.getBindAddress()).thenAnswer(new Answer<String>() {
|
||||
@Override public String answer(final InvocationOnMock invocation) throws Throwable {
|
||||
return bindAddress;
|
||||
}
|
||||
});
|
||||
|
||||
doAnswer(new Answer<Void>() {
|
||||
@Override public Void answer(final InvocationOnMock invocation) throws Throwable {
|
||||
manualStart = invocation.getArgumentAt(0, Boolean.class);
|
||||
return null;
|
||||
}
|
||||
}).when(mockGatewayHub).setManualStart(anyBoolean());
|
||||
|
||||
when(mockGatewayHub.getManualStart()).thenAnswer(new Answer<Boolean>() {
|
||||
@Override public Boolean answer(final InvocationOnMock invocation) throws Throwable {
|
||||
return manualStart;
|
||||
}
|
||||
});
|
||||
|
||||
doAnswer(new Answer<Void>() {
|
||||
@Override public Void answer(final InvocationOnMock invocation) throws Throwable {
|
||||
maximumConnections = invocation.getArgumentAt(0, Integer.class);
|
||||
return null;
|
||||
}
|
||||
}).when(mockGatewayHub).setMaxConnections(anyInt());
|
||||
|
||||
when(mockGatewayHub.getMaxConnections()).thenAnswer(new Answer<Integer>() {
|
||||
@Override public Integer answer(final InvocationOnMock invocation) throws Throwable {
|
||||
return maximumConnections;
|
||||
}
|
||||
});
|
||||
|
||||
doAnswer(new Answer<Void>() {
|
||||
@Override public Void answer(final InvocationOnMock invocation) throws Throwable {
|
||||
maximumTimeBetweenPings = invocation.getArgumentAt(0, Integer.class);
|
||||
return null;
|
||||
}
|
||||
}).when(mockGatewayHub).setMaximumTimeBetweenPings(anyInt());
|
||||
|
||||
when(mockGatewayHub.getMaximumTimeBetweenPings()).thenAnswer(new Answer<Integer>() {
|
||||
@Override public Integer answer(final InvocationOnMock invocation) throws Throwable {
|
||||
return maximumTimeBetweenPings;
|
||||
}
|
||||
});
|
||||
|
||||
doAnswer(new Answer<Void>() {
|
||||
@Override public Void answer(final InvocationOnMock invocation) throws Throwable {
|
||||
socketBufferSize = invocation.getArgumentAt(0, Integer.class);
|
||||
return null;
|
||||
}
|
||||
}).when(mockGatewayHub).setSocketBufferSize(anyInt());
|
||||
|
||||
when(mockGatewayHub.getSocketBufferSize()).thenAnswer(new Answer<Integer>() {
|
||||
@Override public Integer answer(final InvocationOnMock invocation) throws Throwable {
|
||||
return socketBufferSize;
|
||||
}
|
||||
});
|
||||
|
||||
doAnswer(new Answer<Void>() {
|
||||
@Override public Void answer(final InvocationOnMock invocation) throws Throwable {
|
||||
startupPolicy = invocation.getArgumentAt(0, String.class);
|
||||
return null;
|
||||
}
|
||||
}).when(mockGatewayHub).setStartupPolicy(anyString());
|
||||
|
||||
when(mockGatewayHub.getStartupPolicy()).thenAnswer(new Answer<String>() {
|
||||
@Override public String answer(final InvocationOnMock invocation) throws Throwable {
|
||||
return startupPolicy;
|
||||
}
|
||||
});
|
||||
|
||||
when(mockGatewayHub.addGateway(anyString())).thenAnswer(new Answer<Gateway>() {
|
||||
@Override public Gateway answer(final InvocationOnMock invocation) throws Throwable {
|
||||
String id = invocation.getArgumentAt(0, String.class);
|
||||
return mockGatewayHub.addGateway(id, Gateway.DEFAULT_CONCURRENCY_LEVEL);
|
||||
}
|
||||
});
|
||||
|
||||
when(mockGatewayHub.addGateway(anyString(), anyInt())).thenAnswer(new Answer<Gateway>() {
|
||||
@Override public Gateway answer(final InvocationOnMock invocation) throws Throwable {
|
||||
String id = invocation.getArgumentAt(0, String.class);
|
||||
Integer concurrencyLevel = invocation.getArgumentAt(1, Integer.class);
|
||||
Gateway mockGateway = new MockGatewayFactory().mockGateway(id, concurrencyLevel);
|
||||
when(mockGateway.getGatewayHubId()).thenReturn(id);
|
||||
gateways.add(mockGateway);
|
||||
return mockGateway;
|
||||
}
|
||||
});
|
||||
|
||||
return mockGatewayHub;
|
||||
}
|
||||
|
||||
private List<String> getGatewayIds(final List<Gateway> gateways) {
|
||||
List<String> gatewayIds = new ArrayList<String>(gateways.size());
|
||||
|
||||
for (Gateway gateway : gateways) {
|
||||
gatewayIds.add(gateway.getId());
|
||||
}
|
||||
|
||||
return gatewayIds;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -220,14 +220,6 @@ public class MockRegionFactory<K, V> {
|
||||
}
|
||||
});
|
||||
|
||||
when(regionFactory.setEnableGateway(anyBoolean())).thenAnswer(new Answer<RegionFactory>(){
|
||||
@Override public RegionFactory answer(InvocationOnMock invocation) throws Throwable {
|
||||
boolean enableGateway = (Boolean) invocation.getArguments()[0];
|
||||
attributesFactory.setEnableGateway(enableGateway);
|
||||
return regionFactory;
|
||||
}
|
||||
});
|
||||
|
||||
when(regionFactory.setEnableSubscriptionConflation(anyBoolean())).thenAnswer(new Answer<RegionFactory>(){
|
||||
@Override public RegionFactory answer(InvocationOnMock invocation) throws Throwable {
|
||||
boolean enableSubscriptionConflation = (Boolean) invocation.getArguments()[0];
|
||||
@@ -276,14 +268,6 @@ public class MockRegionFactory<K, V> {
|
||||
}
|
||||
});
|
||||
|
||||
when(regionFactory.setGatewayHubId(anyString())).thenAnswer(new Answer<RegionFactory>(){
|
||||
@Override public RegionFactory answer(InvocationOnMock invocation) throws Throwable {
|
||||
String gatewayHubId = (String) invocation.getArguments()[0];
|
||||
attributesFactory.setGatewayHubId(gatewayHubId);
|
||||
return regionFactory;
|
||||
}
|
||||
});
|
||||
|
||||
when(regionFactory.setIgnoreJTA(anyBoolean())).thenAnswer(new Answer<RegionFactory>(){
|
||||
@Override public RegionFactory answer(InvocationOnMock invocation) throws Throwable {
|
||||
boolean ignoreJta = (Boolean) invocation.getArguments()[0];
|
||||
@@ -500,5 +484,4 @@ public class MockRegionFactory<K, V> {
|
||||
public static QueryService mockQueryService() {
|
||||
return mockQueryService;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -22,10 +22,10 @@ import java.util.List;
|
||||
import org.apache.geode.cache.asyncqueue.AsyncEventListener;
|
||||
import org.apache.geode.cache.asyncqueue.AsyncEventQueue;
|
||||
import org.apache.geode.cache.asyncqueue.AsyncEventQueueFactory;
|
||||
import org.apache.geode.cache.util.Gateway.OrderPolicy;
|
||||
import org.apache.geode.cache.wan.GatewayEventFilter;
|
||||
import org.apache.geode.cache.wan.GatewayEventSubstitutionFilter;
|
||||
import org.apache.geode.cache.wan.GatewaySender;
|
||||
import org.apache.geode.cache.wan.GatewaySender.OrderPolicy;
|
||||
|
||||
/**
|
||||
* @author David Turanski
|
||||
@@ -38,6 +38,7 @@ public class StubAsyncEventQueueFactory implements AsyncEventQueueFactory {
|
||||
|
||||
private boolean batchConflationEnabled;
|
||||
private boolean diskSynchronous;
|
||||
private boolean forwardExpirationDestroy;
|
||||
private boolean parallel;
|
||||
private boolean persistent;
|
||||
|
||||
@@ -50,7 +51,7 @@ public class StubAsyncEventQueueFactory implements AsyncEventQueueFactory {
|
||||
|
||||
private OrderPolicy orderPolicy;
|
||||
|
||||
private List<GatewayEventFilter> gatewayEventFilters = new ArrayList<GatewayEventFilter>();
|
||||
private List<GatewayEventFilter> gatewayEventFilters = new ArrayList<>();
|
||||
|
||||
private String diskStoreName;
|
||||
|
||||
@@ -70,6 +71,7 @@ public class StubAsyncEventQueueFactory implements AsyncEventQueueFactory {
|
||||
when(asyncEventQueue.getDispatcherThreads()).thenReturn(this.dispatcherThreads);
|
||||
when(asyncEventQueue.getGatewayEventSubstitutionFilter()).thenReturn(this.gatewayEventSubstitutionFilter);
|
||||
when(asyncEventQueue.getGatewayEventFilters()).thenReturn(Collections.unmodifiableList(gatewayEventFilters));
|
||||
when(asyncEventQueue.isForwardExpirationDestroy()).thenReturn(this.forwardExpirationDestroy);
|
||||
|
||||
return this.asyncEventQueue;
|
||||
}
|
||||
@@ -145,7 +147,12 @@ public class StubAsyncEventQueueFactory implements AsyncEventQueueFactory {
|
||||
@Override
|
||||
public AsyncEventQueueFactory setGatewayEventSubstitutionListener(final GatewayEventSubstitutionFilter gatewayEventSubstitutionFilter) {
|
||||
this.gatewayEventSubstitutionFilter = gatewayEventSubstitutionFilter;
|
||||
return null;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AsyncEventQueueFactory setForwardExpirationDestroy(boolean forward) {
|
||||
this.forwardExpirationDestroy = forward;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,7 +52,6 @@ import org.apache.geode.cache.query.RegionNotFoundException;
|
||||
import org.apache.geode.cache.server.CacheServer;
|
||||
import org.apache.geode.cache.snapshot.CacheSnapshotService;
|
||||
import org.apache.geode.cache.util.GatewayConflictResolver;
|
||||
import org.apache.geode.cache.util.GatewayHub;
|
||||
import org.apache.geode.cache.wan.GatewayReceiver;
|
||||
import org.apache.geode.cache.wan.GatewayReceiverFactory;
|
||||
import org.apache.geode.cache.wan.GatewaySender;
|
||||
@@ -97,8 +96,6 @@ public class StubCache implements Cache, ClientCache {
|
||||
|
||||
private HashMap<String, Region> allRegions;
|
||||
|
||||
private List<GatewayHub> gatewayHubs;
|
||||
|
||||
private LogWriter logWriter;
|
||||
private LogWriter securityLogWriter;
|
||||
|
||||
@@ -115,8 +112,7 @@ public class StubCache implements Cache, ClientCache {
|
||||
private String name;
|
||||
|
||||
public StubCache(){
|
||||
allRegions = new HashMap<String,Region>();
|
||||
gatewayHubs = new ArrayList<GatewayHub>();
|
||||
allRegions = new HashMap<>();
|
||||
resourceManager = new StubResourceManager();
|
||||
}
|
||||
|
||||
@@ -280,7 +276,7 @@ public class StubCache implements Cache, ClientCache {
|
||||
@SuppressWarnings({ "rawtypes", "unchecked" })
|
||||
@Override
|
||||
public <K, V> Map<String, RegionAttributes<K, V>> listRegionAttributes() {
|
||||
Map<String, RegionAttributes<K, V>> attributes = new HashMap<String, RegionAttributes<K, V>>();
|
||||
Map<String, RegionAttributes<K, V>> attributes = new HashMap<>();
|
||||
for (Entry<String, Region> entry: allRegions().entrySet()) {
|
||||
attributes.put(entry.getKey(), entry.getValue().getAttributes());
|
||||
}
|
||||
@@ -380,7 +376,7 @@ public class StubCache implements Cache, ClientCache {
|
||||
*/
|
||||
@Override
|
||||
public Set<Region<?, ?>> rootRegions() {
|
||||
Set<Region<?,?>> rootRegions = new HashSet<Region<?,?>>();
|
||||
Set<Region<?,?>> rootRegions = new HashSet<>();
|
||||
for (String key: allRegions().keySet()) {
|
||||
if (!key.contains("/")) {
|
||||
rootRegions.add(allRegions().get(key));
|
||||
@@ -389,15 +385,6 @@ public class StubCache implements Cache, ClientCache {
|
||||
return rootRegions;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.apache.geode.cache.Cache#addBridgeServer()
|
||||
*/
|
||||
@Override
|
||||
@Deprecated
|
||||
public org.apache.geode.cache.util.BridgeServer addBridgeServer() {
|
||||
throw new UnsupportedOperationException(NOT_IMPLEMENTED);
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.apache.geode.cache.Cache#addCacheServer()
|
||||
*/
|
||||
@@ -406,18 +393,6 @@ public class StubCache implements Cache, ClientCache {
|
||||
return mockCacheServer();
|
||||
}
|
||||
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.apache.geode.cache.Cache#addGatewayHub(java.lang.String, int)
|
||||
*/
|
||||
@Override
|
||||
public GatewayHub addGatewayHub(final String id, final int port) {
|
||||
GatewayHub gatewayHub = getGatewayHub(id);
|
||||
gatewayHub = (gatewayHub != null ? gatewayHub : new MockGatewayHubFactory().mockGatewayHub(id, port));
|
||||
gatewayHubs.add(gatewayHub);
|
||||
return gatewayHub;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.apache.geode.cache.Cache#close(boolean)
|
||||
*/
|
||||
@@ -529,15 +504,6 @@ public class StubCache implements Cache, ClientCache {
|
||||
throw new UnsupportedOperationException(NOT_IMPLEMENTED);
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.apache.geode.cache.Cache#getBridgeServers()
|
||||
*/
|
||||
@Override
|
||||
@Deprecated
|
||||
public List<CacheServer> getBridgeServers() {
|
||||
throw new UnsupportedOperationException(NOT_IMPLEMENTED);
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.apache.geode.cache.Cache#getCacheServers()
|
||||
*/
|
||||
@@ -554,37 +520,6 @@ public class StubCache implements Cache, ClientCache {
|
||||
return this.gatewayConflictResolver;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.apache.geode.cache.Cache#getGatewayHub()
|
||||
*/
|
||||
@Override
|
||||
@Deprecated
|
||||
public GatewayHub getGatewayHub() {
|
||||
return (gatewayHubs.isEmpty() ? null : gatewayHubs.get(0));
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.apache.geode.cache.Cache#getGatewayHub(java.lang.String)
|
||||
*/
|
||||
@Override
|
||||
public GatewayHub getGatewayHub(final String id) {
|
||||
for (GatewayHub gatewayHub : gatewayHubs) {
|
||||
if (gatewayHub.getId().equals(id)) {
|
||||
return gatewayHub;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.apache.geode.cache.Cache#getGatewayHubs()
|
||||
*/
|
||||
@Override
|
||||
public List<GatewayHub> getGatewayHubs() {
|
||||
return this.gatewayHubs;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.apache.geode.cache.Cache#getGatewayReceivers()
|
||||
*/
|
||||
@@ -708,15 +643,6 @@ public class StubCache implements Cache, ClientCache {
|
||||
this.gatewayConflictResolver = arg0;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.apache.geode.cache.Cache#setGatewayHub(java.lang.String, int)
|
||||
*/
|
||||
@Override
|
||||
@Deprecated
|
||||
public GatewayHub setGatewayHub(String arg0, int arg1) {
|
||||
throw new UnsupportedOperationException(NOT_IMPLEMENTED);
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.apache.geode.cache.Cache#setIsServer(boolean)
|
||||
*/
|
||||
@@ -942,5 +868,4 @@ public class StubCache implements Cache, ClientCache {
|
||||
public QueryService getQueryService(final String poolName) {
|
||||
return getQueryService();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -23,143 +23,127 @@ import org.apache.geode.cache.TransactionId;
|
||||
import org.apache.geode.cache.TransactionListener;
|
||||
import org.apache.geode.cache.TransactionWriter;
|
||||
|
||||
|
||||
/**
|
||||
* @author David Turanski
|
||||
*
|
||||
*/
|
||||
public class StubCacheTransactionMananger implements CacheTransactionManager {
|
||||
|
||||
private List<TransactionListener> listeners = new ArrayList<TransactionListener>();
|
||||
private boolean distributed = false;
|
||||
|
||||
private List<TransactionListener> listeners = new ArrayList<>();
|
||||
|
||||
private TransactionWriter writer;
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.apache.geode.cache.CacheTransactionManager#begin()
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
@Override
|
||||
public boolean isSuspended(TransactionId transactionId) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
@Override
|
||||
public void begin() {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.apache.geode.cache.CacheTransactionManager#commit()
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
@Override
|
||||
public void commit() throws CommitConflictException {
|
||||
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.apache.geode.cache.CacheTransactionManager#rollback()
|
||||
*/
|
||||
@Override
|
||||
public void rollback() {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.apache.geode.cache.CacheTransactionManager#suspend()
|
||||
*/
|
||||
@Override
|
||||
public TransactionId suspend() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.apache.geode.cache.CacheTransactionManager#resume(org.apache.geode.cache.TransactionId)
|
||||
*/
|
||||
@Override
|
||||
public void resume(TransactionId transactionId) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.apache.geode.cache.CacheTransactionManager#isSuspended(org.apache.geode.cache.TransactionId)
|
||||
*/
|
||||
@Override
|
||||
public boolean isSuspended(TransactionId transactionId) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.apache.geode.cache.CacheTransactionManager#tryResume(org.apache.geode.cache.TransactionId)
|
||||
*/
|
||||
@Override
|
||||
public boolean tryResume(TransactionId transactionId) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.apache.geode.cache.CacheTransactionManager#tryResume(org.apache.geode.cache.TransactionId, long, java.util.concurrent.TimeUnit)
|
||||
*/
|
||||
@Override
|
||||
public boolean tryResume(TransactionId transactionId, long time, TimeUnit unit) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.apache.geode.cache.CacheTransactionManager#exists(org.apache.geode.cache.TransactionId)
|
||||
*/
|
||||
@Override
|
||||
public boolean exists(TransactionId transactionId) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.apache.geode.cache.CacheTransactionManager#exists()
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
@Override
|
||||
public boolean exists() {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.apache.geode.cache.CacheTransactionManager#getTransactionId()
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
@Override
|
||||
public TransactionId getTransactionId() {
|
||||
// TODO Auto-generated method stub
|
||||
public boolean exists(TransactionId transactionId) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
@Override
|
||||
public void resume(TransactionId transactionId) {
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
@Override
|
||||
public void rollback() {
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
@Override
|
||||
public TransactionId suspend() {
|
||||
return null;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.apache.geode.cache.CacheTransactionManager#getListener()
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
@Override
|
||||
public boolean tryResume(TransactionId transactionId) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
@Override
|
||||
public boolean tryResume(TransactionId transactionId, long time, TimeUnit unit) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
@Override
|
||||
public TransactionId getTransactionId() {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
@Override
|
||||
@Deprecated
|
||||
public TransactionListener getListener() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.apache.geode.cache.CacheTransactionManager#getListeners()
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
@Override
|
||||
public TransactionListener[] getListeners() {
|
||||
return listeners.toArray(new TransactionListener[listeners.size()]);
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.apache.geode.cache.CacheTransactionManager#setListener(org.apache.geode.cache.TransactionListener)
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
@Override
|
||||
@Deprecated
|
||||
public TransactionListener setListener(TransactionListener newListener) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.apache.geode.cache.CacheTransactionManager#addListener(org.apache.geode.cache.TransactionListener)
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
@Override
|
||||
public void addListener(TransactionListener aListener) {
|
||||
@@ -167,16 +151,16 @@ public class StubCacheTransactionMananger implements CacheTransactionManager {
|
||||
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.apache.geode.cache.CacheTransactionManager#removeListener(org.apache.geode.cache.TransactionListener)
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
@Override
|
||||
public void removeListener(TransactionListener aListener) {
|
||||
this.listeners.remove(aListener);
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.apache.geode.cache.CacheTransactionManager#initListeners(org.apache.geode.cache.TransactionListener[])
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
@Override
|
||||
public void initListeners(TransactionListener[] newListeners) {
|
||||
@@ -184,20 +168,35 @@ public class StubCacheTransactionMananger implements CacheTransactionManager {
|
||||
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.apache.geode.cache.CacheTransactionManager#setWriter(org.apache.geode.cache.TransactionWriter)
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
@Override
|
||||
public void setWriter(TransactionWriter writer) {
|
||||
this.writer = writer;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.apache.geode.cache.CacheTransactionManager#getWriter()
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
@Override
|
||||
public TransactionWriter getWriter() {
|
||||
return this.writer;
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
@Override
|
||||
public void setDistributed(boolean distributed) {
|
||||
this.distributed = distributed;
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
@Override
|
||||
public boolean isDistributed() {
|
||||
return this.distributed;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
* 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.test;
|
||||
|
||||
import static org.mockito.Mockito.doAnswer;
|
||||
@@ -19,10 +20,10 @@ import static org.mockito.Mockito.when;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.geode.cache.util.Gateway.OrderPolicy;
|
||||
import org.apache.geode.cache.wan.GatewayEventFilter;
|
||||
import org.apache.geode.cache.wan.GatewayEventSubstitutionFilter;
|
||||
import org.apache.geode.cache.wan.GatewaySender;
|
||||
import org.apache.geode.cache.wan.GatewaySender.OrderPolicy;
|
||||
import org.apache.geode.cache.wan.GatewaySenderFactory;
|
||||
import org.apache.geode.cache.wan.GatewayTransportFilter;
|
||||
import org.mockito.invocation.InvocationOnMock;
|
||||
@@ -64,8 +65,8 @@ public class StubGatewaySenderFactory implements GatewaySenderFactory {
|
||||
private String diskStoreName;
|
||||
|
||||
public StubGatewaySenderFactory() {
|
||||
this.eventFilters = new ArrayList<GatewayEventFilter>();
|
||||
this.transportFilters = new ArrayList<GatewayTransportFilter>();
|
||||
this.eventFilters = new ArrayList<>();
|
||||
this.transportFilters = new ArrayList<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -225,5 +226,4 @@ public class StubGatewaySenderFactory implements GatewaySenderFactory {
|
||||
this.gatewayEventSubstitutionFilter = gatewayEventSubstitutionFilter;
|
||||
return this;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -33,7 +33,9 @@ import org.apache.geode.cache.control.ResourceManager;
|
||||
public class StubResourceManager implements ResourceManager {
|
||||
|
||||
private float criticalHeapPercentage;
|
||||
private float criticalOffHeapPercentage;
|
||||
private float evictionHeapPercentage;
|
||||
private float evictionOffHeapPercentage;
|
||||
|
||||
@Override
|
||||
public void setCriticalHeapPercentage(final float heapPercentage) {
|
||||
@@ -65,4 +67,23 @@ public class StubResourceManager implements ResourceManager {
|
||||
return Collections.emptySet();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCriticalOffHeapPercentage(float offHeapPercentage) {
|
||||
this.criticalOffHeapPercentage = offHeapPercentage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getCriticalOffHeapPercentage() {
|
||||
return this.criticalOffHeapPercentage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setEvictionOffHeapPercentage(float offHeapPercentage) {
|
||||
this.evictionOffHeapPercentage = offHeapPercentage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getEvictionOffHeapPercentage() {
|
||||
return this.evictionOffHeapPercentage;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.geode.management.internal.cli.util.spring.Assert;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
/**
|
||||
* The FileSystemUtils class is a utility class encapsulating functionality to process file system directories
|
||||
|
||||
@@ -31,7 +31,7 @@ import org.apache.geode.cache.Cache;
|
||||
import org.apache.geode.cache.asyncqueue.AsyncEventListener;
|
||||
import org.apache.geode.cache.asyncqueue.AsyncEventQueue;
|
||||
import org.apache.geode.cache.asyncqueue.AsyncEventQueueFactory;
|
||||
import org.apache.geode.cache.util.Gateway;
|
||||
import org.apache.geode.cache.wan.GatewaySender;
|
||||
import org.junit.Test;
|
||||
import org.springframework.data.gemfire.TestUtils;
|
||||
|
||||
@@ -83,7 +83,8 @@ public class AsyncEventQueueFactoryBeanTest {
|
||||
String orderPolicy = TestUtils.readField("orderPolicy", factoryBean);
|
||||
|
||||
if (orderPolicy != null) {
|
||||
verify(mockAsyncEventQueueFactory).setOrderPolicy(eq(Gateway.OrderPolicy.valueOf(orderPolicy.toUpperCase())));
|
||||
verify(mockAsyncEventQueueFactory).setOrderPolicy(
|
||||
eq(GatewaySender.OrderPolicy.valueOf(orderPolicy.toUpperCase())));
|
||||
}
|
||||
|
||||
Integer dispatcherThreads = TestUtils.readField("dispatcherThreads", factoryBean);
|
||||
|
||||
@@ -1,323 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2013 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
|
||||
*
|
||||
* http://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.assertNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.mockito.Matchers.eq;
|
||||
import static org.mockito.Matchers.same;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.geode.cache.Cache;
|
||||
import org.apache.geode.cache.util.Gateway;
|
||||
import org.apache.geode.cache.util.GatewayEventListener;
|
||||
import org.apache.geode.cache.util.GatewayHub;
|
||||
import org.apache.geode.cache.util.GatewayQueueAttributes;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
/**
|
||||
* The GatewayHubFactoryBeanTest class is a test suite of test cases testing the contract and functionality
|
||||
* of the GatewayHubFactoryBean.
|
||||
*
|
||||
* @author John Blum
|
||||
* @see org.junit.Test
|
||||
* @see org.mockito.Mockito
|
||||
* @see org.springframework.data.gemfire.wan.GatewayHubFactoryBean
|
||||
* @since 1.7.0
|
||||
*/
|
||||
@SuppressWarnings("deprecation")
|
||||
public class GatewayHubFactoryBeanTest {
|
||||
|
||||
private Cache mockCache;
|
||||
|
||||
private GatewayHubFactoryBean factoryBean;
|
||||
|
||||
@Before
|
||||
public void setup() {
|
||||
mockCache = mock(Cache.class, "GemFire Cache");
|
||||
factoryBean = new GatewayHubFactoryBean(mockCache);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetObjectAndObjectType() throws Exception {
|
||||
assertNull(factoryBean.getObject());
|
||||
assertEquals(GatewayHub.class, factoryBean.getObjectType());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSetAndGetBindAddress() {
|
||||
assertEquals(GatewayHub.DEFAULT_BIND_ADDRESS, factoryBean.getBindAddress());
|
||||
factoryBean.setBindAddress("10.127.255.1");
|
||||
assertEquals("10.127.255.1", factoryBean.getBindAddress());
|
||||
factoryBean.setBindAddress(null);
|
||||
assertEquals(GatewayHub.DEFAULT_BIND_ADDRESS, factoryBean.getBindAddress());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetGateways() {
|
||||
List<GatewayProxy> gateways = factoryBean.getGateways();
|
||||
|
||||
assertNotNull(gateways);
|
||||
assertTrue(gateways.isEmpty());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSetAndIsManualStart() {
|
||||
assertEquals(GatewayHub.DEFAULT_MANUAL_START, factoryBean.isManualStart(GatewayHub.DEFAULT_MANUAL_START));
|
||||
factoryBean.setManualStart(true);
|
||||
assertTrue(factoryBean.isManualStart(GatewayHub.DEFAULT_MANUAL_START));
|
||||
factoryBean.setManualStart(false);
|
||||
assertFalse(factoryBean.isManualStart(true));
|
||||
factoryBean.setManualStart(null);
|
||||
assertEquals(GatewayHub.DEFAULT_MANUAL_START, factoryBean.isManualStart(GatewayHub.DEFAULT_MANUAL_START));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSetAndGetMaxConnections() {
|
||||
assertEquals(GatewayHub.DEFAULT_MAX_CONNECTIONS, factoryBean.getMaxConnections().intValue());
|
||||
factoryBean.setMaxConnections(8192);
|
||||
assertEquals(8192, factoryBean.getMaxConnections().intValue());
|
||||
factoryBean.setMaxConnections(null);
|
||||
assertEquals(GatewayHub.DEFAULT_MAX_CONNECTIONS, factoryBean.getMaxConnections().intValue());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSetAndGetMaximumTimeBetweenPings() {
|
||||
assertEquals(GatewayHub.DEFAULT_MAXIMUM_TIME_BETWEEN_PINGS, factoryBean.getMaximumTimeBetweenPings().intValue());
|
||||
factoryBean.setMaximumTimeBetweenPings(15000);
|
||||
assertEquals(15000, factoryBean.getMaximumTimeBetweenPings().intValue());
|
||||
factoryBean.setMaximumTimeBetweenPings(null);
|
||||
assertEquals(GatewayHub.DEFAULT_MAXIMUM_TIME_BETWEEN_PINGS, factoryBean.getMaximumTimeBetweenPings().intValue());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSetAndGetPort() {
|
||||
assertEquals(GatewayHub.DEFAULT_PORT, factoryBean.getPort().intValue());
|
||||
factoryBean.setPort(15221);
|
||||
assertEquals(15221, factoryBean.getPort().intValue());
|
||||
factoryBean.setPort(null);
|
||||
assertEquals(GatewayHub.DEFAULT_PORT, factoryBean.getPort().intValue());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSetAndGetSocketBufferSize() {
|
||||
assertEquals(GatewayHub.DEFAULT_SOCKET_BUFFER_SIZE, factoryBean.getSocketBufferSize().intValue());
|
||||
factoryBean.setSocketBufferSize(16384);
|
||||
assertEquals(16384, factoryBean.getSocketBufferSize().intValue());
|
||||
factoryBean.setSocketBufferSize(null);
|
||||
assertEquals(GatewayHub.DEFAULT_SOCKET_BUFFER_SIZE, factoryBean.getSocketBufferSize().intValue());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSetAndGetStartUpPolicy() {
|
||||
assertEquals(StartupPolicyType.DEFAULT, factoryBean.getStartupPolicy());
|
||||
factoryBean.setStartupPolicy(StartupPolicyType.PRIMARY);
|
||||
assertEquals(StartupPolicyType.PRIMARY, factoryBean.getStartupPolicy());
|
||||
factoryBean.setStartupPolicy(null);
|
||||
assertEquals(StartupPolicyType.DEFAULT, factoryBean.getStartupPolicy());
|
||||
factoryBean.setStartupPolicy(StartupPolicyType.SECONDARY);
|
||||
assertEquals(StartupPolicyType.SECONDARY, factoryBean.getStartupPolicy());
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void testAfterPropertiesSetWitNullCache() throws Exception {
|
||||
try {
|
||||
new GatewayHubFactoryBean(null).afterPropertiesSet();
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
assertEquals("Cache must not be null.", expected.getMessage());
|
||||
throw expected;
|
||||
}
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void testAfterPropertiesSetWithNullName() throws Exception {
|
||||
try {
|
||||
factoryBean.afterPropertiesSet();
|
||||
}
|
||||
catch (IllegalArgumentException expected) {
|
||||
assertEquals("Name must not be null.", expected.getMessage());
|
||||
throw expected;
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDoInit() throws Exception {
|
||||
String gatewayHubName = "testDoInit";
|
||||
|
||||
GatewayProxy.GatewayEndpoint gatewayEndpointOne = new GatewayProxy.GatewayEndpoint();
|
||||
|
||||
gatewayEndpointOne.setHost("localhost");
|
||||
gatewayEndpointOne.setId("123");
|
||||
gatewayEndpointOne.setPort(2121);
|
||||
|
||||
GatewayProxy.GatewayEndpoint gatewayEndpointTwo = new GatewayProxy.GatewayEndpoint();
|
||||
|
||||
gatewayEndpointOne.setHost("localhost");
|
||||
gatewayEndpointOne.setId("456");
|
||||
gatewayEndpointOne.setPort(4242);
|
||||
|
||||
GatewayEventListener mockGatewayListener = mock(GatewayEventListener.class,
|
||||
"testDoInit.MockGatewayEventListener");
|
||||
|
||||
GatewayProxy.GatewayQueue gatewayQueue = new GatewayProxy.GatewayQueue();
|
||||
|
||||
gatewayQueue.setAlertThreshold(20);
|
||||
gatewayQueue.setBatchSize(100);
|
||||
gatewayQueue.setBatchTimeInterval(60000);
|
||||
gatewayQueue.setDiskStoreRef("diskX");
|
||||
gatewayQueue.setEnableBatchConflation(true);
|
||||
gatewayQueue.setMaximumQueueMemory(1024);
|
||||
gatewayQueue.setPersistent(true);
|
||||
|
||||
GatewayProxy gatewayProxy = new GatewayProxy();
|
||||
|
||||
gatewayProxy.setId("gatewayProxyId");
|
||||
gatewayProxy.setConcurrencyLevel(4);
|
||||
gatewayProxy.setEndpoints(Arrays.asList(gatewayEndpointOne, gatewayEndpointTwo));
|
||||
gatewayProxy.setListeners(Arrays.asList(mockGatewayListener));
|
||||
gatewayProxy.setOrderPolicy(Gateway.OrderPolicy.THREAD);
|
||||
gatewayProxy.setQueue(gatewayQueue);
|
||||
gatewayProxy.setSocketBufferSize(16384);
|
||||
gatewayProxy.setSocketReadTimeout(300);
|
||||
|
||||
GatewayHub mockGatewayHub = mock(GatewayHub.class, "testDoInit.MockGatewayHub");
|
||||
|
||||
Gateway mockGateway = mock(Gateway.class, "testDoInit.MockGateway");
|
||||
|
||||
GatewayQueueAttributes mockGatewayQueueAttributes = mock(GatewayQueueAttributes.class,
|
||||
"testDoInit.MockGatewayQueueAttributes");
|
||||
|
||||
when(mockCache.addGatewayHub(eq(gatewayHubName), eq(8484))).thenReturn(mockGatewayHub);
|
||||
when(mockCache.getGatewayHub(eq(gatewayHubName))).thenReturn(mockGatewayHub);
|
||||
when(mockGatewayHub.addGateway(eq(gatewayProxy.getId()), eq(gatewayProxy.getConcurrencyLevel().intValue())))
|
||||
.thenReturn(mockGateway);
|
||||
when(mockGatewayHub.getManualStart()).thenReturn(false);
|
||||
when(mockGateway.getQueueAttributes()).thenReturn(mockGatewayQueueAttributes);
|
||||
|
||||
factoryBean.setBindAddress("10.124.210.42");
|
||||
factoryBean.setGateways(Arrays.asList(gatewayProxy));
|
||||
factoryBean.setManualStart(false);
|
||||
factoryBean.setMaxConnections(50);
|
||||
factoryBean.setMaximumTimeBetweenPings(20480);
|
||||
factoryBean.setName(gatewayHubName);
|
||||
factoryBean.setPort(8484);
|
||||
factoryBean.setSocketBufferSize(4096);
|
||||
factoryBean.setStartupPolicy(StartupPolicyType.PRIMARY);
|
||||
factoryBean.afterPropertiesSet();
|
||||
|
||||
verify(mockGatewayHub, times(1)).setBindAddress(eq("10.124.210.42"));
|
||||
verify(mockGatewayHub, times(1)).setManualStart(eq(false));
|
||||
verify(mockGatewayHub, times(1)).setMaxConnections(eq(50));
|
||||
verify(mockGatewayHub, times(1)).setMaximumTimeBetweenPings(eq(20480));
|
||||
verify(mockGatewayHub, times(1)).setSocketBufferSize(eq(4096));
|
||||
verify(mockGatewayHub, times(1)).setStartupPolicy(eq(StartupPolicyType.PRIMARY.getName()));
|
||||
verify(mockGatewayHub, times(1)).addGateway(eq(gatewayProxy.getId()), eq(gatewayProxy.getConcurrencyLevel()));
|
||||
verify(mockGatewayHub, times(1)).start();
|
||||
verify(mockGateway, times(1)).addEndpoint(eq(gatewayEndpointOne.getId()), eq(gatewayEndpointOne.getHost()),
|
||||
eq(gatewayEndpointOne.getPort()));
|
||||
verify(mockGateway, times(1)).addEndpoint(eq(gatewayEndpointTwo.getId()), eq(gatewayEndpointTwo.getHost()),
|
||||
eq(gatewayEndpointTwo.getPort()));
|
||||
verify(mockGateway, times(1)).addListener(same(mockGatewayListener));
|
||||
verify(mockGateway, times(1)).setOrderPolicy(eq(gatewayProxy.getOrderPolicy()));
|
||||
verify(mockGateway, times(1)).setSocketBufferSize(eq(gatewayProxy.getSocketBufferSize()));
|
||||
verify(mockGateway, times(1)).setSocketReadTimeout(eq(gatewayProxy.getSocketReadTimeout()));
|
||||
verify(mockGateway, times(1)).getQueueAttributes();
|
||||
verify(mockGatewayQueueAttributes, times(1)).setAlertThreshold(eq(gatewayQueue.getAlertThreshold()));
|
||||
verify(mockGatewayQueueAttributes, times(1)).setBatchConflation(eq(gatewayQueue.getEnableBatchConflation()));
|
||||
verify(mockGatewayQueueAttributes, times(1)).setBatchSize(eq(gatewayQueue.getBatchSize()));
|
||||
verify(mockGatewayQueueAttributes, times(1)).setBatchTimeInterval(eq(gatewayQueue.getBatchTimeInterval()));
|
||||
verify(mockGatewayQueueAttributes, times(1)).setDiskStoreName(eq(gatewayQueue.getDiskStoreRef()));
|
||||
verify(mockGatewayQueueAttributes, times(1)).setMaximumQueueMemory(eq(gatewayQueue.getMaximumQueueMemory()));
|
||||
verify(mockGatewayQueueAttributes, times(1)).setEnablePersistence(eq(gatewayQueue.getPersistent()));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGatewayQueueWithOverflowNoPersistence() throws Exception {
|
||||
String gatewayHubName = "testGatewayQueueWithOverflowNoPersistence";
|
||||
|
||||
GatewayProxy.GatewayQueue gatewayQueue = new GatewayProxy.GatewayQueue();
|
||||
|
||||
gatewayQueue.setAlertThreshold(100);
|
||||
gatewayQueue.setBatchSize(250);
|
||||
gatewayQueue.setBatchTimeInterval(120000);
|
||||
gatewayQueue.setDiskStoreRef("diskZ");
|
||||
gatewayQueue.setEnableBatchConflation(true);
|
||||
gatewayQueue.setMaximumQueueMemory(2048);
|
||||
gatewayQueue.setPersistent(false);
|
||||
|
||||
GatewayProxy gatewayProxy = new GatewayProxy();
|
||||
|
||||
gatewayProxy.setId("gatewayProxyId");
|
||||
gatewayProxy.setConcurrencyLevel(2);
|
||||
gatewayProxy.setEndpoints(null);
|
||||
gatewayProxy.setListeners(null);
|
||||
gatewayProxy.setOrderPolicy(Gateway.OrderPolicy.THREAD);
|
||||
gatewayProxy.setQueue(gatewayQueue);
|
||||
gatewayProxy.setSocketBufferSize(4096);
|
||||
gatewayProxy.setSocketReadTimeout(60);
|
||||
|
||||
GatewayHub mockGatewayHub = mock(GatewayHub.class, "testGatewayQueueWithOverflowNoPersistence.MockGatewayHub");
|
||||
|
||||
Gateway mockGateway = mock(Gateway.class, "testGatewayQueueWithOverflowNoPersistence.MockGateway");
|
||||
|
||||
GatewayQueueAttributes mockGatewayQueueAttributes = mock(GatewayQueueAttributes.class,
|
||||
"testGatewayQueueWithOverflowNoPersistence.MockGatewayQueueAttributes");
|
||||
|
||||
when(mockCache.addGatewayHub(eq(gatewayHubName), eq(10224))).thenReturn(mockGatewayHub);
|
||||
when(mockCache.getGatewayHub(eq(gatewayHubName))).thenReturn(mockGatewayHub);
|
||||
when(mockGatewayHub.addGateway(eq(gatewayProxy.getId()), eq(gatewayProxy.getConcurrencyLevel())))
|
||||
.thenReturn(mockGateway);
|
||||
when(mockGatewayHub.getManualStart()).thenReturn(GatewayHub.DEFAULT_MANUAL_START);
|
||||
when(mockGateway.getQueueAttributes()).thenReturn(mockGatewayQueueAttributes);
|
||||
|
||||
factoryBean.setGateways(Arrays.asList(gatewayProxy));
|
||||
factoryBean.setName(gatewayHubName);
|
||||
factoryBean.setPort(10224);
|
||||
factoryBean.afterPropertiesSet();
|
||||
|
||||
verify(mockGatewayHub, times(1)).setBindAddress(eq(GatewayHub.DEFAULT_BIND_ADDRESS));
|
||||
verify(mockGatewayHub, times(1)).setManualStart(eq(GatewayHub.DEFAULT_MANUAL_START));
|
||||
verify(mockGatewayHub, times(1)).setMaxConnections(GatewayHub.DEFAULT_MAX_CONNECTIONS);
|
||||
verify(mockGatewayHub, times(1)).setMaximumTimeBetweenPings(eq(GatewayHub.DEFAULT_MAXIMUM_TIME_BETWEEN_PINGS));
|
||||
verify(mockGatewayHub, times(1)).setSocketBufferSize(eq(GatewayHub.DEFAULT_SOCKET_BUFFER_SIZE));
|
||||
verify(mockGatewayHub, times(1)).setStartupPolicy(eq(GatewayHub.DEFAULT_STARTUP_POLICY));
|
||||
verify(mockGatewayHub, times(1)).start();
|
||||
verify(mockGatewayHub, times(1)).addGateway(eq(gatewayProxy.getId()), eq(gatewayProxy.getConcurrencyLevel()));
|
||||
verify(mockGateway, times(1)).setOrderPolicy(eq(gatewayProxy.getOrderPolicy()));
|
||||
verify(mockGateway, times(1)).setSocketBufferSize(eq(gatewayProxy.getSocketBufferSize()));
|
||||
verify(mockGateway, times(1)).setSocketReadTimeout(eq(gatewayProxy.getSocketReadTimeout()));
|
||||
verify(mockGatewayQueueAttributes, times(1)).setAlertThreshold(gatewayQueue.getAlertThreshold());
|
||||
verify(mockGatewayQueueAttributes, times(1)).setBatchConflation(gatewayQueue.getEnableBatchConflation());
|
||||
verify(mockGatewayQueueAttributes, times(1)).setBatchSize(gatewayQueue.getBatchSize());
|
||||
verify(mockGatewayQueueAttributes, times(1)).setBatchTimeInterval(gatewayQueue.getBatchTimeInterval());
|
||||
verify(mockGatewayQueueAttributes, times(1)).setDiskStoreName(gatewayQueue.getDiskStoreRef());
|
||||
verify(mockGatewayQueueAttributes, times(1)).setMaximumQueueMemory(gatewayQueue.getMaximumQueueMemory());
|
||||
verify(mockGatewayQueueAttributes, times(1)).setEnablePersistence(gatewayQueue.getPersistent());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -25,7 +25,6 @@ import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import org.apache.geode.cache.Cache;
|
||||
import org.apache.geode.cache.util.Gateway;
|
||||
import org.apache.geode.cache.wan.GatewaySender;
|
||||
import org.apache.geode.cache.wan.GatewaySenderFactory;
|
||||
import org.junit.Test;
|
||||
@@ -75,7 +74,8 @@ public class GatewaySenderFactoryBeanTest {
|
||||
String orderPolicy = TestUtils.readField("orderPolicy", factoryBean);
|
||||
|
||||
if (orderPolicy != null) {
|
||||
verify(mockGatewaySenderFactory).setOrderPolicy(eq(Gateway.OrderPolicy.valueOf(orderPolicy.toUpperCase())));
|
||||
verify(mockGatewaySenderFactory).setOrderPolicy(
|
||||
eq(GatewaySender.OrderPolicy.valueOf(orderPolicy.toUpperCase())));
|
||||
}
|
||||
|
||||
Integer dispatcherThreads = TestUtils.readField("dispatcherThreads", factoryBean);
|
||||
|
||||
@@ -1,82 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2013 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
|
||||
*
|
||||
* http://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 static org.hamcrest.Matchers.is;
|
||||
import static org.hamcrest.Matchers.nullValue;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.rules.ExpectedException;
|
||||
|
||||
/**
|
||||
* Unit tests for {@link StartupPolicyConverter}.
|
||||
*
|
||||
* @author John Blum
|
||||
* @see org.junit.Test
|
||||
* @see org.springframework.data.gemfire.wan.StartupPolicyType
|
||||
* @see org.springframework.data.gemfire.wan.StartupPolicyConverter
|
||||
* @since 1.6.0
|
||||
*/
|
||||
public class StartupPolicyConverterUnitTests {
|
||||
|
||||
@Rule
|
||||
public ExpectedException exception = ExpectedException.none();
|
||||
|
||||
private StartupPolicyConverter converter = new StartupPolicyConverter();
|
||||
|
||||
@After
|
||||
public void tearDown() {
|
||||
converter.setValue(null);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void convert() {
|
||||
assertThat(converter.convert("none")).isEqualTo(StartupPolicyType.NONE);
|
||||
assertThat(converter.convert("Primary")).isEqualTo(StartupPolicyType.PRIMARY);
|
||||
assertThat(converter.convert("SecONdARY")).isEqualTo(StartupPolicyType.SECONDARY);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void convertIllegalValue() {
|
||||
exception.expect(IllegalArgumentException.class);
|
||||
exception.expectCause(is(nullValue(Throwable.class)));
|
||||
exception.expectMessage("[tertiary] is not a valid StartupPolicyType");
|
||||
|
||||
converter.convert("tertiary");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setAsText() {
|
||||
assertThat(converter.getValue()).isNull();
|
||||
converter.setAsText("priMARY");
|
||||
assertThat(converter.getValue()).isEqualTo(StartupPolicyType.PRIMARY);
|
||||
converter.setAsText("SecondAry");
|
||||
assertThat(converter.getValue()).isEqualTo(StartupPolicyType.SECONDARY);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setAsTextWithIllegalValue() {
|
||||
exception.expect(IllegalArgumentException.class);
|
||||
exception.expectCause(is(nullValue(Throwable.class)));
|
||||
exception.expectMessage("[invalid] is not a valid StartupPolicyType");
|
||||
|
||||
converter.setAsText("invalid");
|
||||
}
|
||||
}
|
||||
@@ -1,62 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2013 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
|
||||
*
|
||||
* http://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.assertNull;
|
||||
import static org.junit.Assert.assertSame;
|
||||
|
||||
import org.apache.geode.cache.util.GatewayHub;
|
||||
import org.junit.Test;
|
||||
|
||||
/**
|
||||
* The StartupPolicyTypeTest class is a test suite of test cases testing the contract and functionality
|
||||
* of the StartupPolicyType enum.
|
||||
*
|
||||
* @author John Blum
|
||||
* @see org.junit.Test
|
||||
* @see StartupPolicyType
|
||||
* @since 1.6.0
|
||||
*/
|
||||
@SuppressWarnings("deprecation")
|
||||
public class StartupPolicyTypeTest {
|
||||
|
||||
@Test
|
||||
public void testDefault() {
|
||||
assertEquals(GatewayHub.DEFAULT_STARTUP_POLICY, StartupPolicyType.DEFAULT.getName());
|
||||
assertSame(StartupPolicyType.NONE, StartupPolicyType.DEFAULT);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testValueOfIgnoreCase() {
|
||||
assertEquals(StartupPolicyType.NONE, StartupPolicyType.valueOfIgnoreCase("NONE"));
|
||||
assertEquals(StartupPolicyType.PRIMARY, StartupPolicyType.valueOfIgnoreCase("Primary"));
|
||||
assertEquals(StartupPolicyType.SECONDARY, StartupPolicyType.valueOfIgnoreCase("secondary"));
|
||||
assertEquals(StartupPolicyType.SECONDARY, StartupPolicyType.valueOfIgnoreCase("SECONDary"));
|
||||
assertEquals(StartupPolicyType.PRIMARY, StartupPolicyType.valueOfIgnoreCase("PriMarY"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testValueOfIgnoreCaseWithInvalidValues() {
|
||||
assertNull(StartupPolicyType.valueOfIgnoreCase("NO"));
|
||||
assertNull(StartupPolicyType.valueOfIgnoreCase("Prime"));
|
||||
assertNull(StartupPolicyType.valueOfIgnoreCase("second"));
|
||||
assertNull(StartupPolicyType.valueOfIgnoreCase("all"));
|
||||
assertNull(StartupPolicyType.valueOfIgnoreCase("N0N3"));
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user