You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ud...@apache.org on 2016/05/23 17:47:33 UTC
[01/10] incubator-geode git commit: GEODE-1367: Fix import problems
Repository: incubator-geode
Updated Branches:
refs/heads/develop 15e985401 -> 74b1f1e72
GEODE-1367: Fix import problems
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/74b1f1e7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/74b1f1e7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/74b1f1e7
Branch: refs/heads/develop
Commit: 74b1f1e7225731f6675f0e95c34582386e911def
Parents: 0b3686f
Author: Udo Kohlmeyer <uk...@pivotal.io>
Authored: Mon May 23 13:16:17 2016 +1000
Committer: Udo Kohlmeyer <uk...@pivotal.io>
Committed: Tue May 24 03:37:40 2016 +1000
----------------------------------------------------------------------
.../gemfire/distributed/LocatorLauncherAssemblyIntegrationTest.java | 1 +
1 file changed, 1 insertion(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/74b1f1e7/geode-assembly/src/test/java/com/gemstone/gemfire/distributed/LocatorLauncherAssemblyIntegrationTest.java
----------------------------------------------------------------------
diff --git a/geode-assembly/src/test/java/com/gemstone/gemfire/distributed/LocatorLauncherAssemblyIntegrationTest.java b/geode-assembly/src/test/java/com/gemstone/gemfire/distributed/LocatorLauncherAssemblyIntegrationTest.java
index ac8cf10..84d4aba 100644
--- a/geode-assembly/src/test/java/com/gemstone/gemfire/distributed/LocatorLauncherAssemblyIntegrationTest.java
+++ b/geode-assembly/src/test/java/com/gemstone/gemfire/distributed/LocatorLauncherAssemblyIntegrationTest.java
@@ -27,6 +27,7 @@ import com.gemstone.gemfire.internal.process.ProcessUtils;
import com.gemstone.gemfire.management.ManagementService;
import com.gemstone.gemfire.management.ManagerMXBean;
import com.gemstone.gemfire.test.junit.categories.IntegrationTest;
+import com.gemstone.gemfire.test.junit.runners.CategoryWithParameterizedRunnerFactory;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
[10/10] incubator-geode git commit: GEODE-1367: Reverted test for
LocatorLauncherAssemblyIntegrationTest.java.
Posted by ud...@apache.org.
GEODE-1367: Reverted test for LocatorLauncherAssemblyIntegrationTest.java.
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/8c23fab4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/8c23fab4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/8c23fab4
Branch: refs/heads/develop
Commit: 8c23fab4b8780f741bf358a560f1d00b16ee9a72
Parents: 6122723
Author: Udo Kohlmeyer <uk...@pivotal.io>
Authored: Wed May 18 10:47:32 2016 +1000
Committer: Udo Kohlmeyer <uk...@pivotal.io>
Committed: Tue May 24 03:37:40 2016 +1000
----------------------------------------------------------------------
.../LocatorLauncherAssemblyIntegrationTest.java | 20 ++-
.../controllers/RestAPIsWithSSLDUnitTest.java | 77 ++++++-----
.../gemfire/management/ManagementTestBase.java | 133 ++++++++-----------
3 files changed, 100 insertions(+), 130 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8c23fab4/geode-assembly/src/test/java/com/gemstone/gemfire/distributed/LocatorLauncherAssemblyIntegrationTest.java
----------------------------------------------------------------------
diff --git a/geode-assembly/src/test/java/com/gemstone/gemfire/distributed/LocatorLauncherAssemblyIntegrationTest.java b/geode-assembly/src/test/java/com/gemstone/gemfire/distributed/LocatorLauncherAssemblyIntegrationTest.java
index 81f345d..ac8cf10 100644
--- a/geode-assembly/src/test/java/com/gemstone/gemfire/distributed/LocatorLauncherAssemblyIntegrationTest.java
+++ b/geode-assembly/src/test/java/com/gemstone/gemfire/distributed/LocatorLauncherAssemblyIntegrationTest.java
@@ -142,19 +142,17 @@ public class LocatorLauncherAssemblyIntegrationTest extends AbstractLocatorLaunc
this.errorCollector.addError(e);
}
- Awaitility.await().pollInterval(100, TimeUnit.MILLISECONDS).pollDelay(100, TimeUnit.MILLISECONDS)
- .timeout(60, TimeUnit.SECONDS).until(() -> initialThreadCount == Thread.activeCount());
+ int finalThreadCount = Integer.MAX_VALUE;
// Spin for up to 5 seconds waiting for threads to finish
- // for (int i = 0; i < 50 && finalThreadCount > initialThreadCount; i++) {
- // try {
- // Thread.sleep(100);
- // } catch (InterruptedException ex) {
- // ignored
- // }
- // finalThreadCount = Thread.activeCount();
- // }
- int finalThreadCount = Thread.activeCount();
+ for (int i = 0; i < 50 && finalThreadCount > initialThreadCount; i++) {
+ try {
+ Thread.sleep(100);
+ } catch (InterruptedException ex) {
+ // ignored
+ }
+ finalThreadCount = Thread.activeCount();
+ }
assertEquals(initialThreadCount, finalThreadCount);
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8c23fab4/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsWithSSLDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsWithSSLDUnitTest.java b/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsWithSSLDUnitTest.java
index 331dc9d..9578d35 100644
--- a/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsWithSSLDUnitTest.java
+++ b/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsWithSSLDUnitTest.java
@@ -170,12 +170,15 @@ public class RestAPIsWithSSLDUnitTest extends LocatorTestBase {
VM client = host.getVM(3);
// start locator
- int locatorPort = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
+ final int locatorPort = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
+ final String locatorHostName = NetworkUtils.getServerHostName(locator.getHost());
- locator.invoke("Start Locator", () -> startLocator(NetworkUtils.getServerHostName(locator.getHost()), locatorPort, ""));
+ locator.invoke("Start Locator", () -> {
+ startLocator(locatorHostName, locatorPort, "");
+ });
// find locators
- String locators = NetworkUtils.getServerHostName(locator.getHost()) + "[" + locatorPort + "]";
+ String locators = locatorHostName + "[" + locatorPort + "]";
// start manager (peer cache)
manager.invoke("StartManager", () -> startManager(locators, new String[] { REGION_NAME }, sslProperties));
@@ -192,7 +195,7 @@ public class RestAPIsWithSSLDUnitTest extends LocatorTestBase {
client.invoke("Create ClientCache", () -> {
new ClientCacheFactory()
.setPdxReadSerialized(true)
- .addPoolLocator(NetworkUtils.getServerHostName(locator.getHost()), locatorPort).create();
+ .addPoolLocator(locatorHostName, locatorPort).create();
return null;
});
@@ -218,10 +221,10 @@ public class RestAPIsWithSSLDUnitTest extends LocatorTestBase {
// stop the client and make sure the bridge server notifies
// stopBridgeMemberVM(client);
- helper.closeCache(locator);
- helper.closeCache(manager);
- helper.closeCache(server);
- helper.closeCache(client);
+ locator.invoke(()-> helper.closeCache());
+ manager.invoke(()-> helper.closeCache());
+ server.invoke(()-> helper.closeCache());
+ client.invoke(()-> helper.closeCache());
}
private void sslPropertyConverter(Properties properties, Properties newProperties, String propertyName, String newPropertyName) {
@@ -257,7 +260,7 @@ public class RestAPIsWithSSLDUnitTest extends LocatorTestBase {
}
}
- private void startManager(final String locators, final String[] regions, final Properties sslProperties) throws IOException {
+ private int startManager(final String locators, final String[] regions, final Properties sslProperties) throws IOException {
IgnoredException.addIgnoredException("java.net.BindException");
IgnoredException.addIgnoredException("java.rmi.server.ExportException");
@@ -315,6 +318,7 @@ public class RestAPIsWithSSLDUnitTest extends LocatorTestBase {
CacheServer server = cache.addCacheServer();
server.setPort(0);
server.start();
+ return server.getPort();
}
private void createRegionInClientCache() {
@@ -331,7 +335,7 @@ public class RestAPIsWithSSLDUnitTest extends LocatorTestBase {
regionFactory.create(PEOPLE_REGION_NAME);
}
- private CloseableHttpClient getSSLBasedHTTPClient() throws Exception {
+ private CloseableHttpClient getSSLBasedHTTPClient(String algo) throws Exception {
File jks = findTrustedJKS();
KeyStore clientKeys = KeyStore.getInstance("JKS");
@@ -353,7 +357,7 @@ public class RestAPIsWithSSLDUnitTest extends LocatorTestBase {
return httpclient;
}
- private void validateConnection(String restEndpoint) {
+ private void validateConnection(String restEndpoint, String algo) {
try {
// 1. Get on key="1" and validate result.
@@ -362,7 +366,8 @@ public class RestAPIsWithSSLDUnitTest extends LocatorTestBase {
get.addHeader("Content-Type", "application/json");
get.addHeader("Accept", "application/json");
- CloseableHttpClient httpclient = getSSLBasedHTTPClient();
+
+ CloseableHttpClient httpclient = getSSLBasedHTTPClient(algo);
CloseableHttpResponse response = httpclient.execute(get);
HttpEntity entity = response.getEntity();
@@ -397,82 +402,76 @@ public class RestAPIsWithSSLDUnitTest extends LocatorTestBase {
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_NAME, jks.getCanonicalPath());
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_PASSWORD_NAME, "password");
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_TYPE_NAME, "JKS");
- validateConnection(startInfraWithSSL(props, false));
+ String restEndpoint = startInfraWithSSL(props,false);
+ validateConnection(restEndpoint, "SSL");
}
public void testSSLWithoutKeyStoreType() throws Exception {
-
Properties props = new Properties();
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_ENABLED_NAME, "true");
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_NAME, jks.getCanonicalPath());
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_PASSWORD_NAME, "password");
- validateConnection(startInfraWithSSL(props, false));
-
+ String restEndpoint = startInfraWithSSL(props, false);
+ validateConnection(restEndpoint, "SSL");
}
public void testSSLWithSSLProtocol() throws Exception {
-
Properties props = new Properties();
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_ENABLED_NAME, "true");
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_NAME, jks.getCanonicalPath());
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_PASSWORD_NAME, "password");
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_PROTOCOLS_NAME, "SSL");
- validateConnection(startInfraWithSSL(props, false));
-
+ String restEndpoint = startInfraWithSSL(props, false);
+ validateConnection(restEndpoint, "SSL");
}
public void testSSLWithTLSProtocol() throws Exception {
-
Properties props = new Properties();
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_ENABLED_NAME, "true");
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_NAME, jks.getCanonicalPath());
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_PASSWORD_NAME, "password");
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_PROTOCOLS_NAME, "TLS");
- validateConnection(startInfraWithSSL(props, false));
-
+ String restEndpoint = startInfraWithSSL(props, false);
+ validateConnection(restEndpoint, "TLS");
}
public void testSSLWithTLSv11Protocol() throws Exception {
-
Properties props = new Properties();
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_ENABLED_NAME, "true");
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_NAME, jks.getCanonicalPath());
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_PASSWORD_NAME, "password");
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_PROTOCOLS_NAME, "TLSv1.1");
- validateConnection(startInfraWithSSL(props, false));
-
+ String restEndpoint = startInfraWithSSL(props, false);
+ validateConnection(restEndpoint, "TLSv1.1");
}
public void testSSLWithTLSv12Protocol() throws Exception {
-
Properties props = new Properties();
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_ENABLED_NAME, "true");
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_NAME, jks.getCanonicalPath());
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_PASSWORD_NAME, "password");
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_PROTOCOLS_NAME, "TLSv1.2");
- validateConnection(startInfraWithSSL(props, false));
-
+ String restEndpoint = startInfraWithSSL(props, false);
+ validateConnection(restEndpoint, "TLSv1.2");
}
public void testWithMultipleProtocol() throws Exception {
-
Properties props = new Properties();
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_ENABLED_NAME, "true");
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_NAME, jks.getCanonicalPath());
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_PASSWORD_NAME, "password");
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_PROTOCOLS_NAME, "SSL,TLSv1.2");
- validateConnection(startInfraWithSSL(props, false));
-
+ String restEndpoint = startInfraWithSSL(props, false);
+ validateConnection(restEndpoint, "TLSv1.2");
}
public void testSSLWithCipherSuite() throws Exception {
-
System.setProperty("javax.net.debug", "ssl");
Properties props = new Properties();
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_ENABLED_NAME, "true");
@@ -487,12 +486,11 @@ public class RestAPIsWithSSLDUnitTest extends LocatorTestBase {
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_CIPHERS_NAME, cipherSuites[0]);
- validateConnection(startInfraWithSSL(props, false));
-
+ String restEndpoint = startInfraWithSSL(props, false);
+ validateConnection(restEndpoint, "TLSv1.2");
}
public void testSSLWithMultipleCipherSuite() throws Exception {
-
Properties props = new Properties();
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_ENABLED_NAME, "true");
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_NAME, jks.getCanonicalPath());
@@ -506,12 +504,11 @@ public class RestAPIsWithSSLDUnitTest extends LocatorTestBase {
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_CIPHERS_NAME, cipherSuites[0] + "," + cipherSuites[1]);
- validateConnection(startInfraWithSSL(props, false));
-
+ String restEndpoint = startInfraWithSSL(props, false);
+ validateConnection(restEndpoint, "TLSv1.2");
}
public void testMutualAuthentication() throws Exception {
-
Properties props = new Properties();
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_ENABLED_NAME, "true");
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_NAME, jks.getCanonicalPath());
@@ -522,7 +519,9 @@ public class RestAPIsWithSSLDUnitTest extends LocatorTestBase {
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_TRUSTSTORE_NAME, jks.getCanonicalPath());
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_TRUSTSTORE_PASSWORD_NAME, "password");
- validateConnection(startInfraWithSSL(props, false));
+
+ String restEndpoint = startInfraWithSSL(props, false);
+ validateConnection(restEndpoint, "SSL");
}
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8c23fab4/geode-core/src/test/java/com/gemstone/gemfire/management/ManagementTestBase.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/management/ManagementTestBase.java b/geode-core/src/test/java/com/gemstone/gemfire/management/ManagementTestBase.java
index 6064297..d699727 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/management/ManagementTestBase.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/management/ManagementTestBase.java
@@ -16,42 +16,20 @@
*/
package com.gemstone.gemfire.management;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Properties;
-import java.util.Set;
-
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
-
import com.gemstone.gemfire.LogWriter;
-import com.gemstone.gemfire.cache.Cache;
-import com.gemstone.gemfire.cache.CacheFactory;
-import com.gemstone.gemfire.cache.Region;
-import com.gemstone.gemfire.cache.RegionFactory;
-import com.gemstone.gemfire.cache.RegionShortcut;
+import com.gemstone.gemfire.cache.*;
import com.gemstone.gemfire.distributed.DistributedMember;
import com.gemstone.gemfire.distributed.DistributedSystem;
import com.gemstone.gemfire.distributed.internal.DistributionConfig;
import com.gemstone.gemfire.distributed.internal.InternalDistributedSystem;
import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
import com.gemstone.gemfire.internal.statistics.SampleCollector;
-import com.gemstone.gemfire.management.internal.FederatingManager;
-import com.gemstone.gemfire.management.internal.LocalManager;
-import com.gemstone.gemfire.management.internal.MBeanJMXAdapter;
-import com.gemstone.gemfire.management.internal.ManagementStrings;
-import com.gemstone.gemfire.management.internal.SystemManagementService;
-import com.gemstone.gemfire.test.dunit.Assert;
-import com.gemstone.gemfire.test.dunit.AsyncInvocation;
-import com.gemstone.gemfire.test.dunit.DistributedTestCase;
-import com.gemstone.gemfire.test.dunit.Host;
-import com.gemstone.gemfire.test.dunit.Invoke;
-import com.gemstone.gemfire.test.dunit.SerializableCallable;
-import com.gemstone.gemfire.test.dunit.SerializableRunnable;
-import com.gemstone.gemfire.test.dunit.VM;
-import com.gemstone.gemfire.test.dunit.Wait;
-import com.gemstone.gemfire.test.dunit.WaitCriterion;
+import com.gemstone.gemfire.management.internal.*;
+import com.gemstone.gemfire.test.dunit.*;
+
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+import java.util.*;
public class ManagementTestBase extends DistributedTestCase {
@@ -63,10 +41,11 @@ public class ManagementTestBase extends DistributedTestCase {
private static final int MAX_WAIT = 70 * 1000;
private static final long serialVersionUID = 1L;
- /** log writer instance */
+ /**
+ * log writer instance
+ */
private static LogWriter logWriter;
-
private static Properties props = new Properties();
/**
@@ -95,10 +74,8 @@ public class ManagementTestBase extends DistributedTestCase {
protected static VM locatorVM;
private static SampleCollector sampleCollector;
-
- protected static MBeanServer mbeanServer = MBeanJMXAdapter.mbeanServer;
-
+ protected static MBeanServer mbeanServer = MBeanJMXAdapter.mbeanServer;
private static int mcastPort;
@@ -129,14 +106,14 @@ public class ManagementTestBase extends DistributedTestCase {
@Override
public final void preTearDown() throws Exception {
preTearDownManagementTestBase();
-
+
closeAllCache();
managementService = null;
mcastPort = 0;
disconnectAllFromDS();
props.clear();
-
+
postTearDownManagementTestBase();
}
@@ -146,7 +123,7 @@ public class ManagementTestBase extends DistributedTestCase {
protected void postTearDownManagementTestBase() throws Exception {
}
- public void closeAllCache() throws Exception{
+ public void closeAllCache() throws Exception {
closeCache(managingNode);
closeCache(managedNode1);
closeCache(managedNode2);
@@ -178,11 +155,9 @@ public class ManagementTestBase extends DistributedTestCase {
}
-
/**
* managingNodeFirst variable tests for two different test cases where
* Managing & Managed Node creation time lines are reversed.
- *
*/
public void initManagement(boolean managingNodeFirst) throws Exception {
@@ -205,7 +180,6 @@ public class ManagementTestBase extends DistributedTestCase {
}
}
-
@SuppressWarnings("serial")
public void createCache(VM vm1) throws Exception {
vm1.invoke(new SerializableRunnable("Create Cache") {
@@ -228,7 +202,7 @@ public class ManagementTestBase extends DistributedTestCase {
public Cache createCache(Properties props) {
System.setProperty("dunitLogPerTest", "true");
- props.setProperty(DistributionConfig.LOG_FILE_NAME,getTestMethodName()+"-.log");
+ props.setProperty(DistributionConfig.LOG_FILE_NAME, getTestMethodName() + "-.log");
ds = (new ManagementTestBase("temp")).getSystem(props);
cache = CacheFactory.create(ds);
managementService = ManagementService.getManagementService(cache);
@@ -238,7 +212,6 @@ public class ManagementTestBase extends DistributedTestCase {
return cache;
}
-
public Cache getCache() {
return cache;
}
@@ -253,7 +226,7 @@ public class ManagementTestBase extends DistributedTestCase {
}
props.setProperty(DistributionConfig.ENABLE_TIME_STATISTICS_NAME, "true");
props.setProperty(DistributionConfig.STATISTIC_SAMPLING_ENABLED_NAME, "true");
- props.setProperty(DistributionConfig.LOG_FILE_NAME,getTestMethodName()+"-.log");
+ props.setProperty(DistributionConfig.LOG_FILE_NAME, getTestMethodName() + "-.log");
ds = (new ManagementTestBase("temp")).getSystem(props);
cache = CacheFactory.create(ds);
managementService = ManagementService.getManagementService(cache);
@@ -263,7 +236,6 @@ public class ManagementTestBase extends DistributedTestCase {
return cache;
}
-
@SuppressWarnings("serial")
public void createManagementCache(VM vm1) throws Exception {
vm1.invoke(new SerializableRunnable("Create Management Cache") {
@@ -273,7 +245,6 @@ public class ManagementTestBase extends DistributedTestCase {
});
}
-
@SuppressWarnings("serial")
public void closeCache(VM vm1) throws Exception {
vm1.invoke(new SerializableRunnable("Close Cache") {
@@ -292,9 +263,21 @@ public class ManagementTestBase extends DistributedTestCase {
}
+ public void closeCache() throws Exception {
+ GemFireCacheImpl existingInstance = GemFireCacheImpl.getInstance();
+ if (existingInstance != null) {
+ existingInstance.close();
+ }
+ InternalDistributedSystem ds = InternalDistributedSystem
+ .getConnectedInstance();
+ if (ds != null) {
+ ds.disconnect();
+ }
+ }
+
public String getMemberId(final VM vm) {
SerializableCallable getMember = new SerializableCallable("getMemberId") {
- public Object call() throws Exception{
+ public Object call() throws Exception {
GemFireCacheImpl cache = GemFireCacheImpl.getInstance();
return cache.getDistributedSystem().getDistributedMember().getId();
}
@@ -312,7 +295,7 @@ public class ManagementTestBase extends DistributedTestCase {
}
public boolean done() {
- SystemManagementService service = (SystemManagementService)managementService;
+ SystemManagementService service = (SystemManagementService) managementService;
if (service.getMBeanProxy(objectName, interfaceClass) != null) {
return true;
} else {
@@ -323,8 +306,8 @@ public class ManagementTestBase extends DistributedTestCase {
}, MAX_WAIT, 500, true);
}
- protected void runManagementTaskAdhoc(){
- SystemManagementService service = (SystemManagementService)managementService;
+ protected void runManagementTaskAdhoc() {
+ SystemManagementService service = (SystemManagementService) managementService;
service.getLocalManager().runManagementTaskAdhoc();
}
@@ -398,7 +381,6 @@ public class ManagementTestBase extends DistributedTestCase {
}
/**
- *
* Check various resources clean up Once a VM stops being managable it should
* remove all the artifacts of management namely a) Notification region b)
* Monitoring Region c) Management task should stop
@@ -434,7 +416,6 @@ public class ManagementTestBase extends DistributedTestCase {
}
/**
- *
* Check various resources clean up Once a VM stops being Managing.It should
* remove all the artifacts of management namely a) proxies b) Monitoring
* Region c) Management task should stop
@@ -471,7 +452,6 @@ public class ManagementTestBase extends DistributedTestCase {
member));
}
-
} catch (ManagementException e) {
Assert.fail("failed with ManagementException", e);
}
@@ -491,34 +471,33 @@ public class ManagementTestBase extends DistributedTestCase {
if (e.getMessage()
.equals(ManagementStrings.Management_Service_CLOSED_CACHE)
|| e.getMessage().equals(
- ManagementStrings.Management_Service_MANAGEMENT_SERVICE_IS_CLOSED
- .toLocalizedString())
+ ManagementStrings.Management_Service_MANAGEMENT_SERVICE_IS_CLOSED
+ .toLocalizedString())
|| e
- .getMessage()
- .equals(
- ManagementStrings.Management_Service_MANAGEMENT_SERVICE_NOT_STARTED_YET
- .toLocalizedString())
- || e.getMessage().equals(
- ManagementStrings.Management_Service_NOT_A_GEMFIRE_DOMAIN_MBEAN
+ .getMessage()
+ .equals(
+ ManagementStrings.Management_Service_MANAGEMENT_SERVICE_NOT_STARTED_YET
.toLocalizedString())
|| e.getMessage().equals(
- ManagementStrings.Management_Service_NOT_A_MANAGING_NODE_YET
- .toLocalizedString())
+ ManagementStrings.Management_Service_NOT_A_GEMFIRE_DOMAIN_MBEAN
+ .toLocalizedString())
+ || e.getMessage().equals(
+ ManagementStrings.Management_Service_NOT_A_MANAGING_NODE_YET
+ .toLocalizedString())
|| e
- .getMessage()
- .equals(
- ManagementStrings.Management_Service_OPERATION_NOT_ALLOWED_FOR_CLIENT_CACHE
- .toLocalizedString())
+ .getMessage()
+ .equals(
+ ManagementStrings.Management_Service_OPERATION_NOT_ALLOWED_FOR_CLIENT_CACHE
+ .toLocalizedString())
|| e.getMessage().equals(
- ManagementStrings.Management_Service_PROXY_NOT_AVAILABLE
- .toLocalizedString())) {
+ ManagementStrings.Management_Service_PROXY_NOT_AVAILABLE
+ .toLocalizedString())) {
return false;
}
return true;
}
-
public static List<VM> getManagedNodeList() {
return managedNodeList;
}
@@ -534,10 +513,8 @@ public class ManagementTestBase extends DistributedTestCase {
/**
* Creates a Distributed region
*
- * @param vm
- * reference to VM
- * @param regionName
- * name of the distributed region
+ * @param vm reference to VM
+ * @param regionName name of the distributed region
*/
protected void createDistributedRegion(VM vm, final String regionName)
throws Exception {
@@ -554,10 +531,8 @@ public class ManagementTestBase extends DistributedTestCase {
/**
* Creates a Local region
*
- * @param vm
- * reference to VM
- * @param localRegionName
- * name of the local region
+ * @param vm reference to VM
+ * @param localRegionName name of the local region
*/
protected void createLocalRegion(VM vm, final String localRegionName)
throws Exception {
@@ -580,8 +555,7 @@ public class ManagementTestBase extends DistributedTestCase {
/**
* Creates a Sub region
*
- * @param vm
- * reference to VM
+ * @param vm reference to VM
*/
protected void createSubRegion(VM vm, final String parentRegionPath, final String subregionName)
throws Exception {
@@ -691,7 +665,6 @@ public class ManagementTestBase extends DistributedTestCase {
assertNotNull(service.getDistributedSystemMXBean());
-
Wait.waitForCriterion(new WaitCriterion() {
public String description() {
return "Waiting All members to intimate DistributedSystemMBean";
[08/10] incubator-geode git commit: GEODE-1367: Added Awaitility to
wait for threads to shut down.
Posted by ud...@apache.org.
GEODE-1367: Added Awaitility to wait for threads to shut down.
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/61227233
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/61227233
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/61227233
Branch: refs/heads/develop
Commit: 61227233dc7d07174331f8fb1c6b7488a1e91f9c
Parents: 6534611
Author: Udo Kohlmeyer <uk...@pivotal.io>
Authored: Wed May 18 07:52:59 2016 +1000
Committer: Udo Kohlmeyer <uk...@pivotal.io>
Committed: Tue May 24 03:37:40 2016 +1000
----------------------------------------------------------------------
.../LocatorLauncherAssemblyIntegrationTest.java | 21 ++++++++++----------
1 file changed, 11 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/61227233/geode-assembly/src/test/java/com/gemstone/gemfire/distributed/LocatorLauncherAssemblyIntegrationTest.java
----------------------------------------------------------------------
diff --git a/geode-assembly/src/test/java/com/gemstone/gemfire/distributed/LocatorLauncherAssemblyIntegrationTest.java b/geode-assembly/src/test/java/com/gemstone/gemfire/distributed/LocatorLauncherAssemblyIntegrationTest.java
index 84d4aba..81f345d 100644
--- a/geode-assembly/src/test/java/com/gemstone/gemfire/distributed/LocatorLauncherAssemblyIntegrationTest.java
+++ b/geode-assembly/src/test/java/com/gemstone/gemfire/distributed/LocatorLauncherAssemblyIntegrationTest.java
@@ -27,7 +27,6 @@ import com.gemstone.gemfire.internal.process.ProcessUtils;
import com.gemstone.gemfire.management.ManagementService;
import com.gemstone.gemfire.management.ManagerMXBean;
import com.gemstone.gemfire.test.junit.categories.IntegrationTest;
-import com.gemstone.gemfire.test.junit.runners.CategoryWithParameterizedRunnerFactory;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -143,17 +142,19 @@ public class LocatorLauncherAssemblyIntegrationTest extends AbstractLocatorLaunc
this.errorCollector.addError(e);
}
- int finalThreadCount = Integer.MAX_VALUE;
+ Awaitility.await().pollInterval(100, TimeUnit.MILLISECONDS).pollDelay(100, TimeUnit.MILLISECONDS)
+ .timeout(60, TimeUnit.SECONDS).until(() -> initialThreadCount == Thread.activeCount());
// Spin for up to 5 seconds waiting for threads to finish
- for (int i = 0; i < 50 && finalThreadCount > initialThreadCount; i++) {
- try {
- Thread.sleep(100);
- } catch (InterruptedException ex) {
- // ignored
- }
- finalThreadCount = Thread.activeCount();
- }
+ // for (int i = 0; i < 50 && finalThreadCount > initialThreadCount; i++) {
+ // try {
+ // Thread.sleep(100);
+ // } catch (InterruptedException ex) {
+ // ignored
+ // }
+ // finalThreadCount = Thread.activeCount();
+ // }
+ int finalThreadCount = Thread.activeCount();
assertEquals(initialThreadCount, finalThreadCount);
}
[04/10] incubator-geode git commit: GEODE-1367: Add
geode-dependencies.jar to the testRuntime for geode-assembly
Posted by ud...@apache.org.
GEODE-1367: Add geode-dependencies.jar to the testRuntime for geode-assembly
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/6534611c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/6534611c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/6534611c
Branch: refs/heads/develop
Commit: 6534611c22b9d2d4744bba284f44fe568f928fc8
Parents: 19d430d
Author: Udo Kohlmeyer <uk...@pivotal.io>
Authored: Wed May 18 06:40:32 2016 +1000
Committer: Udo Kohlmeyer <uk...@pivotal.io>
Committed: Tue May 24 03:37:40 2016 +1000
----------------------------------------------------------------------
geode-assembly/build.gradle | 2 ++
1 file changed, 2 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6534611c/geode-assembly/build.gradle
----------------------------------------------------------------------
diff --git a/geode-assembly/build.gradle b/geode-assembly/build.gradle
index f6167c5..b4f4f32 100755
--- a/geode-assembly/build.gradle
+++ b/geode-assembly/build.gradle
@@ -73,6 +73,8 @@ dependencies {
testCompile 'org.apache.httpcomponents:httpcore:' + project.'httpcore.version'
testRuntime files("${System.getProperty('java.home')}/../lib/tools.jar")
+ testRuntime files("$buildDir/install/apache-geode/lib/geode-dependencies.jar")
+
gfshDependencies ('org.springframework:spring-web:' + project.'springframework.version'){
exclude module: 'spring-core'
[05/10] incubator-geode git commit: GEODE-1367: Replaced server-port
with "0". Cleaned up some code with cleaner Lambda invocations. Replaced
waitOnCriterion with Awaitility
Posted by ud...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8bc3481c/geode-core/src/test/java/com/gemstone/gemfire/cache/client/internal/LocatorLoadBalancingDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/cache/client/internal/LocatorLoadBalancingDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/cache/client/internal/LocatorLoadBalancingDUnitTest.java
index 9ef87d2..ea105d3 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/cache/client/internal/LocatorLoadBalancingDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/cache/client/internal/LocatorLoadBalancingDUnitTest.java
@@ -16,17 +16,6 @@
*/
package com.gemstone.gemfire.cache.client.internal;
-import java.io.IOException;
-import java.io.Serializable;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.junit.Assert;
-
import com.gemstone.gemfire.cache.Cache;
import com.gemstone.gemfire.cache.client.PoolManager;
import com.gemstone.gemfire.cache.client.internal.locator.ClientConnectionRequest;
@@ -50,24 +39,31 @@ import com.gemstone.gemfire.internal.logging.LocalLogWriter;
import com.gemstone.gemfire.test.dunit.Host;
import com.gemstone.gemfire.test.dunit.LogWriterUtils;
import com.gemstone.gemfire.test.dunit.NetworkUtils;
-import com.gemstone.gemfire.test.dunit.SerializableRunnable;
-import com.gemstone.gemfire.test.dunit.SerializableRunnableIF;
import com.gemstone.gemfire.test.dunit.VM;
-import com.gemstone.gemfire.test.dunit.Wait;
-import com.gemstone.gemfire.test.dunit.WaitCriterion;
+import com.jayway.awaitility.Awaitility;
+import org.junit.Assert;
+
+import java.io.IOException;
+import java.io.Serializable;
+import java.net.InetAddress;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
/**
*
*/
public class LocatorLoadBalancingDUnitTest extends LocatorTestBase {
-
+
/**
* The number of connections that we can be off by in the balancing tests
* We need this little fudge factor, because the locator can receive an update
* from the bridge server after it has made incremented its counter for a client
* connection, but the client hasn't connected yet. This wipes out the estimation
* on the locator. This means that we may be slighly off in our balance.
- *
+ * <p>
* TODO grid fix this hole in the locator.
*/
private static final int ALLOWABLE_ERROR_IN_COUNT = 1;
@@ -78,7 +74,7 @@ public class LocatorLoadBalancingDUnitTest extends LocatorTestBase {
}
/**
- * Test the locator discovers a bridge server and is initialized with
+ * Test the locator discovers a bridge server and is initialized with
* the correct load for that bridge server.
*/
public void testDiscovery() {
@@ -86,141 +82,142 @@ public class LocatorLoadBalancingDUnitTest extends LocatorTestBase {
VM vm0 = host.getVM(0);
VM vm1 = host.getVM(1);
VM vm2 = host.getVM(2);
-// vm0.invoke(new SerializableRunnable() {
-// public void run() {
-// System.setProperty("gemfire.DistributionAdvisor.VERBOSE", "true");
-// }
-// });
-
+
int locatorPort = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
- startLocatorInVM(vm0, locatorPort, "");
-
+ String hostName = NetworkUtils.getServerHostName(vm0.getHost());
+ vm0.invoke("Start Locator", () -> startLocator(hostName, locatorPort, ""));
+
String locators = getLocatorString(host, locatorPort);
-
- int serverPort = startBridgeServerInVM(vm1, new String[] {"a", "b"}, locators);
-
+
+ int serverPort = vm1.invoke("Start BridgeServer", () -> startBridgeServer(new String[] { "a", "b" }, locators));
+
ServerLoad expectedLoad = new ServerLoad(0f, 1 / 800.0f, 0f, 1f);
ServerLocation expectedLocation = new ServerLocation(NetworkUtils.getServerHostName(vm0
.getHost()), serverPort);
Map expected = new HashMap();
expected.put(expectedLocation, expectedLoad);
-
- checkLocatorLoad(vm0, expected);
-
- int serverPort2 = startBridgeServerInVM(vm2, new String[] {"a", "b"}, locators);
-
+
+ vm0.invoke("check Locator Load", () -> checkLocatorLoad(expected));
+
+ int serverPort2 = vm2.invoke("Start BridgeServer", () -> startBridgeServer(new String[] { "a", "b" }, locators));
+
ServerLocation expectedLocation2 = new ServerLocation(NetworkUtils.getServerHostName(vm0
.getHost()), serverPort2);
-
+
expected.put(expectedLocation2, expectedLoad);
- checkLocatorLoad(vm0, expected);
+ vm0.invoke("check Locator Load", () -> checkLocatorLoad(expected));
}
-
+
/**
* Test that the locator will properly estimate the load for servers when
- * it receives connection requests.
+ * it receives connection requests.
*/
- public void testEstimation() throws UnknownHostException, IOException, ClassNotFoundException {
+ public void testEstimation() throws IOException, ClassNotFoundException {
Host host = Host.getHost(0);
VM vm0 = host.getVM(0);
VM vm1 = host.getVM(1);
-
+
int locatorPort = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
- startLocatorInVM(vm0, locatorPort, "");
+ String hostName = NetworkUtils.getServerHostName(vm0.getHost());
+ vm0.invoke("Start Locator", () -> startLocator(hostName, locatorPort, ""));
String locators = getLocatorString(host, locatorPort);
-
- int serverPort = startBridgeServerInVM(vm1, new String[] {"a", "b"}, locators);
-
- ServerLoad expectedLoad = new ServerLoad(2/800f, 1 / 800.0f, 0f, 1f);
+
+ int serverPort = vm1.invoke("Start BridgeServer", () -> startBridgeServer(new String[] { "a", "b" }, locators));
+
+ ServerLoad expectedLoad = new ServerLoad(2 / 800f, 1 / 800.0f, 0f, 1f);
ServerLocation expectedLocation = new ServerLocation(NetworkUtils.getServerHostName(host), serverPort);
Map expected = new HashMap();
expected.put(expectedLocation, expectedLoad);
-
+
ClientConnectionResponse response;
response = (ClientConnectionResponse) TcpClient.requestToServer(InetAddress
- .getByName(NetworkUtils.getServerHostName(host)), locatorPort,
+ .getByName(NetworkUtils.getServerHostName(host)), locatorPort,
new ClientConnectionRequest(Collections.EMPTY_SET, null), 10000);
Assert.assertEquals(expectedLocation, response.getServer());
-
+
response = (ClientConnectionResponse) TcpClient.requestToServer(InetAddress
- .getByName(NetworkUtils.getServerHostName(host)), locatorPort,
+ .getByName(NetworkUtils.getServerHostName(host)), locatorPort,
new ClientConnectionRequest(Collections.EMPTY_SET, null), 10000, true);
Assert.assertEquals(expectedLocation, response.getServer());
-
+
//we expect that the connection load load will be 2 * the loadPerConnection
- checkLocatorLoad(vm0, expected);
-
+ vm0.invoke("check Locator Load", () -> checkLocatorLoad(expected));
+
QueueConnectionResponse response2;
response2 = (QueueConnectionResponse) TcpClient.requestToServer(InetAddress
- .getByName(NetworkUtils.getServerHostName(host)), locatorPort,
+ .getByName(NetworkUtils.getServerHostName(host)), locatorPort,
new QueueConnectionRequest(null, 2,
Collections.EMPTY_SET, null, false), 10000, true);
Assert.assertEquals(Collections.singletonList(expectedLocation), response2.getServers());
-
+
response2 = (QueueConnectionResponse) TcpClient
.requestToServer(InetAddress.getByName(NetworkUtils.getServerHostName(host)),
locatorPort, new QueueConnectionRequest(null, 5, Collections.EMPTY_SET, null,
false), 10000, true);
-
+
Assert.assertEquals(Collections.singletonList(expectedLocation), response2.getServers());
//we expect that the queue load will increase by 2
expectedLoad.setSubscriptionConnectionLoad(2f);
- checkLocatorLoad(vm0, expected);
+ vm0.invoke("check Locator Load", () -> checkLocatorLoad(expected));
}
-
+
/**
* Test to make sure the bridge servers communicate
* their updated load to the controller when the load
* on the bridge server changes.
- * @throws Exception
+ *
+ * @throws Exception
*/
public void testLoadMessaging() throws Exception {
final Host host = Host.getHost(0);
VM vm0 = host.getVM(0);
VM vm1 = host.getVM(1);
VM vm2 = host.getVM(2);
-
+
int locatorPort = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
- startLocatorInVM(vm0, locatorPort, "");
+ String hostName = NetworkUtils.getServerHostName(vm0.getHost());
+ vm0.invoke("Start Locator", () -> startLocator(hostName, locatorPort, ""));
String locators = getLocatorString(host, locatorPort);
-
- final int serverPort = startBridgeServerInVM(vm1, new String[] {"a", "b"}, locators);
-
+
+ final int serverPort = vm1.invoke("Start BridgeServer", () -> startBridgeServer(new String[] { "a", "b" }, locators));
+
//We expect 0 load
Map expected = new HashMap();
ServerLocation expectedLocation = new ServerLocation(NetworkUtils.getServerHostName(host), serverPort);
ServerLoad expectedLoad = new ServerLoad(0f, 1 / 800.0f, 0f, 1f);
expected.put(expectedLocation, expectedLoad);
- checkLocatorLoad(vm0, expected);
-
- PoolFactoryImpl pf = new PoolFactoryImpl(null);
- pf.addServer(NetworkUtils.getServerHostName(host), serverPort);
- pf.setMinConnections(8);
- pf.setMaxConnections(8);
- pf.setSubscriptionEnabled(true);
- startBridgeClientInVM(vm2, pf.getPoolAttributes(), new String[] {REGION_NAME});
-
+ vm0.invoke("check Locator Load", () -> checkLocatorLoad(expected));
+ vm2.invoke("StartBridgeClient", () -> {
+ PoolFactoryImpl pf = new PoolFactoryImpl(null);
+ pf.addServer(NetworkUtils.getServerHostName(host), serverPort);
+ pf.setMinConnections(8);
+ pf.setMaxConnections(8);
+ pf.setSubscriptionEnabled(true);
+ startBridgeClient(pf.getPoolAttributes(), new String[] { REGION_NAME });
+ return null;
+ });
+
//We expect 8 client to server connections. The queue requires
//an additional client to server connection, but that shouldn't show up here.
- expectedLoad = new ServerLoad(8/800f, 1 / 800.0f, 1f, 1f);
+ expectedLoad = new ServerLoad(8 / 800f, 1 / 800.0f, 1f, 1f);
expected.put(expectedLocation, expectedLoad);
-
-
- checkLocatorLoad(vm0, expected);
-
+
+ vm0.invoke("check Locator Load", () -> checkLocatorLoad(expected));
+
stopBridgeMemberVM(vm2);
-
+
//Now we expect 0 load
expectedLoad = new ServerLoad(0f, 1 / 800.0f, 0f, 1f);
expected.put(expectedLocation, expectedLoad);
- checkLocatorLoad(vm0, expected);
+ vm0.invoke("check Locator Load", () -> checkLocatorLoad(expected));
}
-
+
/**
* Test to make sure that the locator
* balancing load between two servers.
- * @throws Exception
+ *
+ * @throws Exception
*/
public void testBalancing() throws Exception {
final Host host = Host.getHost(0);
@@ -228,87 +225,64 @@ public class LocatorLoadBalancingDUnitTest extends LocatorTestBase {
VM vm1 = host.getVM(1);
VM vm2 = host.getVM(2);
VM vm3 = host.getVM(3);
-
+
int locatorPort = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
- startLocatorInVM(vm0, locatorPort, "");
+ String hostName = NetworkUtils.getServerHostName(vm0.getHost());
+ vm0.invoke("Start Locator", () -> startLocator(hostName, locatorPort, ""));
String locators = getLocatorString(host, locatorPort);
-
- startBridgeServerInVM(vm1, new String[] {"a", "b"}, locators);
- startBridgeServerInVM(vm2, new String[] {"a", "b"}, locators);
-
- PoolFactoryImpl pf = new PoolFactoryImpl(null);
- pf.addLocator(NetworkUtils.getServerHostName(host), locatorPort);
- pf.setMinConnections(80);
- pf.setMaxConnections(80);
- pf.setSubscriptionEnabled(false);
- pf.setIdleTimeout(-1);
- startBridgeClientInVM(vm3, pf.getPoolAttributes(), new String[] {REGION_NAME});
-
- waitForPrefilledConnections(vm3, 80);
-
- checkConnectionCount(vm1, 40);
- checkConnectionCount(vm2, 40);
+
+ vm1.invoke("Start BridgeServer", () -> startBridgeServer(new String[] { "a", "b" }, locators));
+ vm2.invoke("Start BridgeServer", () -> startBridgeServer(new String[] { "a", "b" }, locators));
+
+ vm3.invoke("StartBridgeClient", () -> {
+ PoolFactoryImpl pf = new PoolFactoryImpl(null);
+ pf.addLocator(NetworkUtils.getServerHostName(host), locatorPort);
+ pf.setMinConnections(80);
+ pf.setMaxConnections(80);
+ pf.setSubscriptionEnabled(false);
+ pf.setIdleTimeout(-1);
+ startBridgeClient(pf.getPoolAttributes(), new String[] { REGION_NAME });
+ return null;
+ });
+
+ vm3.invoke("waitForPrefilledConnections", () -> waitForPrefilledConnections(80));
+
+ vm1.invoke("check connection count", () -> checkConnectionCount(40));
+ vm2.invoke("check connection count", () -> checkConnectionCount(40));
}
- private void checkConnectionCount(VM vm, final int count) {
- SerializableRunnableIF checkConnectionCount = new SerializableRunnable("checkConnectionCount") {
- public void run() {
- Cache cache = (Cache) remoteObjects.get(CACHE_KEY);
- final CacheServerImpl server = (CacheServerImpl)
- cache.getCacheServers().get(0);
- WaitCriterion wc = new WaitCriterion() {
- String excuse;
- public boolean done() {
- int sz = server.getAcceptor().getStats()
- .getCurrentClientConnections();
- if (Math.abs(sz - count) <= ALLOWABLE_ERROR_IN_COUNT) {
- return true;
- }
- excuse = "Found " + sz + " connections, expected " + count;
- return false;
- }
- public String description() {
- return excuse;
- }
- };
- Wait.waitForCriterion(wc, 5 * 60 * 1000, 1000, true);
+ private void checkConnectionCount(final int count) {
+ Cache cache = (Cache) remoteObjects.get(CACHE_KEY);
+ final CacheServerImpl server = (CacheServerImpl)
+ cache.getCacheServers().get(0);
+ Awaitility.await().pollDelay(100, TimeUnit.MILLISECONDS).pollInterval(100, TimeUnit.MILLISECONDS)
+ .timeout(300, TimeUnit.SECONDS).until(() -> {
+ int sz = server.getAcceptor().getStats().getCurrentClientConnections();
+ if (Math.abs(sz - count) <= ALLOWABLE_ERROR_IN_COUNT) {
+ return true;
}
- };
-
- vm.invoke(checkConnectionCount);
+ System.out.println("Found " + sz + " connections, expected " + count);
+ return false;
+ });
}
-
- private void waitForPrefilledConnections(VM vm, final int count) throws Exception {
- waitForPrefilledConnections(vm, count, POOL_NAME);
+
+ private void waitForPrefilledConnections(final int count) throws Exception {
+ waitForPrefilledConnections(count, POOL_NAME);
}
- private void waitForPrefilledConnections(VM vm, final int count, final String poolName) throws Exception {
- SerializableRunnable runnable = new SerializableRunnable("waitForPrefilledConnections") {
- public void run() {
- final PoolImpl pool = (PoolImpl) PoolManager.getAll().get(poolName);
- WaitCriterion ev = new WaitCriterion() {
- public boolean done() {
- return pool.getConnectionCount() >= count;
- }
- public String description() {
- return "connection count never reached " + count;
- }
- };
- Wait.waitForCriterion(ev, MAX_WAIT, 200, true);
- }
- };
- if(vm == null) {
- runnable.run();
- } else {
- vm.invoke(runnable);
- }
+ private void waitForPrefilledConnections(final int count, final String poolName) throws Exception {
+ final PoolImpl pool = (PoolImpl) PoolManager.getAll().get(poolName);
+ Awaitility.await().pollDelay(100, TimeUnit.MILLISECONDS).pollInterval(100, TimeUnit.MILLISECONDS)
+ .timeout(300, TimeUnit.SECONDS).until(() -> pool.getConnectionCount() >= count);
}
-
- /** Test that the locator balances load between
+
+ /**
+ * Test that the locator balances load between
* three servers with intersecting server groups.
* Server: 1 2 3
* Groups: a a,b b
- * @throws Exception
+ *
+ * @throws Exception
*/
public void testIntersectingServerGroups() throws Exception {
final Host host = Host.getHost(0);
@@ -316,175 +290,160 @@ public class LocatorLoadBalancingDUnitTest extends LocatorTestBase {
VM vm1 = host.getVM(1);
VM vm2 = host.getVM(2);
VM vm3 = host.getVM(3);
-
+
int locatorPort = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
- startLocatorInVM(vm0, locatorPort, "");
+ String hostName = NetworkUtils.getServerHostName(vm0.getHost());
+ vm0.invoke("Start Locator", () -> startLocator(hostName, locatorPort, ""));
String locators = getLocatorString(host, locatorPort);
-
- int serverPort1 = startBridgeServerInVM(vm1, new String[] {"a"}, locators);
- startBridgeServerInVM(vm2, new String[] {"a", "b"}, locators);
- startBridgeServerInVM(vm3, new String[] {"b"}, locators);
-
+
+ int serverPort1 = vm1.invoke("Start BridgeServer", () -> startBridgeServer(new String[] { "a" }, locators));
+ vm2.invoke("Start BridgeServer", () -> startBridgeServer(new String[] { "a", "b" }, locators));
+ vm3.invoke("Start BridgeServer", () -> startBridgeServer(new String[] { "b" }, locators));
+
PoolFactoryImpl pf = new PoolFactoryImpl(null);
pf.addLocator(NetworkUtils.getServerHostName(host), locatorPort);
pf.setMinConnections(12);
pf.setSubscriptionEnabled(false);
pf.setServerGroup("a");
pf.setIdleTimeout(-1);
- startBridgeClientInVM(null, pf.getPoolAttributes(), new String[] {REGION_NAME});
- waitForPrefilledConnections(null, 12);
-
- checkConnectionCount(vm1, 6);
- checkConnectionCount(vm2, 6);
- checkConnectionCount(vm3, 0);
-
+ startBridgeClient(pf.getPoolAttributes(), new String[] { REGION_NAME });
+ waitForPrefilledConnections(12);
+
+ vm1.invoke("Check Connection Count", () -> checkConnectionCount(6));
+ vm2.invoke("Check Connection Count", () -> checkConnectionCount(6));
+ vm3.invoke("Check Connection Count", () -> checkConnectionCount(0));
+
LogWriterUtils.getLogWriter().info("pool1 prefilled");
-
+
PoolFactoryImpl pf2 = (PoolFactoryImpl) PoolManager.createFactory();
pf2.init(pf.getPoolAttributes());
pf2.setServerGroup("b");
- PoolImpl pool2= (PoolImpl) pf2.create("testPool2");
- waitForPrefilledConnections(null, 12, "testPool2");
+ PoolImpl pool2 = (PoolImpl) pf2.create("testPool2");
+ waitForPrefilledConnections(12, "testPool2");
// The load will not be perfect, because we created all of the connections
//for group A first.
- checkConnectionCount(vm1, 6);
- checkConnectionCount(vm2, 9);
- checkConnectionCount(vm3, 9);
-
+ vm1.invoke("Check Connection Count", () -> checkConnectionCount(6));
+ vm2.invoke("Check Connection Count", () -> checkConnectionCount(9));
+ vm3.invoke("Check Connection Count", () -> checkConnectionCount(9));
+
LogWriterUtils.getLogWriter().info("pool2 prefilled");
-
+
ServerLocation location1 = new ServerLocation(NetworkUtils.getServerHostName(host), serverPort1);
PoolImpl pool1 = (PoolImpl) PoolManager.getAll().get(POOL_NAME);
Assert.assertEquals("a", pool1.getServerGroup());
-
+
//Use up all of the pooled connections on pool1, and acquire 3 more
- for(int i = 0; i < 15; i++) {
+ for (int i = 0; i < 15; i++) {
pool1.acquireConnection();
}
-
+
LogWriterUtils.getLogWriter().info("aquired 15 connections in pool1");
-
+
//now the load should be equal
- checkConnectionCount(vm1, 9);
- checkConnectionCount(vm2, 9);
- checkConnectionCount(vm3, 9);
-
+ vm1.invoke("Check Connection Count", () -> checkConnectionCount(9));
+ vm2.invoke("Check Connection Count", () -> checkConnectionCount(9));
+ vm3.invoke("Check Connection Count", () -> checkConnectionCount(9));
+
//use up all of the pooled connections on pool2
- for(int i = 0; i < 12; i++) {
+ for (int i = 0; i < 12; i++) {
pool2.acquireConnection();
}
-
+
LogWriterUtils.getLogWriter().info("aquired 12 connections in pool2");
-
+
//interleave creating connections in both pools
- for(int i = 0; i < 6; i++) {
+ for (int i = 0; i < 6; i++) {
pool1.acquireConnection();
pool2.acquireConnection();
}
-
+
LogWriterUtils.getLogWriter().info("interleaved 6 connections from pool1 with 6 connections from pool2");
-
+
//The load should still be balanced
- checkConnectionCount(vm1, 13);
- checkConnectionCount(vm2, 13);
- checkConnectionCount(vm3, 13);
-
+ vm1.invoke("Check Connection Count", () -> checkConnectionCount(13));
+ vm2.invoke("Check Connection Count", () -> checkConnectionCount(13));
+ vm3.invoke("Check Connection Count", () -> checkConnectionCount(13));
+
}
-
+
public void testCustomLoadProbe() throws Exception {
final Host host = Host.getHost(0);
VM vm0 = host.getVM(0);
VM vm1 = host.getVM(1);
VM vm2 = host.getVM(2);
-// VM vm3 = host.getVM(3);
-
+ // VM vm3 = host.getVM(3);
+
int locatorPort = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
- startLocatorInVM(vm0, locatorPort, "");
+ String hostName = NetworkUtils.getServerHostName(vm0.getHost());
+ vm0.invoke("Start Locator", () -> startLocator(hostName, locatorPort, ""));
String locators = getLocatorString(host, locatorPort);
-
- ServerLoad load1= new ServerLoad(.3f, .01f, .44f, 4564f);
- ServerLoad load2= new ServerLoad(23.2f, 1.1f, 22.3f, .3f);
- int serverPort1 = startBridgeServerInVM(vm1, null, locators, new String[] {REGION_NAME}, new MyLoadProbe(load1 ));
- int serverPort2 = startBridgeServerInVM(vm2, null, locators, new String[] {REGION_NAME}, new MyLoadProbe(load2 ));
-
+
+ final ServerLoad load1 = new ServerLoad(.3f, .01f, .44f, 4564f);
+ final ServerLoad load2 = new ServerLoad(23.2f, 1.1f, 22.3f, .3f);
+ int serverPort1 = vm1.invoke("Start BridgeServer", () -> startBridgeServer(null, locators, new String[] { REGION_NAME }, new MyLoadProbe(load1)));
+ int serverPort2 = vm2.invoke("Start BridgeServer", () -> startBridgeServer(null, locators, new String[] { REGION_NAME }, new MyLoadProbe(load2)));
+
HashMap expected = new HashMap();
ServerLocation l1 = new ServerLocation(NetworkUtils.getServerHostName(host), serverPort1);
ServerLocation l2 = new ServerLocation(NetworkUtils.getServerHostName(host), serverPort2);
expected.put(l1, load1);
expected.put(l2, load2);
- checkLocatorLoad(vm0, expected);
-
+ vm0.invoke("check Locator Load", () -> checkLocatorLoad(expected));
+
load1.setConnectionLoad(25f);
- changeLoad(vm1, load1);
+ vm1.invoke("changeLoad", () -> changeLoad(load1));
load2.setSubscriptionConnectionLoad(3.5f);
- changeLoad(vm2, load2);
- checkLocatorLoad(vm0, expected);
-
- load1 = new ServerLoad(1f, .1f, 0f, 1f);
- load2 = new ServerLoad(2f, 5f, 0f, 2f);
- expected.put(l1, load1);
- expected.put(l2, load2);
- changeLoad(vm1, load1);
- changeLoad(vm2, load2);
- checkLocatorLoad(vm0, expected);
-
+ vm2.invoke("changeLoad", () -> changeLoad(load2));
+ vm0.invoke("check Locator Load", () -> checkLocatorLoad(expected));
+
+ final ServerLoad load1Updated = new ServerLoad(1f, .1f, 0f, 1f);
+ final ServerLoad load2Updated = new ServerLoad(2f, 5f, 0f, 2f);
+ expected.put(l1, load1Updated);
+ expected.put(l2, load2Updated);
+ vm1.invoke("changeLoad", () -> changeLoad(load1Updated));
+ vm2.invoke("changeLoad", () -> changeLoad(load2Updated));
+ vm0.invoke("check Locator Load", () -> checkLocatorLoad(expected));
+
PoolFactoryImpl pf = new PoolFactoryImpl(null);
pf.addLocator(NetworkUtils.getServerHostName(host), locatorPort);
pf.setMinConnections(20);
pf.setSubscriptionEnabled(true);
pf.setIdleTimeout(-1);
- startBridgeClientInVM(null, pf.getPoolAttributes(), new String[] {REGION_NAME});
- waitForPrefilledConnections(null, 20);
-
+ startBridgeClient(pf.getPoolAttributes(), new String[] { REGION_NAME });
+ waitForPrefilledConnections(20);
+
//The first 10 connection should to go vm1, then 1 to vm2, then another 9 to vm1
//because have unequal values for loadPerConnection
- checkConnectionCount(vm1, 19);
- checkConnectionCount(vm2, 1);
+ vm1.invoke("Check Connection Count", () -> checkConnectionCount(19));
+ vm2.invoke("Check Connection Count", () -> checkConnectionCount(1));
}
-
- public void checkLocatorLoad(VM vm, final Map expected) {
- vm.invoke(new SerializableRunnable() {
- public void run() {
- List locators = Locator.getLocators();
- Assert.assertEquals(1, locators.size());
- InternalLocator locator = (InternalLocator) locators.get(0);
- final ServerLocator sl = locator.getServerLocatorAdvisee();
- InternalLogWriter log = new LocalLogWriter(InternalLogWriter.FINEST_LEVEL, System.out);
- sl.getDistributionAdvisor().dumpProfiles("PROFILES= ");
- WaitCriterion ev = new WaitCriterion() {
- public boolean done() {
- return expected.equals(sl.getLoadMap());
- }
- public String description() {
- return "load map never became equal to " + expected;
- }
- };
- Wait.waitForCriterion(ev, MAX_WAIT, 200, true);
- }
- });
+
+ public void checkLocatorLoad(final Map expected) {
+ List locators = Locator.getLocators();
+ Assert.assertEquals(1, locators.size());
+ InternalLocator locator = (InternalLocator) locators.get(0);
+ final ServerLocator sl = locator.getServerLocatorAdvisee();
+ InternalLogWriter log = new LocalLogWriter(InternalLogWriter.FINEST_LEVEL, System.out);
+ sl.getDistributionAdvisor().dumpProfiles("PROFILES= ");
+ Awaitility.await().pollDelay(100, TimeUnit.MILLISECONDS).pollInterval(100, TimeUnit.MILLISECONDS)
+ .timeout(300, TimeUnit.SECONDS).until(() -> expected.equals(sl.getLoadMap()));
}
-
- private void changeLoad(VM vm, final ServerLoad newLoad) {
- vm.invoke(new SerializableRunnable() {
-
- public void run() {
- Cache cache = (Cache) remoteObjects.get(CACHE_KEY);
- CacheServer server = (CacheServer) cache.getCacheServers().get(0);
- MyLoadProbe probe = (MyLoadProbe) server.getLoadProbe();
- probe.setLoad(newLoad);
- }
-
- });
+
+ private void changeLoad(final ServerLoad newLoad) {
+ Cache cache = (Cache) remoteObjects.get(CACHE_KEY);
+ CacheServer server = cache.getCacheServers().get(0);
+ MyLoadProbe probe = (MyLoadProbe) server.getLoadProbe();
+ probe.setLoad(newLoad);
}
-
+
private static class MyLoadProbe extends ServerLoadProbeAdapter implements Serializable {
private ServerLoad load;
-
+
public MyLoadProbe(ServerLoad load) {
this.load = load;
}
-
+
public ServerLoad getLoad(ServerMetrics metrics) {
float connectionLoad = load.getConnectionLoad()
+ metrics.getConnectionCount() * load.getLoadPerConnection();
@@ -493,7 +452,7 @@ public class LocatorLoadBalancingDUnitTest extends LocatorTestBase {
return new ServerLoad(connectionLoad, load.getLoadPerConnection(),
queueLoad, load.getLoadPerSubscriptionConnection());
}
-
+
public void setLoad(ServerLoad load) {
this.load = load;
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8bc3481c/geode-core/src/test/java/com/gemstone/gemfire/cache/client/internal/LocatorTestBase.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/cache/client/internal/LocatorTestBase.java b/geode-core/src/test/java/com/gemstone/gemfire/cache/client/internal/LocatorTestBase.java
index 2207e1d..98e8835 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/cache/client/internal/LocatorTestBase.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/cache/client/internal/LocatorTestBase.java
@@ -16,52 +16,35 @@
*/
package com.gemstone.gemfire.cache.client.internal;
-import java.io.File;
-import java.io.IOException;
-import java.net.InetAddress;
-import java.net.InetSocketAddress;
-import java.net.UnknownHostException;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Properties;
-import java.util.Set;
-
-import com.gemstone.gemfire.cache.AttributesFactory;
-import com.gemstone.gemfire.cache.Cache;
-import com.gemstone.gemfire.cache.CacheFactory;
-import com.gemstone.gemfire.cache.DataPolicy;
-import com.gemstone.gemfire.cache.RegionAttributes;
-import com.gemstone.gemfire.cache.Scope;
+import com.gemstone.gemfire.cache.*;
import com.gemstone.gemfire.cache.client.Pool;
import com.gemstone.gemfire.cache.client.PoolManager;
-import com.gemstone.gemfire.cache.server.ServerLoadProbe;
import com.gemstone.gemfire.cache.server.CacheServer;
+import com.gemstone.gemfire.cache.server.ServerLoadProbe;
import com.gemstone.gemfire.distributed.DistributedSystem;
import com.gemstone.gemfire.distributed.Locator;
import com.gemstone.gemfire.distributed.internal.DistributionConfig;
-import com.gemstone.gemfire.internal.AvailablePortHelper;
import com.gemstone.gemfire.internal.cache.PoolFactoryImpl;
-import com.gemstone.gemfire.test.dunit.Assert;
-import com.gemstone.gemfire.test.dunit.DistributedTestCase;
-import com.gemstone.gemfire.test.dunit.Host;
-import com.gemstone.gemfire.test.dunit.Invoke;
-import com.gemstone.gemfire.test.dunit.LogWriterUtils;
-import com.gemstone.gemfire.test.dunit.NetworkUtils;
-import com.gemstone.gemfire.test.dunit.SerializableCallable;
-import com.gemstone.gemfire.test.dunit.SerializableRunnable;
-import com.gemstone.gemfire.test.dunit.VM;
+import com.gemstone.gemfire.test.dunit.*;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.InetAddress;
+import java.net.InetSocketAddress;
+import java.net.UnknownHostException;
+import java.util.*;
/**
*
*/
-public abstract class LocatorTestBase extends DistributedTestCase {
+public abstract class LocatorTestBase extends DistributedTestCase {
protected static final String CACHE_KEY = "CACHE";
protected static final String LOCATOR_KEY = "LOCATOR";
protected static final String REGION_NAME = "A_REGION";
protected static final String POOL_NAME = "daPool";
protected static final Object CALLBACK_KEY = "callback";
- /** A map for storing temporary objects in a remote VM so that they can be used
+ /**
+ * A map for storing temporary objects in a remote VM so that they can be used
* between calls. Cleared after each test.
*/
protected static final HashMap remoteObjects = new HashMap();
@@ -69,264 +52,223 @@ public abstract class LocatorTestBase extends DistributedTestCase {
public LocatorTestBase(String name) {
super(name);
}
-
+
@Override
public final void preTearDown() throws Exception {
-
+
SerializableRunnable tearDown = new SerializableRunnable("tearDown") {
public void run() {
Locator locator = (Locator) remoteObjects.get(LOCATOR_KEY);
- if(locator != null) {
+ if (locator != null) {
try {
locator.stop();
- } catch(Exception e) {
+ } catch (Exception e) {
//do nothing
}
}
-
+
Cache cache = (Cache) remoteObjects.get(CACHE_KEY);
- if(cache != null) {
+ if (cache != null) {
try {
cache.close();
- } catch(Exception e) {
+ } catch (Exception e) {
//do nothing
}
}
remoteObjects.clear();
-
+
}
};
//We seem to like leaving the DS open if we can for
//speed, but lets at least destroy our cache and locator.
Invoke.invokeInEveryVM(tearDown);
tearDown.run();
-
+
postTearDownLocatorTestBase();
}
-
+
protected void postTearDownLocatorTestBase() throws Exception {
}
-
- protected void startLocatorInVM(final VM vm, final int locatorPort, final String otherLocators) {
- vm.invoke(new SerializableRunnable("Create Locator") {
- final String testName= getUniqueName();
- public void run() {
- disconnectFromDS();
- Properties props = new Properties();
- props.setProperty(DistributionConfig.MCAST_PORT_NAME, String.valueOf(0));
- props.setProperty(DistributionConfig.LOCATORS_NAME, otherLocators);
- props.setProperty(DistributionConfig.LOG_LEVEL_NAME, LogWriterUtils.getDUnitLogLevel());
- props.setProperty(DistributionConfig.ENABLE_CLUSTER_CONFIGURATION_NAME, "false");
- try {
- File logFile = new File(testName + "-locator" + locatorPort
- + ".log");
- InetAddress bindAddr = null;
- try {
- bindAddr = InetAddress.getByName(NetworkUtils.getServerHostName(vm.getHost()));
- } catch (UnknownHostException uhe) {
- Assert.fail("While resolving bind address ", uhe);
- }
- Locator locator = Locator.startLocatorAndDS(locatorPort, logFile, bindAddr, props);
- remoteObjects.put(LOCATOR_KEY, locator);
- } catch (IOException ex) {
- Assert.fail("While starting locator on port " + locatorPort, ex);
- }
- }
- });
+ protected void startLocator(final String hostName, final int locatorPort, final String otherLocators) {
+ disconnectFromDS();
+ Properties props = new Properties();
+ props.setProperty(DistributionConfig.MCAST_PORT_NAME, String.valueOf(0));
+ props.setProperty(DistributionConfig.LOCATORS_NAME, otherLocators);
+ props.setProperty(DistributionConfig.LOG_LEVEL_NAME, LogWriterUtils.getDUnitLogLevel());
+ props.setProperty(DistributionConfig.ENABLE_CLUSTER_CONFIGURATION_NAME, "false");
+ File logFile = new File(getUniqueName() + "-locator" + locatorPort + ".log");
+ try {
+ InetAddress bindAddress = InetAddress.getByName(hostName);
+ Locator locator = Locator.startLocatorAndDS(locatorPort, logFile, bindAddress, props);
+ remoteObjects.put(LOCATOR_KEY, locator);
+ } catch (UnknownHostException uhe) {
+ Assert.fail("While resolving bind address ", uhe);
+ } catch (IOException ex) {
+ Assert.fail("While starting locator on port " + locatorPort, ex);
+ }
}
-
-
-
- protected void stopLocatorInVM(VM vm) {
- vm.invoke(new SerializableRunnable("Stop Locator") {
- public void run() {
- Locator locator = (Locator) remoteObjects.remove(LOCATOR_KEY);
- locator.stop();
- }
- });
+
+ protected void stopLocator() {
+ Locator locator = (Locator) remoteObjects.remove(LOCATOR_KEY);
+ locator.stop();
}
-
- protected int startBridgeServerInVM(VM vm, String[] groups, String locators) {
- return startBridgeServerInVM(vm, groups, locators, new String[] {REGION_NAME});
+
+ protected int startBridgeServer(String[] groups, String locators) throws IOException {
+ return startBridgeServer(groups, locators, new String[] { REGION_NAME });
}
-
- protected int addCacheServerInVM(VM vm, final String[] groups) {
- SerializableCallable connect =
- new SerializableCallable("Add Bridge server") {
- public Object call() throws Exception {
- Cache cache = (Cache) remoteObjects.get(CACHE_KEY);
- CacheServer server = cache.addCacheServer();
- final int serverPort = AvailablePortHelper.getRandomAvailableTCPPort();
- server.setPort(serverPort);
- server.setGroups(groups);
- server.start();
- return new Integer(serverPort);
- }
- };
- Integer port = (Integer) vm.invoke(connect);
- return port.intValue();
+ protected int addCacheServer(final String[] groups) throws IOException {
+ Cache cache = (Cache) remoteObjects.get(CACHE_KEY);
+ CacheServer server = cache.addCacheServer();
+ server.setPort(0);
+ server.setGroups(groups);
+ server.start();
+ return new Integer(server.getPort());
}
-
- protected int startBridgeServerInVM(VM vm, final String[] groups, final String locators, final String[] regions) {
- return startBridgeServerInVM(vm, groups, locators, regions, CacheServer.DEFAULT_LOAD_PROBE);
+
+ protected int startBridgeServer(final String[] groups, final String locators, final String[] regions) throws IOException {
+ return startBridgeServer(groups, locators, regions, CacheServer.DEFAULT_LOAD_PROBE);
}
-
- protected int startBridgeServerInVM(VM vm, final String[] groups, final String locators, final String[] regions, final ServerLoadProbe probe) {
- SerializableCallable connect =
- new SerializableCallable("Start bridge server") {
- public Object call() throws IOException {
- Properties props = new Properties();
- props.setProperty(DistributionConfig.MCAST_PORT_NAME, String.valueOf(0));
- props.setProperty(DistributionConfig.LOCATORS_NAME, locators);
- DistributedSystem ds = getSystem(props);
- Cache cache = CacheFactory.create(ds);
- AttributesFactory factory = new AttributesFactory();
- factory.setScope(Scope.DISTRIBUTED_ACK);
- factory.setEnableBridgeConflation(true);
- factory.setDataPolicy(DataPolicy.REPLICATE);
- RegionAttributes attrs = factory.create();
- for(int i = 0; i < regions.length; i++) {
- cache.createRegion(regions[i], attrs);
- }
- CacheServer server = cache.addCacheServer();
- final int serverPort = AvailablePortHelper.getRandomAvailableTCPPort();
- server.setPort(serverPort);
- server.setGroups(groups);
- server.setLoadProbe(probe);
- server.start();
-
- remoteObjects.put(CACHE_KEY, cache);
-
- return new Integer(serverPort);
- }
- };
- Integer port = (Integer) vm.invoke(connect);
- return port.intValue();
+
+ protected int startBridgeServer(final String[] groups, final String locators, final String[] regions, final ServerLoadProbe probe)
+ throws IOException {
+ return startBridgeServer(null, -1, groups, locators, regions, probe);
}
-
- protected int startBridgeServerWithEmbeddedLocator(VM vm, final String[] groups, final String locators, final String[] regions, final ServerLoadProbe probe) {
- SerializableCallable connect =
- new SerializableCallable("Start bridge server") {
- public Object call() throws IOException {
- Properties props = new Properties();
- props.setProperty(DistributionConfig.MCAST_PORT_NAME, String.valueOf(0));
- props.setProperty(DistributionConfig.START_LOCATOR_NAME, locators);
- props.setProperty(DistributionConfig.LOCATORS_NAME, locators);
- DistributedSystem ds = getSystem(props);
- Cache cache = CacheFactory.create(ds);
- AttributesFactory factory = new AttributesFactory();
- factory.setScope(Scope.DISTRIBUTED_ACK);
- factory.setEnableBridgeConflation(true);
- factory.setDataPolicy(DataPolicy.REPLICATE);
- RegionAttributes attrs = factory.create();
- for(int i = 0; i < regions.length; i++) {
- cache.createRegion(regions[i], attrs);
- }
- CacheServer server = cache.addCacheServer();
- server.setGroups(groups);
- server.setLoadProbe(probe);
- final int serverPort = AvailablePortHelper.getRandomAvailableTCPPort();
- server.setPort(serverPort);
- server.start();
-
- remoteObjects.put(CACHE_KEY, cache);
-
- return new Integer(serverPort);
- }
- };
- Integer port = (Integer) vm.invoke(connect);
- return port.intValue();
+
+ protected int startBridgeServer(final String hostName, final int restServicePort, final String[] groups
+ , final String locators, final String[] regions, final ServerLoadProbe probe) throws IOException {
+ Properties props = new Properties();
+ props.setProperty(DistributionConfig.MCAST_PORT_NAME, "0");
+ props.setProperty(DistributionConfig.LOCATORS_NAME, locators);
+ if (hostName != null) {
+ props.setProperty(DistributionConfig.START_DEV_REST_API_NAME, "true");
+ props.setProperty(DistributionConfig.HTTP_SERVICE_BIND_ADDRESS_NAME, hostName);
+ props.setProperty(DistributionConfig.HTTP_SERVICE_PORT_NAME, String.valueOf(restServicePort));
+ }
+
+ DistributedSystem ds = getSystem(props);
+ Cache cache = CacheFactory.create(ds);
+ AttributesFactory factory = new AttributesFactory();
+ factory.setScope(Scope.DISTRIBUTED_ACK);
+ factory.setEnableBridgeConflation(true);
+ factory.setDataPolicy(DataPolicy.REPLICATE);
+ RegionAttributes attributes = factory.create();
+ for (int i = 0; i < regions.length; i++) {
+ cache.createRegion(regions[i], attributes);
+ }
+ CacheServer server = cache.addCacheServer();
+ server.setPort(0);
+ server.setGroups(groups);
+ if (probe != null) {
+ server.setLoadProbe(probe);
+ }
+ server.start();
+
+ remoteObjects.put(CACHE_KEY, cache);
+
+ return new Integer(server.getPort());
}
-
- protected void startBridgeClientInVM(VM vm, final String group, final String host, final int port) throws Exception {
- startBridgeClientInVM(vm, group, host, port, new String[] {REGION_NAME});
+
+ protected int startBridgeServerWithEmbeddedLocator(final String[] groups, final String locators, final String[] regions, final ServerLoadProbe probe)
+ throws IOException {
+ Properties props = new Properties();
+ props.setProperty(DistributionConfig.MCAST_PORT_NAME, String.valueOf(0));
+ props.setProperty(DistributionConfig.START_LOCATOR_NAME, locators);
+ props.setProperty(DistributionConfig.LOCATORS_NAME, locators);
+ DistributedSystem ds = getSystem(props);
+ Cache cache = CacheFactory.create(ds);
+ AttributesFactory factory = new AttributesFactory();
+ factory.setScope(Scope.DISTRIBUTED_ACK);
+ factory.setEnableBridgeConflation(true);
+ factory.setDataPolicy(DataPolicy.REPLICATE);
+ RegionAttributes attrs = factory.create();
+ for (int i = 0; i < regions.length; i++) {
+ cache.createRegion(regions[i], attrs);
+ }
+ CacheServer server = cache.addCacheServer();
+ server.setGroups(groups);
+ server.setLoadProbe(probe);
+ server.setPort(0);
+ server.start();
+
+ remoteObjects.put(CACHE_KEY, cache);
+
+ return new Integer(server.getPort());
}
-
- protected void startBridgeClientInVM(VM vm, final String group, final String host, final int port, final String[] regions) throws Exception {
+ protected void startBridgeClient(final String group, final String host, final int port) throws Exception {
+ startBridgeClient(group, host, port, new String[] { REGION_NAME });
+ }
+
+ protected void startBridgeClient(final String group, final String host, final int port, final String[] regions) throws Exception {
PoolFactoryImpl pf = new PoolFactoryImpl(null);
pf.addLocator(host, port)
- .setServerGroup(group)
- .setPingInterval(200)
- .setSubscriptionEnabled(true)
- .setSubscriptionRedundancy(-1);
- startBridgeClientInVM(vm, pf.getPoolAttributes(), regions);
+ .setServerGroup(group)
+ .setPingInterval(200)
+ .setSubscriptionEnabled(true)
+ .setSubscriptionRedundancy(-1);
+ startBridgeClient(pf.getPoolAttributes(), regions);
}
-
- protected void startBridgeClientInVM(VM vm, final Pool pool, final String[] regions) throws Exception {
- SerializableRunnable connect =
- new SerializableRunnable("Start bridge client") {
- public void run() {
- Properties props = new Properties();
- props.setProperty(DistributionConfig.MCAST_PORT_NAME, String.valueOf(0));
- props.setProperty(DistributionConfig.LOCATORS_NAME, "");
- DistributedSystem ds = getSystem(props);
- Cache cache = CacheFactory.create(ds);
- AttributesFactory factory = new AttributesFactory();
- factory.setScope(Scope.LOCAL);
-// factory.setEnableBridgeConflation(true);
-// factory.setDataPolicy(DataPolicy.NORMAL);
- factory.setPoolName(POOL_NAME);
- PoolFactoryImpl pf= (PoolFactoryImpl) PoolManager.createFactory();
- pf.init(pool);
- LocatorDiscoveryCallback locatorCallback = new MyLocatorCallback();
- remoteObjects.put(CALLBACK_KEY, locatorCallback);
- pf.setLocatorDiscoveryCallback(locatorCallback);
- pf.create(POOL_NAME);
-
-
- RegionAttributes attrs = factory.create();
- for(int i = 0; i < regions.length; i++) {
- cache.createRegion(regions[i], attrs);
- }
-
- remoteObjects.put(CACHE_KEY, cache);
- }
- };
-
- if(vm == null) {
- connect.run();
- } else {
- vm.invoke(connect);
+
+ protected void startBridgeClient(final Pool pool, final String[] regions) throws Exception {
+ Properties props = new Properties();
+ props.setProperty(DistributionConfig.MCAST_PORT_NAME, String.valueOf(0));
+ props.setProperty(DistributionConfig.LOCATORS_NAME, "");
+ DistributedSystem ds = getSystem(props);
+ Cache cache = CacheFactory.create(ds);
+ AttributesFactory factory = new AttributesFactory();
+ factory.setScope(Scope.LOCAL);
+ factory.setPoolName(POOL_NAME);
+ PoolFactoryImpl pf = (PoolFactoryImpl) PoolManager.createFactory();
+ pf.init(pool);
+ LocatorDiscoveryCallback locatorCallback = new MyLocatorCallback();
+ remoteObjects.put(CALLBACK_KEY, locatorCallback);
+ pf.setLocatorDiscoveryCallback(locatorCallback);
+ pf.create(POOL_NAME);
+
+ RegionAttributes attrs = factory.create();
+ for (int i = 0; i < regions.length; i++) {
+ cache.createRegion(regions[i], attrs);
}
+
+ remoteObjects.put(CACHE_KEY, cache);
}
-
+
protected void stopBridgeMemberVM(VM vm) {
- vm.invoke(new SerializableRunnable("Stop bridge member") {
- public void run() {
- Cache cache = (Cache) remoteObjects.remove(CACHE_KEY);
- cache.close();
- disconnectFromDS();
- }
- });
+ vm.invoke(new SerializableRunnable("Stop bridge member") {
+ public void run() {
+ Cache cache = (Cache) remoteObjects.remove(CACHE_KEY);
+ cache.close();
+ disconnectFromDS();
+ }
+ });
}
-
+
public String getLocatorString(Host host, int locatorPort) {
- return getLocatorString(host, new int[] {locatorPort});
+ return getLocatorString(host, new int[] { locatorPort });
}
-
+
public String getLocatorString(Host host, int[] locatorPorts) {
StringBuffer str = new StringBuffer();
- for(int i = 0; i < locatorPorts.length; i++) {
+ for (int i = 0; i < locatorPorts.length; i++) {
str.append(NetworkUtils.getServerHostName(host))
.append("[")
.append(locatorPorts[i])
.append("]");
- if(i < locatorPorts.length - 1) {
+ if (i < locatorPorts.length - 1) {
str.append(",");
}
}
-
+
return str.toString();
}
-
+
protected static class MyLocatorCallback extends LocatorDiscoveryCallbackAdapter {
private final Set discoveredLocators = new HashSet();
private final Set removedLocators = new HashSet();
-
+
public synchronized void locatorsDiscovered(List locators) {
discoveredLocators.addAll(locators);
notifyAll();
@@ -336,29 +278,29 @@ public abstract class LocatorTestBase extends DistributedTestCase {
removedLocators.addAll(locators);
notifyAll();
}
-
+
public boolean waitForDiscovery(InetSocketAddress locator, long time) throws InterruptedException {
return waitFor(discoveredLocators, locator, time);
}
-
+
public boolean waitForRemove(InetSocketAddress locator, long time) throws InterruptedException {
return waitFor(removedLocators, locator, time);
}
-
+
private synchronized boolean waitFor(Set set, InetSocketAddress locator, long time) throws InterruptedException {
long remaining = time;
long endTime = System.currentTimeMillis() + time;
- while(!set.contains(locator) && remaining >= 0) {
+ while (!set.contains(locator) && remaining >= 0) {
wait(remaining);
- remaining = endTime - System.currentTimeMillis();
+ remaining = endTime - System.currentTimeMillis();
}
return set.contains(locator);
}
-
+
public synchronized Set getDiscovered() {
return new HashSet(discoveredLocators);
}
-
+
}
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8bc3481c/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/Bug47667DUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/Bug47667DUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/Bug47667DUnitTest.java
index de43c29..d3b3963 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/Bug47667DUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/Bug47667DUnitTest.java
@@ -26,7 +26,6 @@ import com.gemstone.gemfire.cache.client.internal.LocatorTestBase;
import com.gemstone.gemfire.internal.AvailablePort;
import com.gemstone.gemfire.test.dunit.Host;
import com.gemstone.gemfire.test.dunit.NetworkUtils;
-import com.gemstone.gemfire.test.dunit.SerializableCallable;
import com.gemstone.gemfire.test.dunit.VM;
public class Bug47667DUnitTest extends LocatorTestBase {
@@ -56,31 +55,28 @@ public class Bug47667DUnitTest extends LocatorTestBase {
final int locatorPort = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
final String locatorHost = NetworkUtils.getServerHostName(host);
- startLocatorInVM(locator, locatorPort, "");
+ locator.invoke("Start Locator", () -> startLocator(locatorHost, locatorPort, ""));
String locString = getLocatorString(host, locatorPort);
- startBridgeServerInVM(server1, new String[] {"R1"}, locString, new String[] {"R1"});
- startBridgeServerInVM(server2, new String[] {"R2"}, locString, new String[] {"R2"});
+ server1.invoke("Start BridgeServer", () -> startBridgeServer(new String[] { "R1" }, locString, new String[] { "R1" }));
+ server2.invoke("Start BridgeServer", () -> startBridgeServer(new String[] { "R2" }, locString, new String[] { "R2" }));
- client.invoke(new SerializableCallable() {
- @Override
- public Object call() throws Exception {
- ClientCacheFactory ccf = new ClientCacheFactory();
- ccf.addPoolLocator(locatorHost, locatorPort);
- ClientCache cache = ccf.create();
- PoolManager.createFactory().addLocator(locatorHost, locatorPort).setServerGroup("R1").create("R1");
- PoolManager.createFactory().addLocator(locatorHost, locatorPort).setServerGroup("R2").create("R2");
- Region r1 = cache.createClientRegionFactory(ClientRegionShortcut.CACHING_PROXY).setPoolName("R1").create("R1");
- Region r2 = cache.createClientRegionFactory(ClientRegionShortcut.CACHING_PROXY).setPoolName("R2").create("R2");
- CacheTransactionManager mgr = cache.getCacheTransactionManager();
- mgr.begin();
- r1.put(1, "value1");
- mgr.commit();
- mgr.begin();
- r2.put(2, "value2");
- mgr.commit();
- return null;
- }
+ client.invoke("create region and insert data in transaction", () -> {
+ ClientCacheFactory ccf = new ClientCacheFactory();
+ ccf.addPoolLocator(locatorHost, locatorPort);
+ ClientCache cache = ccf.create();
+ PoolManager.createFactory().addLocator(locatorHost, locatorPort).setServerGroup("R1").create("R1");
+ PoolManager.createFactory().addLocator(locatorHost, locatorPort).setServerGroup("R2").create("R2");
+ Region region1 = cache.createClientRegionFactory(ClientRegionShortcut.CACHING_PROXY).setPoolName("R1").create("R1");
+ Region region2 = cache.createClientRegionFactory(ClientRegionShortcut.CACHING_PROXY).setPoolName("R2").create("R2");
+ CacheTransactionManager transactionManager = cache.getCacheTransactionManager();
+ transactionManager.begin();
+ region1.put(1, "value1");
+ transactionManager.commit();
+ transactionManager.begin();
+ region2.put(2, "value2");
+ transactionManager.commit();
+ return null;
});
}
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8bc3481c/geode-cq/src/test/java/com/gemstone/gemfire/management/CacheServerManagementDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-cq/src/test/java/com/gemstone/gemfire/management/CacheServerManagementDUnitTest.java b/geode-cq/src/test/java/com/gemstone/gemfire/management/CacheServerManagementDUnitTest.java
index d784397..167cc3a 100644
--- a/geode-cq/src/test/java/com/gemstone/gemfire/management/CacheServerManagementDUnitTest.java
+++ b/geode-cq/src/test/java/com/gemstone/gemfire/management/CacheServerManagementDUnitTest.java
@@ -16,26 +16,9 @@
*/
package com.gemstone.gemfire.management;
-import java.io.File;
-import java.io.IOException;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.util.Collections;
-import java.util.Properties;
-
-import javax.management.InstanceNotFoundException;
-import javax.management.MBeanServer;
-import javax.management.Notification;
-import javax.management.NotificationListener;
-import javax.management.ObjectName;
-
import com.gemstone.gemfire.cache.Cache;
import com.gemstone.gemfire.cache.client.internal.LocatorTestBase;
-import com.gemstone.gemfire.cache.query.IndexExistsException;
-import com.gemstone.gemfire.cache.query.IndexInvalidException;
-import com.gemstone.gemfire.cache.query.IndexNameConflictException;
-import com.gemstone.gemfire.cache.query.QueryService;
-import com.gemstone.gemfire.cache.query.RegionNotFoundException;
+import com.gemstone.gemfire.cache.query.*;
import com.gemstone.gemfire.cache.query.cq.dunit.CqQueryDUnitTest;
import com.gemstone.gemfire.cache.query.internal.cq.CqService;
import com.gemstone.gemfire.cache.server.CacheServer;
@@ -46,37 +29,34 @@ import com.gemstone.gemfire.internal.AvailablePort;
import com.gemstone.gemfire.internal.AvailablePortHelper;
import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
import com.gemstone.gemfire.management.internal.JmxManagerLocatorRequest;
-import com.gemstone.gemfire.management.internal.JmxManagerLocatorResponse;
import com.gemstone.gemfire.management.internal.MBeanJMXAdapter;
import com.gemstone.gemfire.management.internal.SystemManagementService;
-import com.gemstone.gemfire.test.dunit.Assert;
-import com.gemstone.gemfire.test.dunit.Host;
-import com.gemstone.gemfire.test.dunit.LogWriterUtils;
-import com.gemstone.gemfire.test.dunit.NetworkUtils;
-import com.gemstone.gemfire.test.dunit.SerializableRunnable;
-import com.gemstone.gemfire.test.dunit.VM;
-import com.gemstone.gemfire.test.dunit.Wait;
-import com.gemstone.gemfire.test.dunit.WaitCriterion;
+import com.gemstone.gemfire.test.dunit.*;
+
+import javax.management.*;
+import java.io.File;
+import java.io.IOException;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.util.Collections;
+import java.util.Properties;
/**
* Cache Server related management test cases
- *
- *
*/
public class CacheServerManagementDUnitTest extends LocatorTestBase {
private static final long serialVersionUID = 1L;
-
- private static int CONNECT_LOCATOR_TIMEOUT_MS = 30000;
+
+ private static int CONNECT_LOCATOR_TIMEOUT_MS = 30000;
private ManagementTestBase helper;
private static final String queryName = "testClientWithFeederAndCQ_0";
private static final String indexName = "testIndex";
-
+
private static MBeanServer mbeanServer = MBeanJMXAdapter.mbeanServer;
-
protected CqQueryDUnitTest cqDUnitTest = new CqQueryDUnitTest(
"CqDataDUnitTest");
@@ -84,7 +64,7 @@ public class CacheServerManagementDUnitTest extends LocatorTestBase {
public CacheServerManagementDUnitTest(String name) {
super(name);
this.helper = new ManagementTestBase(name);
-
+
}
@Override
@@ -98,7 +78,6 @@ public class CacheServerManagementDUnitTest extends LocatorTestBase {
}
/**
- *
* @throws Exception
*/
public void testCacheServerMBean() throws Exception {
@@ -112,12 +91,11 @@ public class CacheServerManagementDUnitTest extends LocatorTestBase {
helper.startManagingNode(managingNode);
//helper.createCache(server);
int serverPort = AvailablePortHelper.getRandomAvailableTCPPort();
- cqDUnitTest.createServer(server,serverPort);
-
-
+ cqDUnitTest.createServer(server, serverPort);
+
DistributedMember member = helper.getMember(server);
-
- verifyCacheServer(server,serverPort);
+
+ verifyCacheServer(server, serverPort);
final int port = server.invoke(() -> CqQueryDUnitTest.getCacheServerPort());
final String host0 = NetworkUtils.getServerHostName(server.getHost());
@@ -145,10 +123,10 @@ public class CacheServerManagementDUnitTest extends LocatorTestBase {
// Close.
Wait.pause(2000);
- checkNavigation(managingNode,member,serverPort);
- verifyIndex(server,serverPort);
+ checkNavigation(managingNode, member, serverPort);
+ verifyIndex(server, serverPort);
// This will test all CQs and will close the cq in its final step
- verifyCacheServerRemote(managingNode, member,serverPort);
+ verifyCacheServerRemote(managingNode, member, serverPort);
verifyClosedCQ(server);
@@ -162,30 +140,30 @@ public class CacheServerManagementDUnitTest extends LocatorTestBase {
/**
* Test for client server connection related management artifacts
- * like notifications
+ * like notifications
+ *
* @throws Exception
*/
-
+
public void testCacheClient() throws Exception {
-
+
final Host host = Host.getHost(0);
VM locator = host.getVM(0);
VM server = host.getVM(1);
VM client = host.getVM(2);
-
+
int locatorPort = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
- startLocatorInVM(locator, locatorPort, "");
-
- String locators = NetworkUtils.getServerHostName(locator.getHost())+ "[" + locatorPort + "]";
-
-
- int serverPort = startBridgeServerInVM(server, null, locators);
-
- addClientNotifListener(server,serverPort);
+ locator.invoke("Start Locator", () -> startLocator(locator.getHost(), locatorPort, ""));
+
+ String locators = NetworkUtils.getServerHostName(locator.getHost()) + "[" + locatorPort + "]";
+
+ int serverPort = server.invoke("Start BridgeServer", () -> startBridgeServer(null, locators));
+
+ addClientNotifListener(server, serverPort);
// Start a client and make sure that proper notification is received
- startBridgeClientInVM(client, null, NetworkUtils.getServerHostName(locator.getHost()), locatorPort);
-
+ client.invoke("Start BridgeClient", () -> startBridgeClient(null, NetworkUtils.getServerHostName(locator.getHost()), locatorPort));
+
//stop the client and make sure the bridge server notifies
stopBridgeMemberVM(client);
helper.closeCache(locator);
@@ -193,13 +171,14 @@ public class CacheServerManagementDUnitTest extends LocatorTestBase {
helper.closeCache(client);
}
-
+
/**
* Intention of this test is to check if a node becomes manager after all the nodes are alive
* it should have all the information of all the members.
- *
+ * <p>
* Thats why used service.getLocalManager().runManagementTaskAdhoc() to make node
* ready for federation when manager node comes up
+ *
* @throws Exception
*/
@@ -208,96 +187,72 @@ public class CacheServerManagementDUnitTest extends LocatorTestBase {
final Host host = Host.getHost(0);
VM locator = host.getVM(0);
VM server = host.getVM(1);
-
+
//Step 1:
final int locatorPort = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
- startLocator(locator, locatorPort, "");
+ locator.invoke("Start Locator", () -> startLocator(locator.getHost(), locatorPort, ""));
- String locators = NetworkUtils.getServerHostName(locator.getHost())+ "[" + locatorPort + "]";
-
- //Step 2:
- int serverPort = startBridgeServerInVM(server, null, locators);
-
- //Step 3:
- server.invoke(new SerializableRunnable("Check Server") {
-
- public void run() {
- Cache cache = GemFireCacheImpl.getInstance();
- assertNotNull(cache);
- SystemManagementService service = (SystemManagementService)ManagementService
- .getExistingManagementService(cache);
- assertNotNull(service);
- assertFalse(service.isManager());
- assertNotNull(service.getMemberMXBean());
- service.getLocalManager().runManagementTaskAdhoc();
+ String locators = NetworkUtils.getServerHostName(locator.getHost()) + "[" + locatorPort + "]";
+ //Step 2:
+ server.invoke("Start BridgeServer", () -> startBridgeServer(null, locators));
- }
+ //Step 3:
+ server.invoke("Check Server", () -> {
+ Cache cache = GemFireCacheImpl.getInstance();
+ assertNotNull(cache);
+ SystemManagementService service = (SystemManagementService) ManagementService
+ .getExistingManagementService(cache);
+ assertNotNull(service);
+ assertFalse(service.isManager());
+ assertNotNull(service.getMemberMXBean());
+ service.getLocalManager().runManagementTaskAdhoc();
});
-
- //Step 4:
- JmxManagerLocatorResponse locRes = JmxManagerLocatorRequest.send(locator
- .getHost().getHostName(), locatorPort, CONNECT_LOCATOR_TIMEOUT_MS, Collections.<String, String> emptyMap());
-
- //Step 5:
- locator.invoke(new SerializableRunnable("Check locator") {
- public void run() {
- Cache cache = GemFireCacheImpl.getInstance();
- assertNotNull(cache);
- ManagementService service = ManagementService
- .getExistingManagementService(cache);
- assertNotNull(service);
- assertTrue(service.isManager());
- LocatorMXBean bean = service.getLocalLocatorMXBean();
- assertEquals(locatorPort, bean.getPort());
- DistributedSystemMXBean dsBean = service.getDistributedSystemMXBean();
- ObjectName[] names = dsBean.listMemberObjectNames();
-
- assertEquals(2,dsBean.listMemberObjectNames().length);
-
- }
+ //Step 4:
+ JmxManagerLocatorRequest.send(locator
+ .getHost().getHostName(), locatorPort, CONNECT_LOCATOR_TIMEOUT_MS, Collections.<String, String>emptyMap());
+
+ //Step 5:
+ locator.invoke("Check locator", () -> {
+ Cache cache = GemFireCacheImpl.getInstance();
+ assertNotNull(cache);
+ ManagementService service = ManagementService
+ .getExistingManagementService(cache);
+ assertNotNull(service);
+ assertTrue(service.isManager());
+ LocatorMXBean bean = service.getLocalLocatorMXBean();
+ assertEquals(locatorPort, bean.getPort());
+ DistributedSystemMXBean dsBean = service.getDistributedSystemMXBean();
+
+ assertEquals(2, dsBean.listMemberObjectNames().length);
});
-
-
helper.closeCache(locator);
helper.closeCache(server);
-
-
+
}
-
-
- protected void startLocator(final VM vm, final int locatorPort, final String otherLocators) {
- vm.invoke(new SerializableRunnable("Create Locator") {
- final String testName= getUniqueName();
- public void run() {
- disconnectFromDS();
- Properties props = new Properties();
- props.setProperty(DistributionConfig.MCAST_PORT_NAME, String.valueOf(0));
- props.setProperty(DistributionConfig.LOCATORS_NAME, otherLocators);
- props.setProperty(DistributionConfig.LOG_LEVEL_NAME, LogWriterUtils.getDUnitLogLevel());
- props.setProperty(DistributionConfig.JMX_MANAGER_HTTP_PORT_NAME, "0");
- props.setProperty(DistributionConfig.ENABLE_CLUSTER_CONFIGURATION_NAME, "false");
- try {
- File logFile = new File(testName + "-locator" + locatorPort
- + ".log");
- InetAddress bindAddr = null;
- try {
- bindAddr = InetAddress.getByName(NetworkUtils.getServerHostName(vm.getHost()));
- } catch (UnknownHostException uhe) {
- Assert.fail("While resolving bind address ", uhe);
- }
- Locator locator = Locator.startLocatorAndDS(locatorPort, logFile, bindAddr, props);
- remoteObjects.put(LOCATOR_KEY, locator);
- } catch (IOException ex) {
- Assert.fail("While starting locator on port " + locatorPort, ex);
- }
- }
- });
+ protected void startLocator(Host vmHost, final int locatorPort, final String otherLocators) {
+ disconnectFromDS();
+ Properties props = new Properties();
+ props.setProperty(DistributionConfig.MCAST_PORT_NAME, String.valueOf(0));
+ props.setProperty(DistributionConfig.LOCATORS_NAME, otherLocators);
+ props.setProperty(DistributionConfig.LOG_LEVEL_NAME, LogWriterUtils.getDUnitLogLevel());
+ props.setProperty(DistributionConfig.JMX_MANAGER_HTTP_PORT_NAME, "0");
+ props.setProperty(DistributionConfig.ENABLE_CLUSTER_CONFIGURATION_NAME, "false");
+ File logFile = new File(getUniqueName() + "-locator" + locatorPort + ".log");
+ try {
+ InetAddress bindAddr = InetAddress.getByName(NetworkUtils.getServerHostName(vmHost));
+ Locator locator = Locator.startLocatorAndDS(locatorPort, logFile, bindAddr, props);
+ remoteObjects.put(LOCATOR_KEY, locator);
+ } catch (UnknownHostException uhe) {
+ Assert.fail("While resolving bind address ", uhe);
+ } catch (IOException ex) {
+ Assert.fail("While starting locator on port " + locatorPort, ex);
+ }
}
-
+
protected void checkNavigation(final VM vm,
final DistributedMember cacheServerMember, final int serverPort) {
SerializableRunnable checkNavigation = new SerializableRunnable(
@@ -327,14 +282,14 @@ public class CacheServerManagementDUnitTest extends LocatorTestBase {
};
vm.invoke(checkNavigation);
}
-
+
/**
* Verify the Cache Server details
- *
+ *
* @param vm
*/
@SuppressWarnings("serial")
- protected void addClientNotifListener(final VM vm , final int serverPort) throws Exception {
+ protected void addClientNotifListener(final VM vm, final int serverPort) throws Exception {
SerializableRunnable addClientNotifListener = new SerializableRunnable(
"Add Client Notif Listener") {
public void run() {
@@ -359,18 +314,19 @@ public class CacheServerManagementDUnitTest extends LocatorTestBase {
TestCacheServerNotif nt = new TestCacheServerNotif();
try {
mbeanServer.addNotificationListener(MBeanJMXAdapter
- .getClientServiceMBeanName(serverPort,cache.getDistributedSystem().getMemberId()), nt, null, null);
+ .getClientServiceMBeanName(serverPort, cache.getDistributedSystem().getMemberId()), nt, null, null);
} catch (InstanceNotFoundException e) {
fail("Failed With Exception " + e);
}
-
+
}
};
vm.invoke(addClientNotifListener);
}
+
/**
* Verify the closed CQ which is closed from Managing Node
- *
+ *
* @param vm
*/
@SuppressWarnings("serial")
@@ -405,7 +361,7 @@ public class CacheServerManagementDUnitTest extends LocatorTestBase {
bean.removeIndex(indexName);
} catch (Exception e) {
fail("Failed With Exception " + e);
-
+
}
assertEquals(bean.getIndexCount(), 0);
@@ -416,7 +372,7 @@ public class CacheServerManagementDUnitTest extends LocatorTestBase {
/**
* Verify the closed CQ which is closed from Managing Node
- *
+ *
* @param vm
*/
@SuppressWarnings("serial")
@@ -434,11 +390,9 @@ public class CacheServerManagementDUnitTest extends LocatorTestBase {
vm.invoke(verifyClosedCQ);
}
-
-
/**
* Verify the Cache Server details
- *
+ *
* @param vm
*/
@SuppressWarnings("serial")
@@ -496,7 +450,7 @@ public class CacheServerManagementDUnitTest extends LocatorTestBase {
/**
* Verify the Cache Server details
- *
+ *
* @param vm
*/
@SuppressWarnings("serial")
@@ -522,14 +476,14 @@ public class CacheServerManagementDUnitTest extends LocatorTestBase {
LogWriterUtils.getLogWriter().info(
"<ExpectedString> Active Query Count "
+ bean.getActiveCQCount() + "</ExpectedString> ");
-
+
LogWriterUtils.getLogWriter().info(
"<ExpectedString> Registered Query Count "
+ bean.getRegisteredCQCount() + "</ExpectedString> ");
- assertTrue(bean.showAllClientStats()[0].getClientCQCount() == 1);
- int numQueues = bean.getNumSubscriptions();
- assertEquals(numQueues, 1);
+ assertTrue(bean.showAllClientStats()[0].getClientCQCount() == 1);
+ int numQueues = bean.getNumSubscriptions();
+ assertEquals(numQueues, 1);
// test for client connection Count
/* @TODO */
@@ -552,11 +506,9 @@ public class CacheServerManagementDUnitTest extends LocatorTestBase {
};
vm.invoke(verifyCacheServerRemote);
}
-
+
/**
* Notification handler
- *
- *
*/
private static class TestCacheServerNotif implements
NotificationListener {
[09/10] incubator-geode git commit: GEODE-1367: Cleaned up some more
code.
Posted by ud...@apache.org.
GEODE-1367: Cleaned up some more code.
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/0b3686ff
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/0b3686ff
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/0b3686ff
Branch: refs/heads/develop
Commit: 0b3686ff92cabf5067c7cf32a87464215d0cf952
Parents: 0ff390a
Author: Udo Kohlmeyer <uk...@pivotal.io>
Authored: Thu May 19 07:59:58 2016 +1000
Committer: Udo Kohlmeyer <uk...@pivotal.io>
Committed: Tue May 24 03:37:40 2016 +1000
----------------------------------------------------------------------
.../controllers/RestAPIsWithSSLDUnitTest.java | 24 ++++++++++----------
1 file changed, 12 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/0b3686ff/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsWithSSLDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsWithSSLDUnitTest.java b/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsWithSSLDUnitTest.java
index 50fb0df..7b006d7 100644
--- a/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsWithSSLDUnitTest.java
+++ b/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsWithSSLDUnitTest.java
@@ -68,7 +68,6 @@ public class RestAPIsWithSSLDUnitTest extends LocatorTestBase {
public RestAPIsWithSSLDUnitTest(String name) {
super(name);
this.jks = findTrustedJKS();
-
}
@Override
@@ -170,7 +169,9 @@ public class RestAPIsWithSSLDUnitTest extends LocatorTestBase {
final int locatorPort = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
final String locatorHostName = NetworkUtils.getServerHostName(locator.getHost());
- locator.invoke("Start Locator", () -> startLocator(locatorHostName, locatorPort, ""));
+ locator.invoke("Start Locator", () -> {
+ startLocator(locatorHostName, locatorPort, "");
+ });
// find locators
String locators = locatorHostName + "[" + locatorPort + "]";
@@ -222,18 +223,19 @@ public class RestAPIsWithSSLDUnitTest extends LocatorTestBase {
client.invoke(()-> closeCache());
}
- private void closeCache() {
- Cache cache = CacheFactory.getAnyInstance();
+ private void closeCache()
+ {
+ GemFireCacheImpl cache = GemFireCacheImpl.getInstance();
if (cache != null && !cache.isClosed()) {
cache.close();
cache.getDistributedSystem().disconnect();
}
}
- private void sslPropertyConverter(Properties oldProperties, Properties newProperties, String oldPropertyName, String newPropertyName) {
- String oldProperty = oldProperties.getProperty(oldPropertyName);
- if (oldProperty != null) {
- newProperties.setProperty((newPropertyName != null ? newPropertyName : oldPropertyName), oldProperty);
+ private void sslPropertyConverter(Properties properties, Properties newProperties, String propertyName, String newPropertyName) {
+ String property = properties.getProperty(propertyName);
+ if (property != null) {
+ newProperties.setProperty((newPropertyName != null ? newPropertyName : propertyName), property);
}
}
@@ -274,16 +276,14 @@ public class RestAPIsWithSSLDUnitTest extends LocatorTestBase {
props.setProperty(DistributionConfig.LOCATORS_NAME, locators);
props.setProperty("jmx-manager", "true");
props.setProperty("jmx-manager-start", "true");
- props.setProperty("http-service-port", "7070");
- props.setProperty("jmx-manager-port", "1099");
Cache cache = null;
configureSSL(props, sslProperties, false);
while (true) {
try {
DistributedSystem ds = getSystem(props);
- System.out.println("Creating cache with http-service-port " + props.getProperty("http-service-port")
- + " and jmx-manager-port " + props.getProperty("jmx-manager-port"));
+ System.out.println("Creating cache with http-service-port " + props.getProperty("http-service-port", "7070")
+ + " and jmx-manager-port " + props.getProperty("jmx-manager-port", "1099"));
cache = CacheFactory.create(ds);
System.out.println("Successfully created cache.");
break;
[07/10] incubator-geode git commit: GEODE-1367: Replaced server-port
with "0". Cleaned up some code with cleaner Lambda invocations. Replaced
waitOnCriterion with Awaitility
Posted by ud...@apache.org.
GEODE-1367: Replaced server-port with "0". Cleaned up some code with cleaner Lambda invocations. Replaced waitOnCriterion with Awaitility
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/8bc3481c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/8bc3481c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/8bc3481c
Branch: refs/heads/develop
Commit: 8bc3481c5fc406961306a80f7ff83f815ccb471e
Parents: 15e9854
Author: Udo Kohlmeyer <uk...@pivotal.io>
Authored: Tue May 17 05:02:42 2016 +1000
Committer: Udo Kohlmeyer <uk...@pivotal.io>
Committed: Tue May 24 03:37:40 2016 +1000
----------------------------------------------------------------------
...stAPIOnRegionFunctionExecutionDUnitTest.java | 77 +--
.../web/controllers/RestAPITestBase.java | 17 +-
.../RestAPIsAndInterOpsDUnitTest.java | 515 ++++++++-----------
...tAPIsOnGroupsFunctionExecutionDUnitTest.java | 6 +-
...APIsOnMembersFunctionExecutionDUnitTest.java | 19 +-
.../controllers/RestAPIsWithSSLDUnitTest.java | 498 +++++++-----------
.../internal/AutoConnectionSourceDUnitTest.java | 348 ++++++-------
.../AutoConnectionSourceImplJUnitTest.java | 5 -
.../internal/LocatorLoadBalancingDUnitTest.java | 471 ++++++++---------
.../cache/client/internal/LocatorTestBase.java | 408 +++++++--------
.../internal/cache/Bug47667DUnitTest.java | 42 +-
.../CacheServerManagementDUnitTest.java | 260 ++++------
12 files changed, 1146 insertions(+), 1520 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8bc3481c/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIOnRegionFunctionExecutionDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIOnRegionFunctionExecutionDUnitTest.java b/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIOnRegionFunctionExecutionDUnitTest.java
index fedd119..dc3986b 100644
--- a/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIOnRegionFunctionExecutionDUnitTest.java
+++ b/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIOnRegionFunctionExecutionDUnitTest.java
@@ -36,6 +36,7 @@ import java.util.*;
/**
* Dunit Test to validate OnRegion function execution with REST APIs
+ *
* @since 8.0
*/
@@ -58,22 +59,22 @@ public class RestAPIOnRegionFunctionExecutionDUnitTest extends RestAPITestBase {
if (context instanceof RegionFunctionContext) {
RegionFunctionContext rfContext = (RegionFunctionContext) context;
rfContext.getDataSet().getCache().getLogger()
- .info("Executing function : SampleFunction.execute(hasResult=true) with filter: " + rfContext.getFilter() + " " + rfContext);
+ .info("Executing function : SampleFunction.execute(hasResult=true) with filter: " + rfContext.getFilter() + " " + rfContext);
if (rfContext.getArguments() instanceof Boolean) {
/* return rfContext.getArguments(); */
if (hasResult()) {
rfContext.getResultSender().lastResult(
- (Serializable) rfContext.getArguments());
+ (Serializable) rfContext.getArguments());
} else {
rfContext
- .getDataSet()
- .getCache()
- .getLogger()
- .info(
- "Executing function : SampleFunction.execute(hasResult=false) " + rfContext);
+ .getDataSet()
+ .getCache()
+ .getLogger()
+ .info(
+ "Executing function : SampleFunction.execute(hasResult=false) " + rfContext);
while (true && !rfContext.getDataSet().isDestroyed()) {
rfContext.getDataSet().getCache().getLogger()
- .info("For Bug43513 ");
+ .info("For Bug43513 ");
try {
Thread.sleep(100);
} catch (InterruptedException ie) {
@@ -90,7 +91,7 @@ public class RestAPIOnRegionFunctionExecutionDUnitTest extends RestAPITestBase {
Thread.sleep(2000);
} catch (InterruptedException e) {
rfContext.getDataSet().getCache().getLogger()
- .warning("Got Exception : Thread Interrupted" + e);
+ .warning("Got Exception : Thread Interrupted" + e);
}
}
if (PartitionRegionHelper.isPartitionedRegion(rfContext.getDataSet())) {
@@ -100,11 +101,11 @@ public class RestAPIOnRegionFunctionExecutionDUnitTest extends RestAPITestBase {
* rfContext).get(key);
*/
rfContext.getResultSender().lastResult(
- (Serializable) PartitionRegionHelper.getLocalDataForContext(
- rfContext).get(key));
+ (Serializable) PartitionRegionHelper.getLocalDataForContext(
+ rfContext).get(key));
} else {
rfContext.getResultSender().lastResult(
- (Serializable) rfContext.getDataSet().get(key));
+ (Serializable) rfContext.getDataSet().get(key));
}
/* return (Serializable)rfContext.getDataSet().get(key); */
} else if (rfContext.getArguments() instanceof Set) {
@@ -112,7 +113,7 @@ public class RestAPIOnRegionFunctionExecutionDUnitTest extends RestAPITestBase {
ArrayList vals = new ArrayList();
for (Object key : origKeys) {
Object val = PartitionRegionHelper
- .getLocalDataForContext(rfContext).get(key);
+ .getLocalDataForContext(rfContext).get(key);
if (val != null) {
vals.add(val);
}
@@ -136,10 +137,10 @@ public class RestAPIOnRegionFunctionExecutionDUnitTest extends RestAPITestBase {
DistributedSystem ds = InternalDistributedSystem.getAnyInstance();
LogWriter logger = ds.getLogWriter();
logger.info("Executing in SampleFunction on Server : "
- + ds.getDistributedMember() + "with Context : " + context);
+ + ds.getDistributedMember() + "with Context : " + context);
while (ds.isConnected()) {
logger
- .fine("Just executing function in infinite loop for Bug43513");
+ .fine("Just executing function in infinite loop for Bug43513");
try {
Thread.sleep(250);
} catch (InterruptedException e) {
@@ -182,7 +183,7 @@ public class RestAPIOnRegionFunctionExecutionDUnitTest extends RestAPITestBase {
private boolean createPeerWithPR() {
RegionAttributes ra = PartitionedRegionTestHelper.createRegionAttrsForPR(0,
- 10);
+ 10);
AttributesFactory raf = new AttributesFactory(ra);
PartitionAttributesImpl pa = new PartitionAttributesImpl();
pa.setAll(ra.getPartitionAttributes());
@@ -231,10 +232,10 @@ public class RestAPIOnRegionFunctionExecutionDUnitTest extends RestAPITestBase {
}
private void createCacheAndRegisterFunction() {
- restURLs.add(vm0.invoke("createCacheWithGroups", () -> createCacheWithGroups(vm0, null)));
- restURLs.add(vm1.invoke("createCacheWithGroups", () -> createCacheWithGroups(vm1, null)));
- restURLs.add(vm2.invoke("createCacheWithGroups", () -> createCacheWithGroups(vm2, null)));
- restURLs.add(vm3.invoke("createCacheWithGroups", () -> createCacheWithGroups(vm3, null)));
+ restURLs.add(vm0.invoke("createCacheWithGroups", () -> createCacheWithGroups(vm0.getHost().getHostName(), null)));
+ restURLs.add(vm1.invoke("createCacheWithGroups", () -> createCacheWithGroups(vm1.getHost().getHostName(), null)));
+ restURLs.add(vm2.invoke("createCacheWithGroups", () -> createCacheWithGroups(vm2.getHost().getHostName(), null)));
+ restURLs.add(vm3.invoke("createCacheWithGroups", () -> createCacheWithGroups(vm3.getHost().getHostName(), null)));
vm0.invoke("registerFunction(new SampleFunction())", () -> FunctionService.registerFunction(new SampleFunction()));
vm1.invoke("registerFunction(new SampleFunction())", () -> FunctionService.registerFunction(new SampleFunction()));
@@ -283,7 +284,7 @@ public class RestAPIOnRegionFunctionExecutionDUnitTest extends RestAPITestBase {
createPeersWithPR(vm0, vm1, vm2, vm3);
- vm3.invoke("populatePRRegion",() -> populatePRRegion());
+ vm3.invoke("populatePRRegion", () -> populatePRRegion());
CloseableHttpResponse response = executeFunctionThroughRestCall("SampleFunction", PR_REGION_NAME, "key2", null, null, null);
assertEquals(200, response.getStatusLine().getStatusCode());
@@ -305,16 +306,16 @@ public class RestAPIOnRegionFunctionExecutionDUnitTest extends RestAPITestBase {
createPeersWithPR(vm0, vm1, vm2, vm3);
- vm3.invoke("populatePRRegion",() -> populatePRRegion());
+ vm3.invoke("populatePRRegion", () -> populatePRRegion());
String jsonBody = "["
- + "{\"@type\": \"double\",\"@value\": 210}"
- + ",{\"@type\":\"com.gemstone.gemfire.rest.internal.web.controllers.Item\","
- + "\"itemNo\":\"599\",\"description\":\"Part X Free on Bumper Offer\","
- + "\"quantity\":\"2\","
- + "\"unitprice\":\"5\","
- + "\"totalprice\":\"10.00\"}"
- + "]";
+ + "{\"@type\": \"double\",\"@value\": 210}"
+ + ",{\"@type\":\"com.gemstone.gemfire.rest.internal.web.controllers.Item\","
+ + "\"itemNo\":\"599\",\"description\":\"Part X Free on Bumper Offer\","
+ + "\"quantity\":\"2\","
+ + "\"unitprice\":\"5\","
+ + "\"totalprice\":\"10.00\"}"
+ + "]";
CloseableHttpResponse response = executeFunctionThroughRestCall("SampleFunction", PR_REGION_NAME, null, jsonBody, null, null);
assertEquals(200, response.getStatusLine().getStatusCode());
@@ -324,15 +325,15 @@ public class RestAPIOnRegionFunctionExecutionDUnitTest extends RestAPITestBase {
assertCorrectInvocationCount(4, vm0, vm1, vm2, vm3);
jsonBody = "["
- + "{\"@type\": \"double\",\"@value\": 220}"
- + ",{\"@type\":\"com.gemstone.gemfire.rest.internal.web.controllers.Item\","
- + "\"itemNo\":\"609\",\"description\":\"Part X Free on Bumper Offer\","
- + "\"quantity\":\"3\","
- + "\"unitprice\":\"9\","
- + "\"totalprice\":\"12.00\"}"
- + "]";
-
- resetInvocationCounts(vm0,vm1,vm2,vm3);
+ + "{\"@type\": \"double\",\"@value\": 220}"
+ + ",{\"@type\":\"com.gemstone.gemfire.rest.internal.web.controllers.Item\","
+ + "\"itemNo\":\"609\",\"description\":\"Part X Free on Bumper Offer\","
+ + "\"quantity\":\"3\","
+ + "\"unitprice\":\"9\","
+ + "\"totalprice\":\"12.00\"}"
+ + "]";
+
+ resetInvocationCounts(vm0, vm1, vm2, vm3);
response = executeFunctionThroughRestCall("SampleFunction", PR_REGION_NAME, "key2", jsonBody, null, null);
assertEquals(200, response.getStatusLine().getStatusCode());
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8bc3481c/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPITestBase.java
----------------------------------------------------------------------
diff --git a/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPITestBase.java b/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPITestBase.java
index fc71fd8..4d0abcd 100644
--- a/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPITestBase.java
+++ b/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPITestBase.java
@@ -1,4 +1,5 @@
/*
+/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
@@ -66,7 +67,6 @@ public class RestAPITestBase extends DistributedTestCase {
if (agentUtil.findWarLocation("geode-web-api") == null) {
fail("unable to locate geode-web-api WAR file");
}
- Wait.pause(1000); // TODO: replace this with Awaitility
final Host host = Host.getHost(0);
vm0 = host.getVM(0);
vm1 = host.getVM(1);
@@ -102,11 +102,10 @@ public class RestAPITestBase extends DistributedTestCase {
}
}
- public String createCacheWithGroups(VM vm, final String groups) {
+ public String createCacheWithGroups(final String hostName, final String groups) {
RestAPITestBase test = new RestAPITestBase(getTestMethodName());
- final String hostName = vm.getHost().getHostName();
- final int serverPort = AvailablePortHelper.getRandomAvailableTCPPort();
+ final int servicePort = AvailablePortHelper.getRandomAvailableTCPPort();
Properties props = new Properties();
@@ -116,12 +115,12 @@ public class RestAPITestBase extends DistributedTestCase {
props.setProperty(DistributionConfig.START_DEV_REST_API_NAME, "true");
props.setProperty(DistributionConfig.HTTP_SERVICE_BIND_ADDRESS_NAME, hostName);
- props.setProperty(DistributionConfig.HTTP_SERVICE_PORT_NAME, String.valueOf(serverPort));
+ props.setProperty(DistributionConfig.HTTP_SERVICE_PORT_NAME, String.valueOf(servicePort));
InternalDistributedSystem ds = test.getSystem(props);
cache = CacheFactory.create(ds);
- String restEndPoint = "http://" + hostName + ":" + serverPort + "/gemfire-api/v1";
+ String restEndPoint = "http://" + hostName + ":" + servicePort + "/gemfire-api/v1";
return restEndPoint;
}
@@ -132,7 +131,7 @@ public class RestAPITestBase extends DistributedTestCase {
protected CloseableHttpResponse executeFunctionThroughRestCall(String function, String regionName, String filter, String jsonBody, String groups,
String members) {
- LogWriterUtils.getLogWriter().info("Entering executeFunctionThroughRestCall");
+ System.out.println("Entering executeFunctionThroughRestCall");
try {
CloseableHttpClient httpclient = HttpClients.createDefault();
Random randomGenerator = new Random();
@@ -140,7 +139,7 @@ public class RestAPITestBase extends DistributedTestCase {
HttpPost post = createHTTPPost(function, regionName, filter, restURLIndex, groups, members, jsonBody);
- LogWriterUtils.getLogWriter().info("Request: POST " + post.toString());
+ System.out.println("Request: POST " + post.toString());
return httpclient.execute(post);
} catch (Exception e) {
throw new RuntimeException("unexpected exception", e);
@@ -185,7 +184,7 @@ public class RestAPITestBase extends DistributedTestCase {
try {
String httpResponseString = processHttpResponse(response);
response.close();
- LogWriterUtils.getLogWriter().info("Response : " + httpResponseString);
+ System.out.println("Response : " + httpResponseString);
//verify function execution result
JSONArray resultArray = new JSONArray(httpResponseString);
assertEquals(resultArray.length(), expectedServerResponses);
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8bc3481c/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsAndInterOpsDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsAndInterOpsDUnitTest.java b/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsAndInterOpsDUnitTest.java
index 5b0eb17..dd0a99c 100644
--- a/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsAndInterOpsDUnitTest.java
+++ b/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsAndInterOpsDUnitTest.java
@@ -16,38 +16,7 @@
*/
package com.gemstone.gemfire.rest.internal.web.controllers;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.util.Arrays;
-import java.util.Calendar;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
-import org.apache.http.HttpEntity;
-import org.apache.http.client.ClientProtocolException;
-import org.apache.http.client.methods.CloseableHttpResponse;
-import org.apache.http.client.methods.HttpDelete;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.client.methods.HttpPut;
-import org.apache.http.entity.StringEntity;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClients;
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
-
-import com.gemstone.gemfire.cache.AttributesFactory;
-import com.gemstone.gemfire.cache.Cache;
-import com.gemstone.gemfire.cache.CacheFactory;
-import com.gemstone.gemfire.cache.DataPolicy;
-import com.gemstone.gemfire.cache.Region;
-import com.gemstone.gemfire.cache.RegionAttributes;
-import com.gemstone.gemfire.cache.RegionFactory;
-import com.gemstone.gemfire.cache.RegionShortcut;
+import com.gemstone.gemfire.cache.*;
import com.gemstone.gemfire.cache.client.ClientCache;
import com.gemstone.gemfire.cache.client.ClientCacheFactory;
import com.gemstone.gemfire.cache.client.ClientRegionFactory;
@@ -64,17 +33,31 @@ import com.gemstone.gemfire.management.ManagementTestBase;
import com.gemstone.gemfire.pdx.PdxInstance;
import com.gemstone.gemfire.test.dunit.Host;
import com.gemstone.gemfire.test.dunit.NetworkUtils;
-import com.gemstone.gemfire.test.dunit.SerializableCallable;
-import com.gemstone.gemfire.test.dunit.SerializableRunnable;
import com.gemstone.gemfire.test.dunit.VM;
+import org.apache.http.HttpEntity;
+import org.apache.http.client.ClientProtocolException;
+import org.apache.http.client.methods.*;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.util.*;
/**
* Dunit Test containing inter - operations between REST Client and Gemfire cache client
+ *
* @since 8.0
*/
public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
-
+
private static final long serialVersionUID = -254776154266339226L;
private ManagementTestBase helper;
@@ -89,7 +72,7 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
private static final String[] PARAM_QUERY_IDS_ARRAY = { "findAllPeople",
"filterByGender", "filterByLastName" };
-
+
final static String QUERY_ARGS = "["
+ "{"
+ "\"@type\": \"string\","
@@ -98,29 +81,29 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
+ "]";
final static String PERSON_AS_JSON_CAS = "{"
- + "\"@old\" :"
+ + "\"@old\" :"
+ "{"
+ "\"@type\": \"com.gemstone.gemfire.rest.internal.web.controllers.Person\","
+ "\"id\": 101," + " \"firstName\": \"Mithali\","
+ " \"middleName\": \"Dorai\"," + " \"lastName\": \"Raj\","
- + " \"birthDate\": \"12/04/1982\"," + "\"gender\": \"FEMALE\""
+ + " \"birthDate\": \"12/04/1982\"," + "\"gender\": \"FEMALE\""
+ "},"
- + "\"@new\" :"
+ + "\"@new\" :"
+ "{"
+ "\"@type\": \"com.gemstone.gemfire.rest.internal.web.controllers.Person\","
+ "\"id\": 1101," + " \"firstName\": \"Virat\","
+ " \"middleName\": \"Premkumar\"," + " \"lastName\": \"Kohli\","
- + " \"birthDate\": \"08/11/1988\"," + "\"gender\": \"MALE\""
+ + " \"birthDate\": \"08/11/1988\"," + "\"gender\": \"MALE\""
+ "}"
+ "}";
-
+
final static String PERSON_AS_JSON_REPLACE = "{"
+ "\"@type\": \"com.gemstone.gemfire.rest.internal.web.controllers.Person\","
+ "\"id\": 501," + " \"firstName\": \"Barack\","
+ " \"middleName\": \"Hussein\"," + " \"lastName\": \"Obama\","
- + " \"birthDate\": \"04/08/1961\"," + "\"gender\": \"MALE\""
+ + " \"birthDate\": \"04/08/1961\"," + "\"gender\": \"MALE\""
+ "}";
-
+
private static final String PERSON_LIST_AS_JSON = "[" + "{"
+ "\"@type\": \"com.gemstone.gemfire.rest.internal.web.controllers.Person\","
+ "\"id\": 3," + " \"firstName\": \"Nishka3\","
@@ -178,86 +161,49 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
protected final void postTearDownLocatorTestBase() throws Exception {
disconnectAllFromDS();
}
-
- public static String startBridgeServerWithRestServiceOnInVM(VM vm, final String[] groups, final String locators, final String[] regions, final ServerLoadProbe probe) {
-
- final String hostName = vm.getHost().getHostName();
- final int serverPort = AvailablePortHelper.getRandomAvailableTCPPort();
-
+
+ public String startBridgeServerWithRestService(final String hostName, final String[] groups, final String locators
+ , final String[] regions, final ServerLoadProbe probe)
+ throws IOException {
+
//create Cache of given VM and start HTTP service with REST APIs service
- new RestAPIsAndInterOpsDUnitTest("temp").startBridgeServer(hostName, serverPort, groups, locators, regions, probe);
-
- String restEndPoint = "http://" + hostName + ":" + serverPort + "/gemfire-api/v1";
+ int serverPort = startBridgeServer(groups, locators, regions, probe);
+
+ String restEndPoint = "http://" + hostName + ":" + serverPort + "/gemfire-api/v1";
return restEndPoint;
}
-
- @SuppressWarnings("deprecation")
- protected int startBridgeServer(String hostName, int restServicerPort, final String[] groups, final String locators, final String[] regions, final ServerLoadProbe probe) {
-
- Properties props = new Properties();
- props.setProperty(DistributionConfig.MCAST_PORT_NAME, String.valueOf(0));
- props.setProperty(DistributionConfig.LOCATORS_NAME, locators);
- props.setProperty(DistributionConfig.START_DEV_REST_API_NAME, "true");
- props.setProperty(DistributionConfig.HTTP_SERVICE_BIND_ADDRESS_NAME, hostName);
- props.setProperty(DistributionConfig.HTTP_SERVICE_PORT_NAME, String.valueOf(restServicerPort));
-
- DistributedSystem ds = getSystem(props);
- Cache cache = CacheFactory.create(ds);
- ((GemFireCacheImpl)cache).setReadSerialized(true);
- AttributesFactory factory = new AttributesFactory();
-
- factory.setEnableBridgeConflation(true);
- factory.setDataPolicy(DataPolicy.REPLICATE);
- RegionAttributes attrs = factory.create();
- for(int i = 0; i < regions.length; i++) {
- cache.createRegion(regions[i], attrs);
- }
-
- CacheServer server = cache.addCacheServer();
- final int serverPort = AvailablePortHelper.getRandomAvailableTCPPort();
- server.setPort(serverPort);
- server.setGroups(groups);
- server.setLoadProbe(probe);
- try {
- server.start();
- } catch (IOException e) {
- e.printStackTrace();
- }
- remoteObjects.put(CACHE_KEY, cache);
- return new Integer(serverPort);
- }
-
- public static void doPutsInClientCache() {
+
+ public void doPutsInClientCache() {
ClientCache cache = GemFireCacheImpl.getInstance();
assertNotNull(cache);
Region<String, Object> region = cache.getRegion(PEOPLE_REGION_NAME);
-
+
//put person object
final Person person1 = new Person(101L, "Mithali", "Dorai", "Raj", DateTimeUtils.createDate(1982, Calendar.DECEMBER, 4), Gender.FEMALE);
final Person person2 = new Person(102L, "Sachin", "Ramesh", "Tendulkar", DateTimeUtils.createDate(1975, Calendar.DECEMBER, 14), Gender.MALE);
final Person person3 = new Person(103L, "Saurabh", "Baburav", "Ganguly", DateTimeUtils.createDate(1972, Calendar.AUGUST, 29), Gender.MALE);
final Person person4 = new Person(104L, "Rahul", "subrymanyam", "Dravid", DateTimeUtils.createDate(1979, Calendar.MARCH, 17), Gender.MALE);
final Person person5 = new Person(105L, "Jhulan", "Chidambaram", "Goswami", DateTimeUtils.createDate(1983, Calendar.NOVEMBER, 25), Gender.FEMALE);
-
+
region.put("1", person1);
region.put("2", person2);
region.put("3", person3);
region.put("4", person4);
region.put("5", person5);
-
+
final Person person6 = new Person(101L, "Rahul", "Rajiv", "Gndhi", DateTimeUtils.createDate(1970, Calendar.MAY, 14), Gender.MALE);
final Person person7 = new Person(102L, "Narendra", "Damodar", "Modi", DateTimeUtils.createDate(1945, Calendar.DECEMBER, 24), Gender.MALE);
final Person person8 = new Person(103L, "Atal", "Bihari", "Vajpayee", DateTimeUtils.createDate(1920, Calendar.AUGUST, 9), Gender.MALE);
final Person person9 = new Person(104L, "Soniya", "Rajiv", "Gandhi", DateTimeUtils.createDate(1929, Calendar.MARCH, 27), Gender.FEMALE);
final Person person10 = new Person(104L, "Priyanka", "Robert", "Gandhi", DateTimeUtils.createDate(1973, Calendar.APRIL, 15), Gender.FEMALE);
-
+
final Person person11 = new Person(104L, "Murali", "Manohar", "Joshi", DateTimeUtils.createDate(1923, Calendar.APRIL, 25), Gender.MALE);
final Person person12 = new Person(104L, "Lalkrishna", "Parmhansh", "Advani", DateTimeUtils.createDate(1910, Calendar.JANUARY, 01), Gender.MALE);
final Person person13 = new Person(104L, "Shushma", "kumari", "Swaraj", DateTimeUtils.createDate(1943, Calendar.AUGUST, 10), Gender.FEMALE);
final Person person14 = new Person(104L, "Arun", "raman", "jetly", DateTimeUtils.createDate(1942, Calendar.OCTOBER, 27), Gender.MALE);
final Person person15 = new Person(104L, "Amit", "kumar", "shah", DateTimeUtils.createDate(1958, Calendar.DECEMBER, 21), Gender.MALE);
final Person person16 = new Person(104L, "Shila", "kumari", "Dixit", DateTimeUtils.createDate(1927, Calendar.FEBRUARY, 15), Gender.FEMALE);
-
+
Map<String, Object> userMap = new HashMap<String, Object>();
userMap.put("6", person6);
userMap.put("7", person7);
@@ -270,15 +216,15 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
userMap.put("14", person14);
userMap.put("15", person15);
userMap.put("16", person16);
-
+
region.putAll(userMap);
-
+
if (cache != null)
cache.getLogger().info("Gemfire Cache Client: Puts successfully done");
-
+
}
- public static void doQueryOpsUsingRestApis(String restEndpoint) {
+ public void doQueryOpsUsingRestApis(String restEndpoint) {
String currentQueryOp = null;
try {
// Query TestCase-1 :: Prepare parameterized Queries
@@ -291,8 +237,7 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
CloseableHttpResponse createNamedQueryResponse = httpclient.execute(post);
assertEquals(createNamedQueryResponse.getStatusLine().getStatusCode(), 201);
assertNotNull(createNamedQueryResponse.getEntity());
- createNamedQueryResponse.close();
-
+ createNamedQueryResponse.close();
post = new HttpPost(restEndpoint + findPeopleByGenderQuery);
post.addHeader("Content-Type", "application/json");
@@ -301,7 +246,6 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
assertEquals(createNamedQueryResponse.getStatusLine().getStatusCode(), 201);
assertNotNull(createNamedQueryResponse.getEntity());
createNamedQueryResponse.close();
-
post = new HttpPost(restEndpoint + findPeopleByLastNameQuery);
post.addHeader("Content-Type", "application/json");
@@ -311,7 +255,7 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
assertNotNull(createNamedQueryResponse.getEntity());
createNamedQueryResponse.close();
}
-
+
// Query TestCase-2 :: List all parameterized queries
{
currentQueryOp = "listAllQueries";
@@ -320,7 +264,7 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
CloseableHttpResponse listAllQueriesResponse = httpclient.execute(get);
assertEquals(listAllQueriesResponse.getStatusLine().getStatusCode(), 200);
assertNotNull(listAllQueriesResponse.getEntity());
-
+
HttpEntity entity = listAllQueriesResponse.getEntity();
InputStream content = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(
@@ -331,19 +275,19 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
sb.append(line);
}
listAllQueriesResponse.close();
-
+
// Check whether received response contains expected query IDs.
JSONObject jsonObject = new JSONObject(sb.toString());
JSONArray jsonArray = jsonObject.getJSONArray("queries");
for (int i = 0; i < jsonArray.length(); i++) {
assertTrue(
- "PREPARE_PARAMETERIZED_QUERY: function IDs are not matched",
- Arrays.asList(PARAM_QUERY_IDS_ARRAY).contains(
- jsonArray.getJSONObject(i).getString("id")));
+ "PREPARE_PARAMETERIZED_QUERY: function IDs are not matched",
+ Arrays.asList(PARAM_QUERY_IDS_ARRAY).contains(
+ jsonArray.getJSONObject(i).getString("id")));
}
- }
-
+ }
+
// Query TestCase-3 :: Run the specified named query passing in scalar values for query parameters.
{
currentQueryOp = "filterByLastName";
@@ -351,41 +295,35 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
HttpPost post = new HttpPost(restEndpoint + "/queries/filterByLastName");
post.addHeader("Content-Type", "application/json");
post.addHeader("Accept", "application/json");
- StringEntity entity = new StringEntity(QUERY_ARGS);
+ StringEntity entity = new StringEntity(QUERY_ARGS);
post.setEntity(entity);
CloseableHttpResponse runNamedQueryResponse = httpclient.execute(post);
assertEquals(200, runNamedQueryResponse.getStatusLine().getStatusCode());
assertNotNull(runNamedQueryResponse.getEntity());
}
- } catch ( Exception e ) {
+ } catch (Exception e) {
throw new RuntimeException("unexpected exception", e);
}
}
-
- public static void verifyUpdatesInClientCache() {
+
+ public void verifyUpdatesInClientCache() {
ClientCache cache = GemFireCacheImpl.getInstance();
assertNotNull(cache);
Region<String, Object> region = cache.getRegion(PEOPLE_REGION_NAME);
-
+
{
- Person expectedPerson = new Person(3L, "Nishka3", "Nilkanth3", "Patel3", DateTimeUtils.createDate(2009, Calendar.JULY, 31), Gender.FEMALE );
+ Person expectedPerson = new Person(3L, "Nishka3", "Nilkanth3", "Patel3", DateTimeUtils.createDate(2009, Calendar.JULY, 31), Gender.FEMALE);
Object value = region.get("3");
if (value instanceof PdxInstance) {
- PdxInstance pi3 = (PdxInstance) value;
+ PdxInstance pi3 = (PdxInstance) value;
Person actualPerson = (Person) pi3.getObject();
- assertEquals(actualPerson.getId(), expectedPerson.getId());
- assertEquals(actualPerson.getFirstName(), expectedPerson.getFirstName());
- assertEquals(actualPerson.getMiddleName(), expectedPerson.getMiddleName());
- assertEquals(actualPerson.getLastName(), expectedPerson.getLastName());
- assertEquals(actualPerson.getBirthDate(), expectedPerson.getBirthDate());
- assertEquals(actualPerson.getGender(), expectedPerson.getGender());
+ comparePersonObject(expectedPerson, actualPerson);
} else if (value instanceof Person) {
fail("VerifyUpdatesInClientCache, Get on key 3, Expected to get value of type PdxInstance ");
}
}
-
-
+
//TODO: uncomment it once following issue encountered in put?op=CAS is fixed or document the issue
// CAS functionality is not working in following test case
// step-1: Java client, Region.put("K", A);
@@ -404,43 +342,47 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
}
}
*/
-
+
//verify update on key "2"
{
- Person expectedPerson = new Person(501L, "Barack", "Hussein", "Obama", DateTimeUtils.createDate(1961, Calendar.APRIL, 8), Gender.MALE );
+ Person expectedPerson = new Person(501L, "Barack", "Hussein", "Obama", DateTimeUtils.createDate(1961, Calendar.APRIL, 8), Gender.MALE);
Object value = region.get("2");
if (value instanceof PdxInstance) {
- PdxInstance pi3 = (PdxInstance) value;
+ PdxInstance pi3 = (PdxInstance) value;
Person actualPerson = (Person) pi3.getObject();
- assertEquals(actualPerson.getId(), expectedPerson.getId());
- assertEquals(actualPerson.getFirstName(), expectedPerson.getFirstName());
- assertEquals(actualPerson.getMiddleName(), expectedPerson.getMiddleName());
- assertEquals(actualPerson.getLastName(), expectedPerson.getLastName());
- assertEquals(actualPerson.getBirthDate(), expectedPerson.getBirthDate());
- assertEquals(actualPerson.getGender(), expectedPerson.getGender());
- }else {
+ comparePersonObject(expectedPerson, actualPerson);
+ } else {
fail("VerifyUpdatesInClientCache, Get on key 2, Expected to get value of type PdxInstance ");
}
}
-
+
//verify Deleted key "13"
{
Object obj = region.get("13");
assertEquals(obj, null);
-
+
obj = region.get("14");
assertEquals(obj, null);
-
+
obj = region.get("15");
assertEquals(obj, null);
-
+
obj = region.get("16");
assertEquals(obj, null);
}
-
+
+ }
+
+ private void comparePersonObject(Person expectedPerson, Person actualPerson) {
+ assertEquals(actualPerson.getId(), expectedPerson.getId());
+ assertEquals(actualPerson.getFirstName(), expectedPerson.getFirstName());
+ assertEquals(actualPerson.getMiddleName(), expectedPerson.getMiddleName());
+ assertEquals(actualPerson.getLastName(), expectedPerson.getLastName());
+ assertEquals(actualPerson.getBirthDate(), expectedPerson.getBirthDate());
+ assertEquals(actualPerson.getGender(), expectedPerson.getGender());
}
-
- public static void doUpdatesUsingRestApis(String restEndpoint) {
+
+ public void doUpdatesUsingRestApis(String restEndpoint) {
//UPdate keys using REST calls
{
@@ -457,7 +399,7 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
throw new RuntimeException("unexpected exception", e);
}
}
-
+
//Delete Single keys
{
try {
@@ -470,7 +412,7 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
throw new RuntimeException("unexpected exception", e);
}
}
-
+
//Delete set of keys
{
try {
@@ -483,7 +425,7 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
throw new RuntimeException("unexpected exception", e);
}
}
-
+
//REST put?op=CAS for key 1
/*
try {
@@ -499,15 +441,15 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
}catch (HttpServerErrorException se) {
fail("Caught HttpServerErrorException while doing put with op=cas");
}
- */
-
+ */
+
//REST put?op=REPLACE for key 2
{
/*HttpEntity<Object> entity = new HttpEntity<Object>(PERSON_AS_JSON_REPLACE, headers);
ResponseEntity<String> result = RestTestUtils.getRestTemplate().exchange(
restEndpoint + "/People/2?op=replace",
HttpMethod.PUT, entity, String.class);*/
-
+
try {
CloseableHttpClient httpclient = HttpClients.createDefault();
HttpPut put = new HttpPut(restEndpoint
@@ -522,14 +464,14 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
}
}
}
-
- public static void fetchRestServerEndpoints(String restEndpoint) {
+
+ public void fetchRestServerEndpoints(String restEndpoint) {
HttpGet get = new HttpGet(restEndpoint + "/servers");
get.addHeader("Content-Type", "application/json");
get.addHeader("Accept", "application/json");
CloseableHttpClient httpclient = HttpClients.createDefault();
CloseableHttpResponse response;
-
+
try {
response = httpclient.execute(get);
HttpEntity entity = response.getEntity();
@@ -541,18 +483,18 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
while ((line = reader.readLine()) != null) {
str.append(line);
}
-
+
//validate the satus code
assertEquals(response.getStatusLine().getStatusCode(), 200);
-
- if(response.getStatusLine().getStatusCode() == 200) {
+
+ if (response.getStatusLine().getStatusCode() == 200) {
JSONArray jsonArray = new JSONArray(str.toString());
-
+
//verify total number of REST service endpoints in DS
assertEquals(jsonArray.length(), 2);
}
-
- } catch (ClientProtocolException e) {
+
+ } catch (ClientProtocolException e) {
e.printStackTrace();
fail(" Rest Request should not have thrown ClientProtocolException!");
} catch (IOException e) {
@@ -562,26 +504,26 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
e.printStackTrace();
fail(" Rest Request should not have thrown JSONException!");
}
-
+
}
-
- public static void doGetsUsingRestApis(String restEndpoint) {
-
+
+ public void doGetsUsingRestApis(String restEndpoint) {
+
//HttpHeaders headers = setAcceptAndContentTypeHeaders();
String currentOperation = null;
JSONObject jObject;
JSONArray jArray;
- try {
+ try {
//1. Get on key="1" and validate result.
{
currentOperation = "GET on key 1";
-
+
HttpGet get = new HttpGet(restEndpoint + "/People/1");
get.addHeader("Content-Type", "application/json");
get.addHeader("Accept", "application/json");
CloseableHttpClient httpclient = HttpClients.createDefault();
CloseableHttpResponse response = httpclient.execute(get);
-
+
HttpEntity entity = response.getEntity();
InputStream content = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(
@@ -591,27 +533,26 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
while ((line = reader.readLine()) != null) {
str.append(line);
}
-
+
jObject = new JSONObject(str.toString());
-
+
assertEquals(jObject.get("id"), 101);
assertEquals(jObject.get("firstName"), "Mithali");
assertEquals(jObject.get("middleName"), "Dorai");
assertEquals(jObject.get("lastName"), "Raj");
assertEquals(jObject.get("gender"), Gender.FEMALE.name());
}
-
+
//2. Get on key="16" and validate result.
{
currentOperation = "GET on key 16";
-
HttpGet get = new HttpGet(restEndpoint + "/People/16");
get.addHeader("Content-Type", "application/json");
get.addHeader("Accept", "application/json");
CloseableHttpClient httpclient = HttpClients.createDefault();
CloseableHttpResponse response = httpclient.execute(get);
-
+
HttpEntity entity = response.getEntity();
InputStream content = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(
@@ -621,17 +562,16 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
while ((line = reader.readLine()) != null) {
str.append(line);
}
-
+
jObject = new JSONObject(str.toString());
-
-
+
assertEquals(jObject.get("id"), 104);
assertEquals(jObject.get("firstName"), "Shila");
assertEquals(jObject.get("middleName"), "kumari");
assertEquals(jObject.get("lastName"), "Dixit");
assertEquals(jObject.get("gender"), Gender.FEMALE.name());
}
-
+
//3. Get all (getAll) entries in Region
{
@@ -642,7 +582,7 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
CloseableHttpResponse result = httpclient.execute(get);
assertEquals(result.getStatusLine().getStatusCode(), 200);
assertNotNull(result.getEntity());
-
+
HttpEntity entity = result.getEntity();
InputStream content = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(
@@ -653,16 +593,16 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
sb.append(line);
}
result.close();
-
+
try {
jObject = new JSONObject(sb.toString());
jArray = jObject.getJSONArray("People");
assertEquals(jArray.length(), 16);
} catch (JSONException e) {
- fail(" Rest Request ::" + currentOperation + " :: should not have thrown JSONException ");
+ fail(" Rest Request ::" + currentOperation + " :: should not have thrown JSONException ");
}
}
-
+
//4. GetAll?limit=10 (10 entries) and verify results
{
HttpGet get = new HttpGet(restEndpoint + "/People?limit=10");
@@ -672,7 +612,7 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
CloseableHttpResponse response = httpclient.execute(get);
assertEquals(response.getStatusLine().getStatusCode(), 200);
assertNotNull(response.getEntity());
-
+
HttpEntity entity = response.getEntity();
InputStream content = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(
@@ -682,19 +622,19 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
while ((line = reader.readLine()) != null) {
str.append(line);
}
-
+
try {
jObject = new JSONObject(str.toString());
jArray = jObject.getJSONArray("People");
assertEquals(jArray.length(), 10);
} catch (JSONException e) {
- fail(" Rest Request ::" + currentOperation + " :: should not have thrown JSONException ");
+ fail(" Rest Request ::" + currentOperation + " :: should not have thrown JSONException ");
}
}
-
+
//5. Get keys - List all keys in region
- {
-
+ {
+
HttpGet get = new HttpGet(restEndpoint + "/People/keys");
get.addHeader("Content-Type", "application/json");
get.addHeader("Accept", "application/json");
@@ -702,7 +642,7 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
CloseableHttpResponse response = httpclient.execute(get);
assertEquals(response.getStatusLine().getStatusCode(), 200);
assertNotNull(response.getEntity());
-
+
HttpEntity entity = response.getEntity();
InputStream content = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(
@@ -712,19 +652,19 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
while ((line = reader.readLine()) != null) {
str.append(line);
}
-
+
try {
jObject = new JSONObject(str.toString());
- jArray = jObject.getJSONArray("keys");
+ jArray = jObject.getJSONArray("keys");
assertEquals(jArray.length(), 16);
} catch (JSONException e) {
- fail(" Rest Request ::" + currentOperation + " :: should not have thrown JSONException ");
+ fail(" Rest Request ::" + currentOperation + " :: should not have thrown JSONException ");
}
- }
-
+ }
+
//6. Get data for specific keys
- {
-
+ {
+
HttpGet get = new HttpGet(restEndpoint + "/People/1,3,5,7,9,11");
get.addHeader("Content-Type", "application/json");
get.addHeader("Accept", "application/json");
@@ -732,7 +672,7 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
CloseableHttpResponse response = httpclient.execute(get);
assertEquals(response.getStatusLine().getStatusCode(), 200);
assertNotNull(response.getEntity());
-
+
HttpEntity entity = response.getEntity();
InputStream content = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(
@@ -742,53 +682,44 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
while ((line = reader.readLine()) != null) {
str.append(line);
}
-
+
try {
jObject = new JSONObject(str.toString());
jArray = jObject.getJSONArray("People");
assertEquals(jArray.length(), 6);
-
+
} catch (JSONException e) {
- fail(" Rest Request ::" + currentOperation + " :: should not have thrown JSONException ");
+ fail(" Rest Request ::" + currentOperation + " :: should not have thrown JSONException ");
}
- }
- }catch ( Exception e ) {
- throw new RuntimeException("unexpected exception", e);
+ }
+ } catch (Exception e) {
+ throw new RuntimeException("unexpected exception", e);
}
}
- public static void createRegionInClientCache() {
+ public void createRegionInClientCache() {
ClientCache cache = GemFireCacheImpl.getInstance();
assertNotNull(cache);
ClientRegionFactory<String, Object> crf = cache
.createClientRegionFactory(ClientRegionShortcut.PROXY);
- Region<String, Object> region = crf.create(PEOPLE_REGION_NAME);
-
- }
-
- public static void createRegionInManager() {
- Cache cache = GemFireCacheImpl.getInstance();
- assertNotNull(cache);
-
- RegionFactory<String, Object> rf = cache
- .createRegionFactory(RegionShortcut.REPLICATE);
- Region<String, Object> region = rf.create(PEOPLE_REGION_NAME);
+ crf.create(PEOPLE_REGION_NAME);
}
- public static void createRegionInPeerServer() {
+ public void createRegion() {
Cache cache = GemFireCacheImpl.getInstance();
assertNotNull(cache);
- RegionFactory<String, Object> rf = cache
+ RegionFactory<String, Object> regionFactory = cache
.createRegionFactory(RegionShortcut.REPLICATE);
- Region<String, Object> region = rf.create(PEOPLE_REGION_NAME);
+ regionFactory.create(PEOPLE_REGION_NAME);
}
/**
- * InterOps Test between REST-client, Peer Cache Client and Client Cache
+ * InterOps Test between REST-client, Peer Cache Client and Client Cache
+ *
* @throws Exception
*/
-
+
public void testInterOpsWithReplicatedRegion() throws Exception {
final Host host = Host.getHost(0);
@@ -799,47 +730,50 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
// start locator
int locatorPort = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
-
- startLocatorInVM(locator, locatorPort, "");
-
+
+ String locatorHostName = NetworkUtils.getServerHostName(locator.getHost());
+ locator.invoke("Start Locator", () -> startLocator(locatorHostName, locatorPort, ""));
+
// find locators
- String locators = NetworkUtils.getServerHostName(locator.getHost()) + "[" + locatorPort
- + "]";
+ String locators = locatorHostName + "[" + locatorPort + "]";
// start manager (peer cache)
- int managerPort = startManagerInVM(manager,/* groups */null, locators,
- new String[] {REGION_NAME}, CacheServer.DEFAULT_LOAD_PROBE);
-
+ manager.invoke("Start manager", () -> startManager(null, locators,
+ new String[] { REGION_NAME }, CacheServer.DEFAULT_LOAD_PROBE));
+
//start startCacheServer With RestService enabled
- String restEndpoint = (String)server.invoke(RestAPIsAndInterOpsDUnitTest.class,
- "startBridgeServerWithRestServiceOnInVM", new Object[] { server , null, locators, new String[] {REGION_NAME}, CacheServer.DEFAULT_LOAD_PROBE });
-
+ String restEndpoint = server.invoke("startBridgeServer with Rest Service", () -> {
+ final String hostName = NetworkUtils.getServerHostName(server.getHost());
+ final int restServicePort = AvailablePortHelper.getRandomAvailableTCPPort();
+ startBridgeServer(hostName, restServicePort, null, locators, new String[] { REGION_NAME }, null);
+ return "https://" + hostName + ":" + restServicePort + "/gemfire-api/v1";
+ });
+
// create a client cache
- createClientCacheInVM(client, NetworkUtils.getServerHostName(locator.getHost()),
- locatorPort);
-
+ client.invoke("Create Client", () -> createClientCache(NetworkUtils.getServerHostName(locator.getHost()), locatorPort));
+
// create region in Manager, peer cache and Client cache nodes
- manager.invoke(() -> RestAPIsAndInterOpsDUnitTest.createRegionInManager());
- server.invoke(() -> RestAPIsAndInterOpsDUnitTest.createRegionInPeerServer());
- client.invoke(() -> RestAPIsAndInterOpsDUnitTest.createRegionInClientCache());
-
+ manager.invoke("create region", () -> createRegion());
+ server.invoke("create region", () -> createRegion());
+ client.invoke("create region", () -> createRegionInClientCache());
+
// do some person puts from clientcache
- client.invoke(() -> RestAPIsAndInterOpsDUnitTest.doPutsInClientCache());
+ client.invoke("doPutsInClientCache", () -> doPutsInClientCache());
//TEST: fetch all available REST endpoints
- RestAPIsAndInterOpsDUnitTest.fetchRestServerEndpoints(restEndpoint);
-
+ fetchRestServerEndpoints(restEndpoint);
+
// Controller VM - config REST Client and make HTTP calls
- RestAPIsAndInterOpsDUnitTest.doGetsUsingRestApis(restEndpoint);
-
+ doGetsUsingRestApis(restEndpoint);
+
//update Data using REST APIs
- RestAPIsAndInterOpsDUnitTest.doUpdatesUsingRestApis(restEndpoint);
-
- client.invoke(() -> RestAPIsAndInterOpsDUnitTest.verifyUpdatesInClientCache());
+ doUpdatesUsingRestApis(restEndpoint);
+
+ client.invoke("verifyUpdatesInClientCache", () -> verifyUpdatesInClientCache());
//Querying
- RestAPIsAndInterOpsDUnitTest.doQueryOpsUsingRestApis(restEndpoint);
-
+ doQueryOpsUsingRestApis(restEndpoint);
+
// stop the client and make sure the bridge server notifies
// stopBridgeMemberVM(client);
helper.closeCache(locator);
@@ -849,66 +783,45 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
}
- private void createClientCacheInVM(VM vm, final String host, final int port) throws Exception {
- SerializableRunnable connect = new SerializableRunnable(
- "Start Cache client") {
- public void run() {
- // Connect using the GemFire locator and create a Caching_Proxy cache
- ClientCache c = new ClientCacheFactory().setPdxReadSerialized(true).addPoolLocator(host, port)
- .create();
-
- Region r = c.createClientRegionFactory(
- ClientRegionShortcut.PROXY).create(REGION_NAME);
- }
- };
+ private void createClientCache(final String host, final int port) throws Exception {
+ // Connect using the GemFire locator and create a Caching_Proxy cache
+ ClientCache cache = new ClientCacheFactory().setPdxReadSerialized(true).addPoolLocator(host, port).create();
+ cache.createClientRegionFactory(ClientRegionShortcut.PROXY).create(REGION_NAME);
+ }
+
+ private int startManager(final String[] groups,
+ final String locators, final String[] regions, final ServerLoadProbe probe) throws IOException {
+ Properties props = new Properties();
+ props.setProperty(DistributionConfig.MCAST_PORT_NAME, String.valueOf(0));
+ props.setProperty(DistributionConfig.LOCATORS_NAME, locators);
- if (vm == null) {
- connect.run();
- } else {
- vm.invoke(connect);
+ props.setProperty("jmx-manager", "true");
+ props.setProperty("jmx-manager-start", "true");
+ props.setProperty(DistributionConfig.JMX_MANAGER_PORT_NAME, "0");
+
+ final int httpPort = AvailablePortHelper.getRandomAvailableTCPPort();
+ //Set REST service related configuration
+ props.setProperty(DistributionConfig.START_DEV_REST_API_NAME, "true");
+ props.setProperty(DistributionConfig.HTTP_SERVICE_BIND_ADDRESS_NAME, "localhost");
+ props.setProperty(DistributionConfig.HTTP_SERVICE_PORT_NAME, String.valueOf(httpPort));
+
+ DistributedSystem ds = getSystem(props);
+ Cache cache = CacheFactory.create(ds);
+ AttributesFactory factory = new AttributesFactory();
+
+ factory.setEnableBridgeConflation(true);
+ factory.setDataPolicy(DataPolicy.REPLICATE);
+ factory.setScope(Scope.DISTRIBUTED_ACK);
+ RegionAttributes attrs = factory.create();
+ for (int i = 0; i < regions.length; i++) {
+ cache.createRegion(regions[i], attrs);
}
- }
+ CacheServer server = cache.addCacheServer();
+ server.setPort(0);
+ server.setGroups(groups);
+ server.setLoadProbe(probe);
+ server.start();
- private int startManagerInVM(VM vm, final String[] groups,
- final String locators, final String[] regions, final ServerLoadProbe probe) {
- SerializableCallable connect = new SerializableCallable("Start Manager ") {
- public Object call() throws IOException {
- Properties props = new Properties();
- props
- .setProperty(DistributionConfig.MCAST_PORT_NAME, String.valueOf(0));
- props.setProperty(DistributionConfig.LOCATORS_NAME, locators);
-
- props.setProperty("jmx-manager", "true");
- props.setProperty("jmx-manager-start", "true");
- props.setProperty(DistributionConfig.JMX_MANAGER_PORT_NAME, "0");
-
- final int httpPort = AvailablePortHelper.getRandomAvailableTCPPort();
- //Set REST service related configuration
- props.setProperty(DistributionConfig.START_DEV_REST_API_NAME, "true");
- props.setProperty(DistributionConfig.HTTP_SERVICE_BIND_ADDRESS_NAME, "localhost");
- props.setProperty(DistributionConfig.HTTP_SERVICE_PORT_NAME, String.valueOf(httpPort));
-
- DistributedSystem ds = getSystem(props);
- Cache cache = CacheFactory.create(ds);
- AttributesFactory factory = new AttributesFactory();
-
- factory.setEnableBridgeConflation(true);
- factory.setDataPolicy(DataPolicy.REPLICATE);
- RegionAttributes attrs = factory.create();
- for (int i = 0; i < regions.length; i++) {
- cache.createRegion(regions[i], attrs);
- }
- CacheServer server = cache.addCacheServer();
- final int serverPort = AvailablePortHelper.getRandomAvailableTCPPort();
- server.setPort(serverPort);
- server.setGroups(groups);
- server.setLoadProbe(probe);
- server.start();
-
- return new Integer(serverPort);
- }
- };
- Integer port = (Integer) vm.invoke(connect);
- return port.intValue();
+ return new Integer(server.getPort());
}
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8bc3481c/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsOnGroupsFunctionExecutionDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsOnGroupsFunctionExecutionDUnitTest.java b/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsOnGroupsFunctionExecutionDUnitTest.java
index 61e0925..a567700 100644
--- a/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsOnGroupsFunctionExecutionDUnitTest.java
+++ b/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsOnGroupsFunctionExecutionDUnitTest.java
@@ -39,9 +39,9 @@ public class RestAPIsOnGroupsFunctionExecutionDUnitTest extends RestAPITestBase
}
private void setupCacheWithGroupsAndFunction() {
- restURLs.add(vm0.invoke("createCacheWithGroups", () -> createCacheWithGroups(vm0, "g0,gm")));
- restURLs.add(vm1.invoke("createCacheWithGroups", () -> createCacheWithGroups(vm1, "g1")));
- restURLs.add(vm2.invoke("createCacheWithGroups", () -> createCacheWithGroups(vm2, "g0,g1")));
+ restURLs.add(vm0.invoke("createCacheWithGroups", () -> createCacheWithGroups(vm0.getHost().getHostName(), "g0,gm")));
+ restURLs.add(vm1.invoke("createCacheWithGroups", () -> createCacheWithGroups(vm1.getHost().getHostName(), "g1")));
+ restURLs.add(vm2.invoke("createCacheWithGroups", () -> createCacheWithGroups(vm2.getHost().getHostName(), "g0,g1")));
vm0.invoke("registerFunction(new OnGroupsFunction())", () -> FunctionService.registerFunction(new OnGroupsFunction()));
vm1.invoke("registerFunction(new OnGroupsFunction())", () -> FunctionService.registerFunction(new OnGroupsFunction()));
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8bc3481c/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsOnMembersFunctionExecutionDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsOnMembersFunctionExecutionDUnitTest.java b/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsOnMembersFunctionExecutionDUnitTest.java
index ca01830..fd6b312 100644
--- a/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsOnMembersFunctionExecutionDUnitTest.java
+++ b/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsOnMembersFunctionExecutionDUnitTest.java
@@ -44,7 +44,7 @@ public class RestAPIsOnMembersFunctionExecutionDUnitTest extends RestAPITestBase
@Override
public void execute(FunctionContext context) {
- LogWriterUtils.getLogWriter().fine("SWAP:1:executing OnMembersFunction:" + invocationCount);
+ System.out.println("SWAP:1:executing OnMembersFunction:" + invocationCount);
invocationCount++;
context.getResultSender().lastResult(Boolean.TRUE);
@@ -71,15 +71,14 @@ public class RestAPIsOnMembersFunctionExecutionDUnitTest extends RestAPITestBase
}
}
- private String createCacheAndRegisterFunction(VM vm, String memberName) {
- final String hostName = vm.getHost().getHostName();
- final int serverPort = AvailablePortHelper.getRandomAvailableTCPPort();
+ private String createCacheAndRegisterFunction(String hostName, String memberName) {
+ final int servicePort = AvailablePortHelper.getRandomAvailableTCPPort();
Properties props = new Properties();
props.setProperty(DistributionConfig.NAME_NAME, memberName);
props.setProperty(DistributionConfig.START_DEV_REST_API_NAME, "true");
props.setProperty(DistributionConfig.HTTP_SERVICE_BIND_ADDRESS_NAME, hostName);
- props.setProperty(DistributionConfig.HTTP_SERVICE_PORT_NAME, String.valueOf(serverPort));
+ props.setProperty(DistributionConfig.HTTP_SERVICE_PORT_NAME, String.valueOf(servicePort));
Cache c = null;
try {
@@ -91,7 +90,7 @@ public class RestAPIsOnMembersFunctionExecutionDUnitTest extends RestAPITestBase
c = CacheFactory.create(new RestAPIsOnMembersFunctionExecutionDUnitTest("temp").getSystem(props));
FunctionService.registerFunction(new OnMembersFunction());
- String restEndPoint = "http://" + hostName + ":" + serverPort + "/gemfire-api/v1";
+ String restEndPoint = "http://" + hostName + ":" + servicePort + "/gemfire-api/v1";
return restEndPoint;
}
@@ -115,10 +114,10 @@ public class RestAPIsOnMembersFunctionExecutionDUnitTest extends RestAPITestBase
}
private void createCacheForVMs() {
- restURLs.add(vm0.invoke(() -> createCacheAndRegisterFunction(vm0, "m1")));
- restURLs.add(vm1.invoke(() -> createCacheAndRegisterFunction(vm1, "m2")));
- restURLs.add(vm2.invoke(() -> createCacheAndRegisterFunction(vm2, "m3")));
- restURLs.add(vm3.invoke(() -> createCacheAndRegisterFunction(vm3, "m4")));
+ restURLs.add(vm0.invoke("createCacheAndRegisterFunction",() -> createCacheAndRegisterFunction(vm0.getHost().getHostName(), "m1")));
+ restURLs.add(vm1.invoke("createCacheAndRegisterFunction",() -> createCacheAndRegisterFunction(vm1.getHost().getHostName(), "m2")));
+ restURLs.add(vm2.invoke("createCacheAndRegisterFunction",() -> createCacheAndRegisterFunction(vm2.getHost().getHostName(), "m3")));
+ restURLs.add(vm3.invoke("createCacheAndRegisterFunction",() -> createCacheAndRegisterFunction(vm3.getHost().getHostName(), "m4")));
}
public void testFunctionExecutionEOnSelectedMembers() {
[02/10] incubator-geode git commit: GEODE-1367: Cleaned up some more
code.
Posted by ud...@apache.org.
GEODE-1367: Cleaned up some more code.
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/0ff390a0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/0ff390a0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/0ff390a0
Branch: refs/heads/develop
Commit: 0ff390a0f609f6b24858ac8142532dfcdd55c3e3
Parents: 8c23fab
Author: Udo Kohlmeyer <uk...@pivotal.io>
Authored: Thu May 19 07:34:15 2016 +1000
Committer: Udo Kohlmeyer <uk...@pivotal.io>
Committed: Tue May 24 03:37:40 2016 +1000
----------------------------------------------------------------------
.../controllers/RestAPIsWithSSLDUnitTest.java | 37 +++++++++++---------
1 file changed, 21 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/0ff390a0/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsWithSSLDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsWithSSLDUnitTest.java b/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsWithSSLDUnitTest.java
index 9578d35..50fb0df 100644
--- a/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsWithSSLDUnitTest.java
+++ b/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsWithSSLDUnitTest.java
@@ -61,15 +61,12 @@ public class RestAPIsWithSSLDUnitTest extends LocatorTestBase {
private static final long serialVersionUID = -254776154266339226L;
- private ManagementTestBase helper;
-
private final String PEOPLE_REGION_NAME = "People";
private File jks;
public RestAPIsWithSSLDUnitTest(String name) {
super(name);
- this.helper = new ManagementTestBase(name);
this.jks = findTrustedJKS();
}
@@ -173,9 +170,7 @@ public class RestAPIsWithSSLDUnitTest extends LocatorTestBase {
final int locatorPort = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
final String locatorHostName = NetworkUtils.getServerHostName(locator.getHost());
- locator.invoke("Start Locator", () -> {
- startLocator(locatorHostName, locatorPort, "");
- });
+ locator.invoke("Start Locator", () -> startLocator(locatorHostName, locatorPort, ""));
// find locators
String locators = locatorHostName + "[" + locatorPort + "]";
@@ -221,16 +216,24 @@ public class RestAPIsWithSSLDUnitTest extends LocatorTestBase {
// stop the client and make sure the bridge server notifies
// stopBridgeMemberVM(client);
- locator.invoke(()-> helper.closeCache());
- manager.invoke(()-> helper.closeCache());
- server.invoke(()-> helper.closeCache());
- client.invoke(()-> helper.closeCache());
+ locator.invoke(()-> closeCache());
+ manager.invoke(()-> closeCache());
+ server.invoke(()-> closeCache());
+ client.invoke(()-> closeCache());
+ }
+
+ private void closeCache() {
+ Cache cache = CacheFactory.getAnyInstance();
+ if (cache != null && !cache.isClosed()) {
+ cache.close();
+ cache.getDistributedSystem().disconnect();
+ }
}
- private void sslPropertyConverter(Properties properties, Properties newProperties, String propertyName, String newPropertyName) {
- String property = properties.getProperty(propertyName);
- if (property != null) {
- newProperties.setProperty((newPropertyName != null ? newPropertyName : propertyName), property);
+ private void sslPropertyConverter(Properties oldProperties, Properties newProperties, String oldPropertyName, String newPropertyName) {
+ String oldProperty = oldProperties.getProperty(oldPropertyName);
+ if (oldProperty != null) {
+ newProperties.setProperty((newPropertyName != null ? newPropertyName : oldPropertyName), oldProperty);
}
}
@@ -271,14 +274,16 @@ public class RestAPIsWithSSLDUnitTest extends LocatorTestBase {
props.setProperty(DistributionConfig.LOCATORS_NAME, locators);
props.setProperty("jmx-manager", "true");
props.setProperty("jmx-manager-start", "true");
+ props.setProperty("http-service-port", "7070");
+ props.setProperty("jmx-manager-port", "1099");
Cache cache = null;
configureSSL(props, sslProperties, false);
while (true) {
try {
DistributedSystem ds = getSystem(props);
- System.out.println("Creating cache with http-service-port " + props.getProperty("http-service-port", "7070")
- + " and jmx-manager-port " + props.getProperty("jmx-manager-port", "1099"));
+ System.out.println("Creating cache with http-service-port " + props.getProperty("http-service-port")
+ + " and jmx-manager-port " + props.getProperty("jmx-manager-port"));
cache = CacheFactory.create(ds);
System.out.println("Successfully created cache.");
break;
[03/10] incubator-geode git commit: GEODE-1367: More test fixes
Posted by ud...@apache.org.
GEODE-1367: More test fixes
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/19d430dc
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/19d430dc
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/19d430dc
Branch: refs/heads/develop
Commit: 19d430dc0afad85f44818cf46688fdccb41051c2
Parents: 8bc3481
Author: Udo Kohlmeyer <uk...@pivotal.io>
Authored: Tue May 17 09:12:41 2016 +1000
Committer: Udo Kohlmeyer <uk...@pivotal.io>
Committed: Tue May 24 03:37:40 2016 +1000
----------------------------------------------------------------------
.../RestAPIsAndInterOpsDUnitTest.java | 118 +++++++++++-------
.../internal/AutoConnectionSourceDUnitTest.java | 5 +-
.../cache/client/internal/LocatorTestBase.java | 123 +++++++++++++++----
3 files changed, 181 insertions(+), 65 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/19d430dc/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsAndInterOpsDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsAndInterOpsDUnitTest.java b/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsAndInterOpsDUnitTest.java
index dd0a99c..3717074 100644
--- a/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsAndInterOpsDUnitTest.java
+++ b/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsAndInterOpsDUnitTest.java
@@ -162,17 +162,53 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
disconnectAllFromDS();
}
- public String startBridgeServerWithRestService(final String hostName, final String[] groups, final String locators
- , final String[] regions, final ServerLoadProbe probe)
- throws IOException {
+ public String startBridgeServerWithRestService(final String hostName, final String[] groups, final String locators, final String[] regions,
+ final ServerLoadProbe probe) {
+ final int serverPort = AvailablePortHelper.getRandomAvailableTCPPort();
//create Cache of given VM and start HTTP service with REST APIs service
- int serverPort = startBridgeServer(groups, locators, regions, probe);
+ startBridgeServer(hostName, serverPort, groups, locators, regions, probe);
String restEndPoint = "http://" + hostName + ":" + serverPort + "/gemfire-api/v1";
return restEndPoint;
}
+ @SuppressWarnings("deprecation")
+ protected int startBridgeServer(String hostName, int restServicerPort, final String[] groups, final String locators, final String[] regions,
+ final ServerLoadProbe probe) {
+
+ Properties props = new Properties();
+ props.setProperty(DistributionConfig.MCAST_PORT_NAME, String.valueOf(0));
+ props.setProperty(DistributionConfig.LOCATORS_NAME, locators);
+ props.setProperty(DistributionConfig.START_DEV_REST_API_NAME, "true");
+ props.setProperty(DistributionConfig.HTTP_SERVICE_BIND_ADDRESS_NAME, hostName);
+ props.setProperty(DistributionConfig.HTTP_SERVICE_PORT_NAME, String.valueOf(restServicerPort));
+
+ DistributedSystem ds = getSystem(props);
+ Cache cache = CacheFactory.create(ds);
+ ((GemFireCacheImpl) cache).setReadSerialized(true);
+ AttributesFactory factory = new AttributesFactory();
+
+ factory.setEnableBridgeConflation(true);
+ factory.setDataPolicy(DataPolicy.REPLICATE);
+ RegionAttributes attrs = factory.create();
+ for (int i = 0; i < regions.length; i++) {
+ cache.createRegion(regions[i], attrs);
+ }
+
+ CacheServer server = cache.addCacheServer();
+ server.setPort(0);
+ server.setGroups(groups);
+ server.setLoadProbe(probe);
+ try {
+ server.start();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ remoteObjects.put(CACHE_KEY, cache);
+ return new Integer(server.getPort());
+ }
+
public void doPutsInClientCache() {
ClientCache cache = GemFireCacheImpl.getInstance();
assertNotNull(cache);
@@ -318,7 +354,12 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
if (value instanceof PdxInstance) {
PdxInstance pi3 = (PdxInstance) value;
Person actualPerson = (Person) pi3.getObject();
- comparePersonObject(expectedPerson, actualPerson);
+ assertEquals(actualPerson.getId(), expectedPerson.getId());
+ assertEquals(actualPerson.getFirstName(), expectedPerson.getFirstName());
+ assertEquals(actualPerson.getMiddleName(), expectedPerson.getMiddleName());
+ assertEquals(actualPerson.getLastName(), expectedPerson.getLastName());
+ assertEquals(actualPerson.getBirthDate(), expectedPerson.getBirthDate());
+ assertEquals(actualPerson.getGender(), expectedPerson.getGender());
} else if (value instanceof Person) {
fail("VerifyUpdatesInClientCache, Get on key 3, Expected to get value of type PdxInstance ");
}
@@ -350,7 +391,12 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
if (value instanceof PdxInstance) {
PdxInstance pi3 = (PdxInstance) value;
Person actualPerson = (Person) pi3.getObject();
- comparePersonObject(expectedPerson, actualPerson);
+ assertEquals(actualPerson.getId(), expectedPerson.getId());
+ assertEquals(actualPerson.getFirstName(), expectedPerson.getFirstName());
+ assertEquals(actualPerson.getMiddleName(), expectedPerson.getMiddleName());
+ assertEquals(actualPerson.getLastName(), expectedPerson.getLastName());
+ assertEquals(actualPerson.getBirthDate(), expectedPerson.getBirthDate());
+ assertEquals(actualPerson.getGender(), expectedPerson.getGender());
} else {
fail("VerifyUpdatesInClientCache, Get on key 2, Expected to get value of type PdxInstance ");
}
@@ -373,15 +419,6 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
}
- private void comparePersonObject(Person expectedPerson, Person actualPerson) {
- assertEquals(actualPerson.getId(), expectedPerson.getId());
- assertEquals(actualPerson.getFirstName(), expectedPerson.getFirstName());
- assertEquals(actualPerson.getMiddleName(), expectedPerson.getMiddleName());
- assertEquals(actualPerson.getLastName(), expectedPerson.getLastName());
- assertEquals(actualPerson.getBirthDate(), expectedPerson.getBirthDate());
- assertEquals(actualPerson.getGender(), expectedPerson.getGender());
- }
-
public void doUpdatesUsingRestApis(String restEndpoint) {
//UPdate keys using REST calls
{
@@ -702,16 +739,17 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
assertNotNull(cache);
ClientRegionFactory<String, Object> crf = cache
.createClientRegionFactory(ClientRegionShortcut.PROXY);
- crf.create(PEOPLE_REGION_NAME);
+ Region<String, Object> region = crf.create(PEOPLE_REGION_NAME);
+
}
public void createRegion() {
Cache cache = GemFireCacheImpl.getInstance();
assertNotNull(cache);
- RegionFactory<String, Object> regionFactory = cache
+ RegionFactory<String, Object> rf = cache
.createRegionFactory(RegionShortcut.REPLICATE);
- regionFactory.create(PEOPLE_REGION_NAME);
+ Region<String, Object> region = rf.create(PEOPLE_REGION_NAME);
}
/**
@@ -730,35 +768,30 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
// start locator
int locatorPort = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
-
- String locatorHostName = NetworkUtils.getServerHostName(locator.getHost());
- locator.invoke("Start Locator", () -> startLocator(locatorHostName, locatorPort, ""));
+ final String locatorHostName = NetworkUtils.getServerHostName(locator.getHost());
+ locator.invoke(() -> startLocator(locatorHostName, locatorPort, ""));
// find locators
String locators = locatorHostName + "[" + locatorPort + "]";
// start manager (peer cache)
- manager.invoke("Start manager", () -> startManager(null, locators,
- new String[] { REGION_NAME }, CacheServer.DEFAULT_LOAD_PROBE));
+ manager.invoke(() -> startManager(/* groups */null, locators, new String[] { REGION_NAME }, CacheServer.DEFAULT_LOAD_PROBE));
//start startCacheServer With RestService enabled
- String restEndpoint = server.invoke("startBridgeServer with Rest Service", () -> {
- final String hostName = NetworkUtils.getServerHostName(server.getHost());
- final int restServicePort = AvailablePortHelper.getRandomAvailableTCPPort();
- startBridgeServer(hostName, restServicePort, null, locators, new String[] { REGION_NAME }, null);
- return "https://" + hostName + ":" + restServicePort + "/gemfire-api/v1";
- });
+ final String serverHostName = server.getHost().getHostName();
+ String restEndpoint = (String) server.invoke(() -> startBridgeServerWithRestService(serverHostName, null, locators
+ , new String[] { REGION_NAME }, CacheServer.DEFAULT_LOAD_PROBE));
// create a client cache
- client.invoke("Create Client", () -> createClientCache(NetworkUtils.getServerHostName(locator.getHost()), locatorPort));
+ client.invoke(() -> createClientCache(locatorHostName, locatorPort));
// create region in Manager, peer cache and Client cache nodes
- manager.invoke("create region", () -> createRegion());
- server.invoke("create region", () -> createRegion());
- client.invoke("create region", () -> createRegionInClientCache());
+ manager.invoke(() -> createRegion());
+ server.invoke(() -> createRegion());
+ client.invoke(() -> createRegionInClientCache());
// do some person puts from clientcache
- client.invoke("doPutsInClientCache", () -> doPutsInClientCache());
+ client.invoke(() -> doPutsInClientCache());
//TEST: fetch all available REST endpoints
fetchRestServerEndpoints(restEndpoint);
@@ -769,7 +802,7 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
//update Data using REST APIs
doUpdatesUsingRestApis(restEndpoint);
- client.invoke("verifyUpdatesInClientCache", () -> verifyUpdatesInClientCache());
+ client.invoke(() -> verifyUpdatesInClientCache());
//Querying
doQueryOpsUsingRestApis(restEndpoint);
@@ -785,14 +818,18 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
private void createClientCache(final String host, final int port) throws Exception {
// Connect using the GemFire locator and create a Caching_Proxy cache
- ClientCache cache = new ClientCacheFactory().setPdxReadSerialized(true).addPoolLocator(host, port).create();
- cache.createClientRegionFactory(ClientRegionShortcut.PROXY).create(REGION_NAME);
+ ClientCache c = new ClientCacheFactory().setPdxReadSerialized(true).addPoolLocator(host, port)
+ .create();
+
+ c.createClientRegionFactory(
+ ClientRegionShortcut.PROXY).create(REGION_NAME);
}
- private int startManager(final String[] groups,
- final String locators, final String[] regions, final ServerLoadProbe probe) throws IOException {
+ private int startManager(final String[] groups, final String locators, final String[] regions
+ , final ServerLoadProbe probe) throws IOException {
Properties props = new Properties();
- props.setProperty(DistributionConfig.MCAST_PORT_NAME, String.valueOf(0));
+ props
+ .setProperty(DistributionConfig.MCAST_PORT_NAME, String.valueOf(0));
props.setProperty(DistributionConfig.LOCATORS_NAME, locators);
props.setProperty("jmx-manager", "true");
@@ -811,7 +848,6 @@ public class RestAPIsAndInterOpsDUnitTest extends LocatorTestBase {
factory.setEnableBridgeConflation(true);
factory.setDataPolicy(DataPolicy.REPLICATE);
- factory.setScope(Scope.DISTRIBUTED_ACK);
RegionAttributes attrs = factory.create();
for (int i = 0; i < regions.length; i++) {
cache.createRegion(regions[i], attrs);
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/19d430dc/geode-core/src/test/java/com/gemstone/gemfire/cache/client/internal/AutoConnectionSourceDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/cache/client/internal/AutoConnectionSourceDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/cache/client/internal/AutoConnectionSourceDUnitTest.java
index 0488e23..fddf108 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/cache/client/internal/AutoConnectionSourceDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/cache/client/internal/AutoConnectionSourceDUnitTest.java
@@ -317,7 +317,10 @@ public class AutoConnectionSourceDUnitTest extends LocatorTestBase {
//start a bridge client with a listener
addBridgeListener(clientVM);
- clientVM.invoke("StartBridgeClient", () -> startBridgeClient(null, NetworkUtils.getServerHostName(locatorVM.getHost()), locatorPort));
+ clientVM.invoke("StartBridgeClient", () -> {
+ String locatorHostName = NetworkUtils.getServerHostName(locatorVM.getHost());
+ startBridgeClient(null, locatorHostName, locatorPort);
+ });
// wait for client to connect
checkEndpoints(clientVM, new int[] { serverPort1 });
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/19d430dc/geode-core/src/test/java/com/gemstone/gemfire/cache/client/internal/LocatorTestBase.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/cache/client/internal/LocatorTestBase.java b/geode-core/src/test/java/com/gemstone/gemfire/cache/client/internal/LocatorTestBase.java
index 98e8835..54c819e 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/cache/client/internal/LocatorTestBase.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/cache/client/internal/LocatorTestBase.java
@@ -91,31 +91,52 @@ public abstract class LocatorTestBase extends DistributedTestCase {
}
protected void startLocator(final String hostName, final int locatorPort, final String otherLocators) {
+ final String testName = getUniqueName();
disconnectFromDS();
Properties props = new Properties();
props.setProperty(DistributionConfig.MCAST_PORT_NAME, String.valueOf(0));
props.setProperty(DistributionConfig.LOCATORS_NAME, otherLocators);
props.setProperty(DistributionConfig.LOG_LEVEL_NAME, LogWriterUtils.getDUnitLogLevel());
props.setProperty(DistributionConfig.ENABLE_CLUSTER_CONFIGURATION_NAME, "false");
- File logFile = new File(getUniqueName() + "-locator" + locatorPort + ".log");
try {
- InetAddress bindAddress = InetAddress.getByName(hostName);
- Locator locator = Locator.startLocatorAndDS(locatorPort, logFile, bindAddress, props);
+ File logFile = new File(testName + "-locator" + locatorPort + ".log");
+ InetAddress bindAddr = null;
+ try {
+ bindAddr = InetAddress.getByName(hostName);
+ } catch (UnknownHostException uhe) {
+ Assert.fail("While resolving bind address ", uhe);
+ }
+ Locator locator = Locator.startLocatorAndDS(locatorPort, logFile, bindAddr, props);
remoteObjects.put(LOCATOR_KEY, locator);
- } catch (UnknownHostException uhe) {
- Assert.fail("While resolving bind address ", uhe);
} catch (IOException ex) {
Assert.fail("While starting locator on port " + locatorPort, ex);
}
}
+ protected void startLocatorInVM(final VM vm, final int locatorPort, final String otherLocators) {
+ vm.invoke(new SerializableRunnable("Create Locator") {
+ public void run() {
+ String hostName = NetworkUtils.getServerHostName(vm.getHost());
+ startLocator(hostName, locatorPort, otherLocators);
+ }
+ });
+ }
+
+ protected void stopLocatorInVM(VM vm) {
+ vm.invoke(new SerializableRunnable("Stop Locator") {
+ public void run() {
+ stopLocator();
+ }
+ });
+ }
+
protected void stopLocator() {
Locator locator = (Locator) remoteObjects.remove(LOCATOR_KEY);
locator.stop();
}
- protected int startBridgeServer(String[] groups, String locators) throws IOException {
- return startBridgeServer(groups, locators, new String[] { REGION_NAME });
+ protected int startBridgeServerInVM(VM vm, String[] groups, String locators) {
+ return startBridgeServerInVM(vm, groups, locators, new String[] { REGION_NAME });
}
protected int addCacheServer(final String[] groups) throws IOException {
@@ -127,42 +148,59 @@ public abstract class LocatorTestBase extends DistributedTestCase {
return new Integer(server.getPort());
}
+ protected int addCacheServerInVM(VM vm, final String[] groups) {
+ SerializableCallable connect =
+ new SerializableCallable("Add Bridge server") {
+ public Object call() throws Exception {
+ return addCacheServer(groups);
+ }
+ };
+ Integer port = (Integer) vm.invoke(connect);
+ return port.intValue();
+ }
+
+ protected int startBridgeServerInVM(VM vm, final String[] groups, final String locators, final String[] regions) {
+ return startBridgeServerInVM(vm, groups, locators, regions, CacheServer.DEFAULT_LOAD_PROBE);
+ }
+
+ protected int startBridgeServerInVM(VM vm, final String[] groups, final String locators, final String[] regions, final ServerLoadProbe probe) {
+ SerializableCallable connect =
+ new SerializableCallable("Start bridge server") {
+ public Object call() throws IOException {
+ return startBridgeServer(groups, locators, regions, probe);
+ }
+ };
+ Integer port = (Integer) vm.invoke(connect);
+ return port.intValue();
+ }
+
+ protected int startBridgeServer(String[] groups, String locators) throws IOException {
+ return startBridgeServer(groups, locators, new String[] { REGION_NAME });
+ }
+
protected int startBridgeServer(final String[] groups, final String locators, final String[] regions) throws IOException {
return startBridgeServer(groups, locators, regions, CacheServer.DEFAULT_LOAD_PROBE);
}
protected int startBridgeServer(final String[] groups, final String locators, final String[] regions, final ServerLoadProbe probe)
throws IOException {
- return startBridgeServer(null, -1, groups, locators, regions, probe);
- }
-
- protected int startBridgeServer(final String hostName, final int restServicePort, final String[] groups
- , final String locators, final String[] regions, final ServerLoadProbe probe) throws IOException {
Properties props = new Properties();
props.setProperty(DistributionConfig.MCAST_PORT_NAME, "0");
props.setProperty(DistributionConfig.LOCATORS_NAME, locators);
- if (hostName != null) {
- props.setProperty(DistributionConfig.START_DEV_REST_API_NAME, "true");
- props.setProperty(DistributionConfig.HTTP_SERVICE_BIND_ADDRESS_NAME, hostName);
- props.setProperty(DistributionConfig.HTTP_SERVICE_PORT_NAME, String.valueOf(restServicePort));
- }
-
DistributedSystem ds = getSystem(props);
Cache cache = CacheFactory.create(ds);
AttributesFactory factory = new AttributesFactory();
factory.setScope(Scope.DISTRIBUTED_ACK);
factory.setEnableBridgeConflation(true);
factory.setDataPolicy(DataPolicy.REPLICATE);
- RegionAttributes attributes = factory.create();
+ RegionAttributes attrs = factory.create();
for (int i = 0; i < regions.length; i++) {
- cache.createRegion(regions[i], attributes);
+ cache.createRegion(regions[i], attrs);
}
CacheServer server = cache.addCacheServer();
server.setPort(0);
server.setGroups(groups);
- if (probe != null) {
- server.setLoadProbe(probe);
- }
+ server.setLoadProbe(probe);
server.start();
remoteObjects.put(CACHE_KEY, cache);
@@ -197,6 +235,45 @@ public abstract class LocatorTestBase extends DistributedTestCase {
return new Integer(server.getPort());
}
+ protected int startBridgeServerWithEmbeddedLocatorInVM(VM vm, final String[] groups, final String locators, final String[] regions,
+ final ServerLoadProbe probe) {
+ SerializableCallable connect =
+ new SerializableCallable("Start bridge server") {
+ public Object call() throws IOException {
+ return startBridgeServerWithEmbeddedLocator(groups, locators, regions, probe);
+ }
+ };
+ Integer port = (Integer) vm.invoke(connect);
+ return port.intValue();
+ }
+
+ protected void startBridgeClientInVM(VM vm, final String group, final String host, final int port) throws Exception {
+ startBridgeClientInVM(vm, group, host, port, new String[] { REGION_NAME });
+ }
+
+ protected void startBridgeClientInVM(VM vm, final String group, final String host, final int port, final String[] regions) throws Exception {
+ PoolFactoryImpl pf = new PoolFactoryImpl(null);
+ pf.addLocator(host, port)
+ .setServerGroup(group)
+ .setPingInterval(200)
+ .setSubscriptionEnabled(true)
+ .setSubscriptionRedundancy(-1);
+ startBridgeClientInVM(vm, pf.getPoolAttributes(), regions);
+ }
+
+ protected void startBridgeClientInVM(VM vm, final Pool pool, final String[] regions) throws Exception {
+ SerializableRunnable connect = new SerializableRunnable("Start bridge client") {
+ public void run() throws Exception {
+ startBridgeClient(pool, regions);
+ }
+ };
+ if (vm == null) {
+ connect.run();
+ } else {
+ vm.invoke(connect);
+ }
+ }
+
protected void startBridgeClient(final String group, final String host, final int port) throws Exception {
startBridgeClient(group, host, port, new String[] { REGION_NAME });
}
[06/10] incubator-geode git commit: GEODE-1367: Replaced server-port
with "0". Cleaned up some code with cleaner Lambda invocations. Replaced
waitOnCriterion with Awaitility
Posted by ud...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8bc3481c/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsWithSSLDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsWithSSLDUnitTest.java b/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsWithSSLDUnitTest.java
index 2e80ebf..331dc9d 100644
--- a/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsWithSSLDUnitTest.java
+++ b/geode-assembly/src/test/java/com/gemstone/gemfire/rest/internal/web/controllers/RestAPIsWithSSLDUnitTest.java
@@ -19,7 +19,6 @@ package com.gemstone.gemfire.rest.internal.web.controllers;
import com.gemstone.gemfire.cache.*;
import com.gemstone.gemfire.cache.client.ClientCache;
import com.gemstone.gemfire.cache.client.ClientCacheFactory;
-import com.gemstone.gemfire.cache.client.ClientRegionFactory;
import com.gemstone.gemfire.cache.client.ClientRegionShortcut;
import com.gemstone.gemfire.cache.client.internal.LocatorTestBase;
import com.gemstone.gemfire.cache.server.CacheServer;
@@ -31,7 +30,10 @@ import com.gemstone.gemfire.internal.AvailablePortHelper;
import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
import com.gemstone.gemfire.management.ManagementException;
import com.gemstone.gemfire.management.ManagementTestBase;
-import com.gemstone.gemfire.test.dunit.*;
+import com.gemstone.gemfire.test.dunit.Host;
+import com.gemstone.gemfire.test.dunit.IgnoredException;
+import com.gemstone.gemfire.test.dunit.NetworkUtils;
+import com.gemstone.gemfire.test.dunit.VM;
import com.gemstone.gemfire.util.test.TestUtil;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
@@ -47,13 +49,12 @@ import javax.net.ssl.SSLContext;
import java.io.*;
import java.net.BindException;
import java.security.KeyStore;
-import java.util.Calendar;
+import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
/**
- *
* @since 8.0
*/
public class RestAPIsWithSSLDUnitTest extends LocatorTestBase {
@@ -63,13 +64,13 @@ public class RestAPIsWithSSLDUnitTest extends LocatorTestBase {
private ManagementTestBase helper;
private final String PEOPLE_REGION_NAME = "People";
-
+
private File jks;
public RestAPIsWithSSLDUnitTest(String name) {
super(name);
this.helper = new ManagementTestBase(name);
- this.jks = findTrustedJKS();
+ this.jks = findTrustedJKS();
}
@@ -85,32 +86,22 @@ public class RestAPIsWithSSLDUnitTest extends LocatorTestBase {
}
private File findTrustedJKS() {
- if(jks == null){
+ if (jks == null) {
jks = new File(TestUtil.getResourcePath(RestAPIsWithSSLDUnitTest.class, "/ssl/trusted.keystore"));
}
return jks;
}
- public String startBridgeServerWithRestServiceOnInVM(final VM vm, final String locators, final String[] regions,
- final Properties sslProperties, final boolean clusterLevel) {
-
- final String hostName = vm.getHost().getHostName();
- final int serverPort = AvailablePortHelper.getRandomAvailableTCPPort();
- vm.invoke("startBridge", () -> startBridgeServer(hostName,serverPort,locators,regions,sslProperties,clusterLevel));
- return "https://" + hostName + ":" + serverPort + "/gemfire-api/v1";
-
- }
-
@SuppressWarnings("deprecation")
- protected int startBridgeServer(String hostName, int restServicerPort, final String locators, final String[] regions,
+ protected int startBridgeServer(String hostName, int restServicePort, final String locators, final String[] regions,
final Properties sslProperties, boolean clusterLevel) {
Properties props = new Properties();
- props.setProperty(DistributionConfig.MCAST_PORT_NAME, String.valueOf(0));
+ props.setProperty(DistributionConfig.MCAST_PORT_NAME, "0");
props.setProperty(DistributionConfig.LOCATORS_NAME, locators);
props.setProperty(DistributionConfig.START_DEV_REST_API_NAME, "true");
props.setProperty(DistributionConfig.HTTP_SERVICE_BIND_ADDRESS_NAME, hostName);
- props.setProperty(DistributionConfig.HTTP_SERVICE_PORT_NAME, String.valueOf(restServicerPort));
+ props.setProperty(DistributionConfig.HTTP_SERVICE_PORT_NAME, String.valueOf(restServicePort));
System.setProperty("javax.net.debug", "ssl,handshake");
configureSSL(props, sslProperties, clusterLevel);
@@ -118,8 +109,8 @@ public class RestAPIsWithSSLDUnitTest extends LocatorTestBase {
DistributedSystem ds = getSystem(props);
Cache cache = CacheFactory.create(ds);
((GemFireCacheImpl) cache).setReadSerialized(true);
- AttributesFactory factory = new AttributesFactory();
+ AttributesFactory factory = new AttributesFactory();
factory.setEnableBridgeConflation(true);
factory.setDataPolicy(DataPolicy.REPLICATE);
RegionAttributes attrs = factory.create();
@@ -128,81 +119,45 @@ public class RestAPIsWithSSLDUnitTest extends LocatorTestBase {
}
CacheServer server = cache.addCacheServer();
- final int serverPort = AvailablePortHelper.getRandomAvailableTCPPort();
- server.setPort(serverPort);
+ server.setPort(0);
try {
server.start();
} catch (IOException e) {
e.printStackTrace();
}
remoteObjects.put(CACHE_KEY, cache);
- return new Integer(serverPort);
+ return new Integer(server.getPort());
}
public void doPutsInClientCache() {
- ClientCache cache = GemFireCacheImpl.getInstance();
- assertNotNull(cache);
- Region<String, Object> region = cache.getRegion(PEOPLE_REGION_NAME);
+ ClientCache clientCache = ClientCacheFactory.getAnyInstance();
+ assertNotNull(clientCache);
+ Region<String, Object> region = clientCache.getRegion(PEOPLE_REGION_NAME);
// put person object
- final Person person1 = new Person(101L, "Mithali", "Dorai", "Raj", DateTimeUtils.createDate(1982,
- Calendar.DECEMBER, 4), Gender.FEMALE);
- final Person person2 = new Person(102L, "Sachin", "Ramesh", "Tendulkar", DateTimeUtils.createDate(1975,
- Calendar.DECEMBER, 14), Gender.MALE);
- final Person person3 = new Person(103L, "Saurabh", "Baburav", "Ganguly", DateTimeUtils.createDate(1972,
- Calendar.AUGUST, 29), Gender.MALE);
- final Person person4 = new Person(104L, "Rahul", "subrymanyam", "Dravid", DateTimeUtils.createDate(1979,
- Calendar.MARCH, 17), Gender.MALE);
- final Person person5 = new Person(105L, "Jhulan", "Chidambaram", "Goswami", DateTimeUtils.createDate(1983,
- Calendar.NOVEMBER, 25), Gender.FEMALE);
-
- region.put("1", person1);
- region.put("2", person2);
- region.put("3", person3);
- region.put("4", person4);
- region.put("5", person5);
-
- final Person person6 = new Person(101L, "Rahul", "Rajiv", "Gndhi",
- DateTimeUtils.createDate(1970, Calendar.MAY, 14), Gender.MALE);
- final Person person7 = new Person(102L, "Narendra", "Damodar", "Modi", DateTimeUtils.createDate(1945,
- Calendar.DECEMBER, 24), Gender.MALE);
- final Person person8 = new Person(103L, "Atal", "Bihari", "Vajpayee", DateTimeUtils.createDate(1920,
- Calendar.AUGUST, 9), Gender.MALE);
- final Person person9 = new Person(104L, "Soniya", "Rajiv", "Gandhi", DateTimeUtils.createDate(1929, Calendar.MARCH,
- 27), Gender.FEMALE);
- final Person person10 = new Person(104L, "Priyanka", "Robert", "Gandhi", DateTimeUtils.createDate(1973,
- Calendar.APRIL, 15), Gender.FEMALE);
-
- final Person person11 = new Person(104L, "Murali", "Manohar", "Joshi", DateTimeUtils.createDate(1923,
- Calendar.APRIL, 25), Gender.MALE);
- final Person person12 = new Person(104L, "Lalkrishna", "Parmhansh", "Advani", DateTimeUtils.createDate(1910,
- Calendar.JANUARY, 01), Gender.MALE);
- final Person person13 = new Person(104L, "Shushma", "kumari", "Swaraj", DateTimeUtils.createDate(1943,
- Calendar.AUGUST, 10), Gender.FEMALE);
- final Person person14 = new Person(104L, "Arun", "raman", "jetly", DateTimeUtils.createDate(1942, Calendar.OCTOBER,
- 27), Gender.MALE);
- final Person person15 = new Person(104L, "Amit", "kumar", "shah", DateTimeUtils.createDate(1958, Calendar.DECEMBER,
- 21), Gender.MALE);
- final Person person16 = new Person(104L, "Shila", "kumari", "Dixit", DateTimeUtils.createDate(1927,
- Calendar.FEBRUARY, 15), Gender.FEMALE);
+ region.put("1", new Person(101L, "Mithali", "Dorai", "Raj", new Date(), Gender.FEMALE));
+ region.put("2", new Person(102L, "Sachin", "Ramesh", "Tendulkar", new Date(), Gender.MALE));
+ region.put("3", new Person(103L, "Saurabh", "Baburav", "Ganguly", new Date(), Gender.MALE));
+ region.put("4", new Person(104L, "Rahul", "subrymanyam", "Dravid", new Date(), Gender.MALE));
+ region.put("5", new Person(105L, "Jhulan", "Chidambaram", "Goswami", new Date(), Gender.FEMALE));
Map<String, Object> userMap = new HashMap<String, Object>();
- userMap.put("6", person6);
- userMap.put("7", person7);
- userMap.put("8", person8);
- userMap.put("9", person9);
- userMap.put("10", person10);
- userMap.put("11", person11);
- userMap.put("12", person12);
- userMap.put("13", person13);
- userMap.put("14", person14);
- userMap.put("15", person15);
- userMap.put("16", person16);
+ userMap.put("6", new Person(101L, "Rahul", "Rajiv", "Gndhi", new Date(), Gender.MALE));
+ userMap.put("7", new Person(102L, "Narendra", "Damodar", "Modi", new Date(), Gender.MALE));
+ userMap.put("8", new Person(103L, "Atal", "Bihari", "Vajpayee", new Date(), Gender.MALE));
+ userMap.put("9", new Person(104L, "Soniya", "Rajiv", "Gandhi", new Date(), Gender.FEMALE));
+ userMap.put("10", new Person(104L, "Priyanka", "Robert", "Gandhi", new Date(), Gender.FEMALE));
+ userMap.put("11", new Person(104L, "Murali", "Manohar", "Joshi", new Date(), Gender.MALE));
+ userMap.put("12", new Person(104L, "Lalkrishna", "Parmhansh", "Advani", new Date(), Gender.MALE));
+ userMap.put("13", new Person(104L, "Shushma", "kumari", "Swaraj", new Date(), Gender.FEMALE));
+ userMap.put("14", new Person(104L, "Arun", "raman", "jetly", new Date(), Gender.MALE));
+ userMap.put("15", new Person(104L, "Amit", "kumar", "shah", new Date(), Gender.MALE));
+ userMap.put("16", new Person(104L, "Shila", "kumari", "Dixit", new Date(), Gender.FEMALE));
region.putAll(userMap);
- if (cache != null)
- cache.getLogger().info("Gemfire Cache Client: Puts successfully done");
+ if (clientCache != null)
+ clientCache.getLogger().info("Gemfire Cache Client: Puts successfully done");
}
@@ -217,24 +172,33 @@ public class RestAPIsWithSSLDUnitTest extends LocatorTestBase {
// start locator
int locatorPort = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
- startLocatorInVM(locator, locatorPort, "");
+ locator.invoke("Start Locator", () -> startLocator(NetworkUtils.getServerHostName(locator.getHost()), locatorPort, ""));
// find locators
String locators = NetworkUtils.getServerHostName(locator.getHost()) + "[" + locatorPort + "]";
// start manager (peer cache)
- startManagerInVM(manager, locators, new String[] { REGION_NAME }, sslProperties);
+ manager.invoke("StartManager", () -> startManager(locators, new String[] { REGION_NAME }, sslProperties));
// start startBridgeServer With RestService enabled
- String restEndpoint = startBridgeServerWithRestServiceOnInVM(server, locators, new String[] { REGION_NAME },
- sslProperties, clusterLevel);
+ String restEndpoint = server.invoke("startBridgeServerWithRestServiceOnInVM", () -> {
+ final String hostName = server.getHost().getHostName();
+ final int restServicePort = AvailablePortHelper.getRandomAvailableTCPPort();
+ startBridgeServer(hostName, restServicePort, locators, new String[] { REGION_NAME }, sslProperties, clusterLevel);
+ return "https://" + hostName + ":" + restServicePort + "/gemfire-api/v1";
+ });
// create a client cache
- createClientCacheInVM(client, NetworkUtils.getServerHostName(locator.getHost()), locatorPort);
+ client.invoke("Create ClientCache", () -> {
+ new ClientCacheFactory()
+ .setPdxReadSerialized(true)
+ .addPoolLocator(NetworkUtils.getServerHostName(locator.getHost()), locatorPort).create();
+ return null;
+ });
// create region in Manager, peer cache and Client cache nodes
- manager.invoke("createRegionInManager",() -> createRegionInManager());
- server.invoke("createRegionInPeerServer", () -> createRegionInPeerServer());
+ manager.invoke("createRegionInManager", () -> createRegionInCache());
+ server.invoke("createRegionInPeerServer", () -> createRegionInCache());
client.invoke("createRegionInClientCache", () -> createRegionInClientCache());
// do some person puts from clientcache
@@ -260,191 +224,114 @@ public class RestAPIsWithSSLDUnitTest extends LocatorTestBase {
helper.closeCache(client);
}
- private void createClientCacheInVM(VM vm, final String host, final int port) throws Exception {
- SerializableRunnable connect = new SerializableRunnable("Start Cache client") {
- public void run() {
- // Connect using the GemFire locator and create a Caching_Proxy cache
- ClientCache clientCache = new ClientCacheFactory().setPdxReadSerialized(true).addPoolLocator(host, port).create();
- clientCache.createClientRegionFactory(ClientRegionShortcut.PROXY).create(REGION_NAME);
- }
- };
-
- if (vm == null) {
- connect.run();
- } else {
- vm.invoke(connect);
+ private void sslPropertyConverter(Properties properties, Properties newProperties, String propertyName, String newPropertyName) {
+ String property = properties.getProperty(propertyName);
+ if (property != null) {
+ newProperties.setProperty((newPropertyName != null ? newPropertyName : propertyName), property);
}
}
private void configureSSL(Properties props, Properties sslProperties, boolean clusterLevel) {
- if(clusterLevel){
- if (sslProperties.getProperty(DistributionConfig.HTTP_SERVICE_SSL_ENABLED_NAME) != null) {
- props.setProperty(DistributionConfig.CLUSTER_SSL_ENABLED_NAME,
- sslProperties.getProperty(DistributionConfig.HTTP_SERVICE_SSL_ENABLED_NAME));
- }
- if (sslProperties.getProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_NAME) != null) {
- props.setProperty(DistributionConfig.CLUSTER_SSL_KEYSTORE_NAME,
- sslProperties.getProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_NAME));
- }
- if (sslProperties.getProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_PASSWORD_NAME) != null) {
- props.setProperty(DistributionConfig.CLUSTER_SSL_KEYSTORE_PASSWORD_NAME,
- sslProperties.getProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_PASSWORD_NAME));
- }
- if (sslProperties.getProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_TYPE_NAME) != null) {
- props.setProperty(DistributionConfig.CLUSTER_SSL_KEYSTORE_TYPE_NAME,
- sslProperties.getProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_TYPE_NAME));
- }
- if (sslProperties.getProperty(DistributionConfig.HTTP_SERVICE_SSL_PROTOCOLS_NAME) != null) {
- props.setProperty(DistributionConfig.CLUSTER_SSL_PROTOCOLS_NAME,
- sslProperties.getProperty(DistributionConfig.HTTP_SERVICE_SSL_PROTOCOLS_NAME));
- }
- if (sslProperties.getProperty(DistributionConfig.HTTP_SERVICE_SSL_REQUIRE_AUTHENTICATION_NAME) != null) {
- props.setProperty(DistributionConfig.CLUSTER_SSL_REQUIRE_AUTHENTICATION_NAME,
- sslProperties.getProperty(DistributionConfig.HTTP_SERVICE_SSL_REQUIRE_AUTHENTICATION_NAME));
- }
- if (sslProperties.getProperty(DistributionConfig.HTTP_SERVICE_SSL_TRUSTSTORE_NAME) != null) {
- props.setProperty(DistributionConfig.CLUSTER_SSL_TRUSTSTORE_NAME,
- sslProperties.getProperty(DistributionConfig.HTTP_SERVICE_SSL_TRUSTSTORE_NAME));
- }
- if (sslProperties.getProperty(DistributionConfig.HTTP_SERVICE_SSL_TRUSTSTORE_PASSWORD_NAME) != null) {
- props.setProperty(DistributionConfig.CLUSTER_SSL_TRUSTSTORE_PASSWORD_NAME,
- sslProperties.getProperty(DistributionConfig.HTTP_SERVICE_SSL_TRUSTSTORE_PASSWORD_NAME));
- }
-
- }else{
- if (sslProperties.getProperty(DistributionConfig.HTTP_SERVICE_SSL_ENABLED_NAME) != null) {
- props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_ENABLED_NAME,
- sslProperties.getProperty(DistributionConfig.HTTP_SERVICE_SSL_ENABLED_NAME));
- }
- if (sslProperties.getProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_NAME) != null) {
- props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_NAME,
- sslProperties.getProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_NAME));
- }
- if (sslProperties.getProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_PASSWORD_NAME) != null) {
- props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_PASSWORD_NAME,
- sslProperties.getProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_PASSWORD_NAME));
- }
- if (sslProperties.getProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_TYPE_NAME) != null) {
- props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_TYPE_NAME,
- sslProperties.getProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_TYPE_NAME));
- }
- if (sslProperties.getProperty(DistributionConfig.HTTP_SERVICE_SSL_PROTOCOLS_NAME) != null) {
- props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_PROTOCOLS_NAME,
- sslProperties.getProperty(DistributionConfig.HTTP_SERVICE_SSL_PROTOCOLS_NAME));
- }
- if (sslProperties.getProperty(DistributionConfig.HTTP_SERVICE_SSL_REQUIRE_AUTHENTICATION_NAME) != null) {
- props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_REQUIRE_AUTHENTICATION_NAME,
- sslProperties.getProperty(DistributionConfig.HTTP_SERVICE_SSL_REQUIRE_AUTHENTICATION_NAME));
- }
- if (sslProperties.getProperty(DistributionConfig.HTTP_SERVICE_SSL_TRUSTSTORE_NAME) != null) {
- props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_TRUSTSTORE_NAME,
- sslProperties.getProperty(DistributionConfig.HTTP_SERVICE_SSL_TRUSTSTORE_NAME));
- }
- if (sslProperties.getProperty(DistributionConfig.HTTP_SERVICE_SSL_TRUSTSTORE_PASSWORD_NAME) != null) {
- props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_TRUSTSTORE_PASSWORD_NAME,
- sslProperties.getProperty(DistributionConfig.HTTP_SERVICE_SSL_TRUSTSTORE_PASSWORD_NAME));
- }
-
+ if (clusterLevel) {
+ sslPropertyConverter(sslProperties, props, DistributionConfig.HTTP_SERVICE_SSL_ENABLED_NAME, DistributionConfig.CLUSTER_SSL_ENABLED_NAME);
+ sslPropertyConverter(sslProperties, props, DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_NAME, DistributionConfig.CLUSTER_SSL_KEYSTORE_NAME);
+ sslPropertyConverter(sslProperties, props, DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_PASSWORD_NAME,
+ DistributionConfig.CLUSTER_SSL_KEYSTORE_PASSWORD_NAME);
+ sslPropertyConverter(sslProperties, props, DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_TYPE_NAME, DistributionConfig.CLUSTER_SSL_KEYSTORE_TYPE_NAME);
+ sslPropertyConverter(sslProperties, props, DistributionConfig.HTTP_SERVICE_SSL_PROTOCOLS_NAME, DistributionConfig.CLUSTER_SSL_PROTOCOLS_NAME);
+ sslPropertyConverter(sslProperties, props, DistributionConfig.HTTP_SERVICE_SSL_REQUIRE_AUTHENTICATION_NAME,
+ DistributionConfig.CLUSTER_SSL_REQUIRE_AUTHENTICATION_NAME);
+ sslPropertyConverter(sslProperties, props, DistributionConfig.HTTP_SERVICE_SSL_TRUSTSTORE_NAME, DistributionConfig.CLUSTER_SSL_TRUSTSTORE_NAME);
+ sslPropertyConverter(sslProperties, props, DistributionConfig.HTTP_SERVICE_SSL_TRUSTSTORE_PASSWORD_NAME,
+ DistributionConfig.CLUSTER_SSL_TRUSTSTORE_PASSWORD_NAME);
+ } else {
+ sslPropertyConverter(sslProperties, props, DistributionConfig.HTTP_SERVICE_SSL_ENABLED_NAME, null);
+ sslPropertyConverter(sslProperties, props, DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_NAME, null);
+ sslPropertyConverter(sslProperties, props, DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_PASSWORD_NAME, null);
+ sslPropertyConverter(sslProperties, props, DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_TYPE_NAME, null);
+ sslPropertyConverter(sslProperties, props, DistributionConfig.HTTP_SERVICE_SSL_PROTOCOLS_NAME, null);
+ sslPropertyConverter(sslProperties, props, DistributionConfig.HTTP_SERVICE_SSL_REQUIRE_AUTHENTICATION_NAME, null);
+ sslPropertyConverter(sslProperties, props, DistributionConfig.HTTP_SERVICE_SSL_TRUSTSTORE_NAME, null);
+ sslPropertyConverter(sslProperties, props, DistributionConfig.HTTP_SERVICE_SSL_TRUSTSTORE_PASSWORD_NAME, null);
}
-
-
}
- private int startManagerInVM(VM vm, final String locators, final String[] regions, final Properties sslProperties) {
-
+ private void startManager(final String locators, final String[] regions, final Properties sslProperties) throws IOException {
+
IgnoredException.addIgnoredException("java.net.BindException");
IgnoredException.addIgnoredException("java.rmi.server.ExportException");
IgnoredException.addIgnoredException("com.gemstone.gemfire.management.ManagementException");
-
- SerializableCallable connect = new SerializableCallable("Start Manager ") {
- public Object call() throws IOException {
- Properties props = new Properties();
- props.setProperty(DistributionConfig.MCAST_PORT_NAME, String.valueOf(0));
- props.setProperty(DistributionConfig.LOCATORS_NAME, locators);
- props.setProperty("jmx-manager", "true");
- props.setProperty("jmx-manager-start", "true");
-
- Cache cache = null;
- while (true) {
- try {
- configureSSL(props, sslProperties, false);
- DistributedSystem ds = getSystem(props);
- System.out.println("Creating cache with http-service-port " + props.getProperty("http-service-port", "7070")
- + " and jmx-manager-port " + props.getProperty("jmx-manager-port", "1099"));
- cache = CacheFactory.create(ds);
- System.out.println("Successfully created cache.");
- break;
+
+ Properties props = new Properties();
+ props.setProperty(DistributionConfig.MCAST_PORT_NAME, "0");
+ props.setProperty(DistributionConfig.LOCATORS_NAME, locators);
+ props.setProperty("jmx-manager", "true");
+ props.setProperty("jmx-manager-start", "true");
+
+ Cache cache = null;
+ configureSSL(props, sslProperties, false);
+ while (true) {
+ try {
+ DistributedSystem ds = getSystem(props);
+ System.out.println("Creating cache with http-service-port " + props.getProperty("http-service-port", "7070")
+ + " and jmx-manager-port " + props.getProperty("jmx-manager-port", "1099"));
+ cache = CacheFactory.create(ds);
+ System.out.println("Successfully created cache.");
+ break;
+ } catch (ManagementException ex) {
+ if ((ex.getCause() instanceof BindException)
+ || (ex.getCause() != null && ex.getCause().getCause() instanceof BindException)) {
+ //close cache and disconnect
+ GemFireCacheImpl existingInstance = GemFireCacheImpl.getInstance();
+ if (existingInstance != null) {
+ existingInstance.close();
}
- catch (ManagementException ex) {
- if ((ex.getCause() instanceof BindException)
- || (ex.getCause() != null && ex.getCause().getCause() instanceof BindException)) {
- //close cache and disconnect
- GemFireCacheImpl existingInstance = GemFireCacheImpl.getInstance();
- if (existingInstance != null) {
- existingInstance.close();
- }
- InternalDistributedSystem ids = InternalDistributedSystem
- .getConnectedInstance();
- if (ids != null) {
- ids.disconnect();
- }
- //try a different port
- int httpServicePort = AvailablePortHelper.getRandomAvailableTCPPort();
- int jmxManagerPort = AvailablePortHelper.getRandomAvailableTCPPort();
- props.setProperty("http-service-port", Integer.toString(httpServicePort));
- props.setProperty("jmx-manager-port", Integer.toString(jmxManagerPort));
- System.out.println("Try a different http-service-port " + httpServicePort);
- System.out.println("Try a different jmx-manager-port " + jmxManagerPort);
- }
- else {
- throw ex;
- }
+ InternalDistributedSystem ids = InternalDistributedSystem
+ .getConnectedInstance();
+ if (ids != null) {
+ ids.disconnect();
}
- }
- AttributesFactory factory = new AttributesFactory();
-
- factory.setEnableBridgeConflation(true);
- factory.setDataPolicy(DataPolicy.REPLICATE);
- RegionAttributes attrs = factory.create();
- for (int i = 0; i < regions.length; i++) {
- cache.createRegion(regions[i], attrs);
+ //try a different port
+ int httpServicePort = AvailablePortHelper.getRandomAvailableTCPPort();
+ int jmxManagerPort = AvailablePortHelper.getRandomAvailableTCPPort();
+ props.setProperty("http-service-port", Integer.toString(httpServicePort));
+ props.setProperty("jmx-manager-port", Integer.toString(jmxManagerPort));
+ System.out.println("Try a different http-service-port " + httpServicePort);
+ System.out.println("Try a different jmx-manager-port " + jmxManagerPort);
+ } else {
+ throw ex;
}
- CacheServer server = cache.addCacheServer();
- final int serverPort = AvailablePortHelper.getRandomAvailableTCPPort();
- server.setPort(serverPort);
- server.start();
-
- return new Integer(serverPort);
}
- };
- Integer port = (Integer) vm.invoke(connect);
- return port.intValue();
+ }
+ AttributesFactory factory = new AttributesFactory();
+
+ factory.setEnableBridgeConflation(true);
+ factory.setDataPolicy(DataPolicy.REPLICATE);
+ RegionAttributes attrs = factory.create();
+ for (int i = 0; i < regions.length; i++) {
+ cache.createRegion(regions[i], attrs);
+ }
+ CacheServer server = cache.addCacheServer();
+ server.setPort(0);
+ server.start();
}
private void createRegionInClientCache() {
- ClientCache cache = GemFireCacheImpl.getInstance();
- assertNotNull(cache);
- ClientRegionFactory<String, Object> crf = cache.createClientRegionFactory(ClientRegionShortcut.PROXY);
- crf.create(PEOPLE_REGION_NAME);
+ ClientCache clientCache = ClientCacheFactory.getAnyInstance();
+ assertNotNull(clientCache);
+ clientCache.createClientRegionFactory(ClientRegionShortcut.PROXY).create(PEOPLE_REGION_NAME);
+ clientCache.createClientRegionFactory(ClientRegionShortcut.PROXY).create(REGION_NAME);
}
- private void createRegionInManager() {
+ private void createRegionInCache() {
Cache cache = GemFireCacheImpl.getInstance();
assertNotNull(cache);
- RegionFactory<String, Object> rf = cache.createRegionFactory(RegionShortcut.REPLICATE);
- rf.create(PEOPLE_REGION_NAME);
+ RegionFactory<String, Object> regionFactory = cache.createRegionFactory(RegionShortcut.REPLICATE);
+ regionFactory.create(PEOPLE_REGION_NAME);
}
- private void createRegionInPeerServer() {
- Cache cache = GemFireCacheImpl.getInstance();
- assertNotNull(cache);
- RegionFactory<String, Object> rf = cache.createRegionFactory(RegionShortcut.REPLICATE);
- rf.create(PEOPLE_REGION_NAME);
- }
-
- private CloseableHttpClient getSSLBasedHTTPClient(String algo) throws Exception {
-
+ private CloseableHttpClient getSSLBasedHTTPClient() throws Exception {
File jks = findTrustedJKS();
KeyStore clientKeys = KeyStore.getInstance("JKS");
@@ -454,7 +341,7 @@ public class RestAPIsWithSSLDUnitTest extends LocatorTestBase {
SSLContext sslcontext = SSLContexts.custom()
.loadTrustMaterial(clientKeys, new TrustSelfSignedStrategy())
.loadKeyMaterial(clientKeys, "password".toCharArray())
- .build();
+ .build();
// Host checking is disabled here , as tests might run on multiple hosts and
// host entries can not be assumed
@@ -466,7 +353,7 @@ public class RestAPIsWithSSLDUnitTest extends LocatorTestBase {
return httpclient;
}
- private void validateConnection(String restEndpoint, String algo) {
+ private void validateConnection(String restEndpoint) {
try {
// 1. Get on key="1" and validate result.
@@ -475,8 +362,7 @@ public class RestAPIsWithSSLDUnitTest extends LocatorTestBase {
get.addHeader("Content-Type", "application/json");
get.addHeader("Accept", "application/json");
-
- CloseableHttpClient httpclient = getSSLBasedHTTPClient(algo);
+ CloseableHttpClient httpclient = getSSLBasedHTTPClient();
CloseableHttpResponse response = httpclient.execute(get);
HttpEntity entity = response.getEntity();
@@ -501,7 +387,7 @@ public class RestAPIsWithSSLDUnitTest extends LocatorTestBase {
throw new RuntimeException("unexpected exception", e);
}
}
-
+
// Actual Tests starts here.
public void testSimpleSSL() throws Exception {
@@ -511,90 +397,80 @@ public class RestAPIsWithSSLDUnitTest extends LocatorTestBase {
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_NAME, jks.getCanonicalPath());
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_PASSWORD_NAME, "password");
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_TYPE_NAME, "JKS");
- String restEndpoint = startInfraWithSSL(props,false);
- validateConnection(restEndpoint, "SSL");
+ validateConnection(startInfraWithSSL(props, false));
}
-
- public void testSSLWithoutKeyStoreType() throws Exception {
-
+ public void testSSLWithoutKeyStoreType() throws Exception {
Properties props = new Properties();
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_ENABLED_NAME, "true");
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_NAME, jks.getCanonicalPath());
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_PASSWORD_NAME, "password");
-
- String restEndpoint = startInfraWithSSL(props, false);
- validateConnection(restEndpoint, "SSL");
+ validateConnection(startInfraWithSSL(props, false));
}
-
+
public void testSSLWithSSLProtocol() throws Exception {
Properties props = new Properties();
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_ENABLED_NAME, "true");
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_NAME, jks.getCanonicalPath());
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_PASSWORD_NAME, "password");
- props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_PROTOCOLS_NAME,"SSL");
-
- String restEndpoint = startInfraWithSSL(props, false);
- validateConnection(restEndpoint, "SSL");
+ props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_PROTOCOLS_NAME, "SSL");
+
+ validateConnection(startInfraWithSSL(props, false));
}
-
+
public void testSSLWithTLSProtocol() throws Exception {
Properties props = new Properties();
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_ENABLED_NAME, "true");
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_NAME, jks.getCanonicalPath());
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_PASSWORD_NAME, "password");
- props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_PROTOCOLS_NAME,"TLS");
-
- String restEndpoint = startInfraWithSSL(props, false);
- validateConnection(restEndpoint, "TLS");
+ props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_PROTOCOLS_NAME, "TLS");
+
+ validateConnection(startInfraWithSSL(props, false));
}
-
+
public void testSSLWithTLSv11Protocol() throws Exception {
Properties props = new Properties();
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_ENABLED_NAME, "true");
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_NAME, jks.getCanonicalPath());
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_PASSWORD_NAME, "password");
- props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_PROTOCOLS_NAME,"TLSv1.1");
-
- String restEndpoint = startInfraWithSSL(props, false);
- validateConnection(restEndpoint, "TLSv1.1");
+ props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_PROTOCOLS_NAME, "TLSv1.1");
+
+ validateConnection(startInfraWithSSL(props, false));
}
-
+
public void testSSLWithTLSv12Protocol() throws Exception {
Properties props = new Properties();
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_ENABLED_NAME, "true");
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_NAME, jks.getCanonicalPath());
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_PASSWORD_NAME, "password");
- props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_PROTOCOLS_NAME,"TLSv1.2");
-
- String restEndpoint = startInfraWithSSL(props, false);
- validateConnection(restEndpoint, "TLSv1.2");
+ props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_PROTOCOLS_NAME, "TLSv1.2");
+
+ validateConnection(startInfraWithSSL(props, false));
}
-
+
public void testWithMultipleProtocol() throws Exception {
Properties props = new Properties();
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_ENABLED_NAME, "true");
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_NAME, jks.getCanonicalPath());
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_PASSWORD_NAME, "password");
- props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_PROTOCOLS_NAME,"SSL,TLSv1.2");
-
- String restEndpoint = startInfraWithSSL(props, false);
- validateConnection(restEndpoint, "TLSv1.2");
+ props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_PROTOCOLS_NAME, "SSL,TLSv1.2");
+
+ validateConnection(startInfraWithSSL(props, false));
}
-
+
public void testSSLWithCipherSuite() throws Exception {
System.setProperty("javax.net.debug", "ssl");
@@ -602,57 +478,51 @@ public class RestAPIsWithSSLDUnitTest extends LocatorTestBase {
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_ENABLED_NAME, "true");
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_NAME, jks.getCanonicalPath());
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_PASSWORD_NAME, "password");
- props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_PROTOCOLS_NAME,"TLSv1.2");
-
+ props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_PROTOCOLS_NAME, "TLSv1.2");
+
SSLContext ssl = SSLContext.getInstance("TLSv1.2");
-
+
ssl.init(null, null, new java.security.SecureRandom());
String[] cipherSuites = ssl.getSocketFactory().getSupportedCipherSuites();
-
- props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_CIPHERS_NAME,cipherSuites[0]);
-
- String restEndpoint = startInfraWithSSL(props, false);
- validateConnection(restEndpoint, "TLSv1.2");
+
+ props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_CIPHERS_NAME, cipherSuites[0]);
+
+ validateConnection(startInfraWithSSL(props, false));
}
-
+
public void testSSLWithMultipleCipherSuite() throws Exception {
Properties props = new Properties();
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_ENABLED_NAME, "true");
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_NAME, jks.getCanonicalPath());
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_PASSWORD_NAME, "password");
- props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_PROTOCOLS_NAME,"TLSv1.2");
-
+ props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_PROTOCOLS_NAME, "TLSv1.2");
+
SSLContext ssl = SSLContext.getInstance("TLSv1.2");
-
+
ssl.init(null, null, new java.security.SecureRandom());
String[] cipherSuites = ssl.getSocketFactory().getSupportedCipherSuites();
-
- props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_CIPHERS_NAME,cipherSuites[0]+","+cipherSuites[1]);
-
- String restEndpoint = startInfraWithSSL(props, false);
- validateConnection(restEndpoint, "TLSv1.2");
+
+ props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_CIPHERS_NAME, cipherSuites[0] + "," + cipherSuites[1]);
+
+ validateConnection(startInfraWithSSL(props, false));
}
-
-
+
public void testMutualAuthentication() throws Exception {
Properties props = new Properties();
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_ENABLED_NAME, "true");
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_NAME, jks.getCanonicalPath());
props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_KEYSTORE_PASSWORD_NAME, "password");
- props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_PROTOCOLS_NAME,"SSL");
- props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_REQUIRE_AUTHENTICATION_NAME,"true");
+ props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_PROTOCOLS_NAME, "SSL");
+ props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_REQUIRE_AUTHENTICATION_NAME, "true");
- props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_TRUSTSTORE_NAME,jks.getCanonicalPath());
+ props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_TRUSTSTORE_NAME, jks.getCanonicalPath());
- props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_TRUSTSTORE_PASSWORD_NAME,"password");
-
- String restEndpoint = startInfraWithSSL(props, false);
- validateConnection(restEndpoint, "SSL");
+ props.setProperty(DistributionConfig.HTTP_SERVICE_SSL_TRUSTSTORE_PASSWORD_NAME, "password");
+ validateConnection(startInfraWithSSL(props, false));
}
-
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8bc3481c/geode-core/src/test/java/com/gemstone/gemfire/cache/client/internal/AutoConnectionSourceDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/cache/client/internal/AutoConnectionSourceDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/cache/client/internal/AutoConnectionSourceDUnitTest.java
index cfcff5e..0488e23 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/cache/client/internal/AutoConnectionSourceDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/cache/client/internal/AutoConnectionSourceDUnitTest.java
@@ -16,15 +16,6 @@
*/
package com.gemstone.gemfire.cache.client.internal;
-import java.io.Serializable;
-import java.net.BindException;
-import java.net.InetSocketAddress;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-
-import junit.framework.Assert;
-
import com.gemstone.gemfire.cache.Cache;
import com.gemstone.gemfire.cache.Region;
import com.gemstone.gemfire.cache.client.NoAvailableLocatorsException;
@@ -37,22 +28,23 @@ import com.gemstone.gemfire.internal.AvailablePortHelper;
import com.gemstone.gemfire.management.membership.ClientMembership;
import com.gemstone.gemfire.management.membership.ClientMembershipEvent;
import com.gemstone.gemfire.management.membership.ClientMembershipListenerAdapter;
-import com.gemstone.gemfire.test.dunit.Host;
-import com.gemstone.gemfire.test.dunit.IgnoredException;
-import com.gemstone.gemfire.test.dunit.NetworkUtils;
-import com.gemstone.gemfire.test.dunit.SerializableCallable;
-import com.gemstone.gemfire.test.dunit.SerializableRunnable;
-import com.gemstone.gemfire.test.dunit.VM;
-import com.gemstone.gemfire.test.dunit.Wait;
+import com.gemstone.gemfire.test.dunit.*;
+import org.junit.Assert;
+
+import java.io.Serializable;
+import java.net.BindException;
+import java.net.InetSocketAddress;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
/**
* Tests cases that are particular for the auto connection source
- * - dynamically discovering servers, locators, handling
+ * - dynamically discovering servers, locators, handling
* locator disappearance, etc.
- *
*/
public class AutoConnectionSourceDUnitTest extends LocatorTestBase {
-
+
protected static final Object BRIDGE_LISTENER = "BRIDGE_LISTENER";
private static final long MAX_WAIT = 60000;
@@ -64,84 +56,88 @@ public class AutoConnectionSourceDUnitTest extends LocatorTestBase {
public AutoConnectionSourceDUnitTest(String name) {
super(name);
}
-
+
public void testDiscoverBridgeServers() throws Exception {
final Host host = Host.getHost(0);
VM vm0 = host.getVM(0);
VM vm1 = host.getVM(1);
VM vm2 = host.getVM(2);
-
+
int locatorPort = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
- startLocatorInVM(vm0, locatorPort, "");
-
- String locators = NetworkUtils.getServerHostName(vm0.getHost())+ "[" + locatorPort + "]";
-
- startBridgeServerInVM(vm1, null, locators);
+ String hostName = NetworkUtils.getServerHostName(vm0.getHost());
+ vm0.invoke("Start Locator", () -> startLocator(hostName, locatorPort, ""));
+
+ String locators = NetworkUtils.getServerHostName(vm0.getHost()) + "[" + locatorPort + "]";
- startBridgeClientInVM(vm2, null, NetworkUtils.getServerHostName(vm0.getHost()), locatorPort);
+ vm1.invoke("Start BridgeServer", () -> startBridgeServer(null, locators));
+
+ vm2.invoke("StartBridgeClient", () -> startBridgeClient(null, NetworkUtils.getServerHostName(vm0.getHost()), locatorPort));
putAndWaitForSuccess(vm2, REGION_NAME, "key", "value");
-
+
Assert.assertEquals("value", getInVM(vm1, "key"));
}
public void testNoLocators() {
-
+
final Host host = Host.getHost(0);
VM vm0 = host.getVM(0);
-
+
try {
- startBridgeClientInVM(vm0, null, NetworkUtils.getServerHostName(vm0.getHost()), AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET));
+ vm0.invoke("StartBridgeClient", () -> startBridgeClient(null, NetworkUtils.getServerHostName(vm0.getHost())
+ , AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET)));
putInVM(vm0, "key", "value");
fail("Client cache should not have been able to start");
- } catch(Exception e) {
+ } catch (Exception e) {
//expected an exception
}
}
-
+
public void testNoBridgeServer() {
final Host host = Host.getHost(0);
VM vm0 = host.getVM(0);
VM vm1 = host.getVM(1);
-
+
int locatorPort = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
- startLocatorInVM(vm0, locatorPort, "");
- try {
- startBridgeClientInVM(vm1, null, NetworkUtils.getServerHostName(vm0.getHost()), locatorPort);
+ String hostName = NetworkUtils.getServerHostName(vm0.getHost());
+ vm0.invoke("Start Locator", () -> startLocator(hostName, locatorPort, ""));
+ try {
+ vm1.invoke("StartBridgeClient", () -> startBridgeClient(null, NetworkUtils.getServerHostName(vm0.getHost()), locatorPort));
putInVM(vm0, "key", "value");
fail("Client cache should not have been able to start");
- } catch(Exception e) {
+ } catch (Exception e) {
//expected an exception
}
}
-
- public void testDynamicallyFindBridgeServer() throws Exception {
+
+ public void testDynamicallyFindBridgeServer() throws Exception {
final Host host = Host.getHost(0);
VM vm0 = host.getVM(0);
VM vm1 = host.getVM(1);
VM vm2 = host.getVM(2);
VM vm3 = host.getVM(3);
-
+
int locatorPort = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
- startLocatorInVM(vm0, locatorPort, "");
-
+ String hostName = NetworkUtils.getServerHostName(vm0.getHost());
+ vm0.invoke("Start Locator", () -> startLocator(hostName, locatorPort, ""));
+
String locators = NetworkUtils.getServerHostName(vm0.getHost()) + "[" + locatorPort + "]";
-
- startBridgeServerInVM(vm1, null, locators);
-
- startBridgeClientInVM(vm2, null, NetworkUtils.getServerHostName(vm0.getHost()), locatorPort);
-
+
+ vm1.invoke("Start BridgeServer", () -> startBridgeServer(null, locators));
+
+ vm2.invoke("StartBridgeClient", () -> startBridgeClient(null, NetworkUtils.getServerHostName(vm0.getHost()), locatorPort));
+
putAndWaitForSuccess(vm2, REGION_NAME, "key", "value");
-
- startBridgeServerInVM(vm3, null, locators);
-
+
+ vm3.invoke("Start BridgeServer", () -> startBridgeServer(null, locators));
+
stopBridgeMemberVM(vm1);
-
+
putAndWaitForSuccess(vm2, REGION_NAME, "key2", "value2");
-
+
Assert.assertEquals("value2", getInVM(vm3, "key2"));
}
-
+
public void testDynamicallyFindLocators() throws Exception {
try {
final Host host = Host.getHost(0);
@@ -150,59 +146,60 @@ public class AutoConnectionSourceDUnitTest extends LocatorTestBase {
VM vm1 = host.getVM(1);
VM vm2 = host.getVM(2);
VM vm3 = host.getVM(3);
-
+
int[] ports = AvailablePortHelper.getRandomAvailableTCPPorts(3);
-
+
final int locatorPort0 = ports[0];
final int locatorPort1 = ports[1];
final int locatorPort3 = ports[2];
- String locators = getLocatorString(host, new int[] { locatorPort0, locatorPort1, locatorPort3});
- startLocatorInVM(vm0, locatorPort0, locators);
-
- startLocatorInVM(vm1, locatorPort1, locators);
- startBridgeClientInVM(vm2, null, NetworkUtils.getServerHostName(vm0.getHost()), locatorPort0);
-
- InetSocketAddress locatorToWaitFor= new InetSocketAddress(hostName, locatorPort1);
+ String locators = getLocatorString(host, new int[] { locatorPort0, locatorPort1, locatorPort3 });
+ vm0.invoke("Start Locator", () -> startLocator(NetworkUtils.getServerHostName(vm0.getHost()), locatorPort0, locators));
+ vm1.invoke("Start Locator", () -> startLocator(NetworkUtils.getServerHostName(vm1.getHost()), locatorPort1, locators));
+
+ vm2.invoke("StartBridgeClient", () -> startBridgeClient(null, NetworkUtils.getServerHostName(vm0.getHost()), locatorPort0));
+
+ InetSocketAddress locatorToWaitFor = new InetSocketAddress(hostName, locatorPort1);
waitForLocatorDiscovery(vm2, locatorToWaitFor);
-
- stopLocatorInVM(vm0);
- startBridgeServerInVM(vm0, null, locators);
-
+
+ vm0.invoke("Stop Locator", () -> stopLocator());
+ vm0.invoke("Start BridgeServer", () -> startBridgeServer(null, locators));
+
putAndWaitForSuccess(vm2, REGION_NAME, "key", "value");
Assert.assertEquals("value", getInVM(vm0, "key"));
-
- startLocatorInVM(vm3, locatorPort3, locators);
+
+ vm3.invoke("Start Locator", () -> startLocator(NetworkUtils.getServerHostName(vm3.getHost()), locatorPort3, locators));
stopBridgeMemberVM(vm0);
- locatorToWaitFor= new InetSocketAddress(hostName, locatorPort3);
+ locatorToWaitFor = new InetSocketAddress(hostName, locatorPort3);
waitForLocatorDiscovery(vm2, locatorToWaitFor);
- stopLocatorInVM(vm1);
- startBridgeServerInVM(vm1, null, locators);
+ vm1.invoke("Stop Locator", () -> stopLocator());
+ vm1.invoke("Start BridgeServer", () -> startBridgeServer(null, locators));
putAndWaitForSuccess(vm2, REGION_NAME, "key2", "value2");
Assert.assertEquals("value2", getInVM(vm1, "key2"));
- }catch(Exception ec) {
- if(ec.getCause() != null && (ec.getCause().getCause() instanceof BindException))
+ } catch (Exception ec) {
+ if (ec.getCause() != null && (ec.getCause().getCause() instanceof BindException))
return;//BindException let it pass
throw ec;
}
}
-
- public void testEmbeddedLocator() throws Exception {
+
+ public void testEmbeddedLocator() throws Exception {
final Host host = Host.getHost(0);
VM vm0 = host.getVM(0);
VM vm1 = host.getVM(1);
VM vm2 = host.getVM(2);
VM vm3 = host.getVM(3);
-
+
int locatorPort = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
-
+
String locators = NetworkUtils.getServerHostName(vm0.getHost()) + "[" + locatorPort + "]";
-
- startBridgeServerWithEmbeddedLocator(vm0, null, locators, new String[] {REGION_NAME}, CacheServer.DEFAULT_LOAD_PROBE);
-
- startBridgeClientInVM(vm2, null, NetworkUtils.getServerHostName(vm0.getHost()), locatorPort);
-
+
+ vm0.invoke("Start BridgeServer", () -> startBridgeServerWithEmbeddedLocator(null, locators, new String[] { REGION_NAME }
+ , CacheServer.DEFAULT_LOAD_PROBE));
+
+ vm2.invoke("StartBridgeClient", () -> startBridgeClient(null, NetworkUtils.getServerHostName(vm0.getHost()), locatorPort));
+
putAndWaitForSuccess(vm2, REGION_NAME, "key", "value");
-
+
Assert.assertEquals("value", getInVM(vm2, "key"));
}
@@ -211,7 +208,7 @@ public class AutoConnectionSourceDUnitTest extends LocatorTestBase {
vm.invoke(new SerializableCallable() {
public Object call() throws InterruptedException {
MyLocatorCallback callback = (MyLocatorCallback) remoteObjects.get(CALLBACK_KEY);
-
+
boolean discovered = callback.waitForDiscovery(locatorToWaitFor, MAX_WAIT);
Assert.assertTrue("Waited " + MAX_WAIT + " for " + locatorToWaitFor
+ " to be discovered on client. List is now: "
@@ -220,85 +217,89 @@ public class AutoConnectionSourceDUnitTest extends LocatorTestBase {
}
});
}
-
+
public void testServerGroups() throws Exception {
final Host host = Host.getHost(0);
VM vm0 = host.getVM(0);
VM vm1 = host.getVM(1);
VM vm2 = host.getVM(2);
VM vm3 = host.getVM(3);
-
+
int locatorPort = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
- startLocatorInVM(vm0, locatorPort, "");
-
+ vm0.invoke("Start Locator", () -> startLocator(NetworkUtils.getServerHostName(vm0.getHost()), locatorPort, ""));
+
String locators = NetworkUtils.getServerHostName(vm0.getHost()) + "[" + locatorPort + "]";
-
- startBridgeServerInVM(vm1, new String[] {"group1", "group2"} , locators, new String[] {"A", "B"});
- startBridgeServerInVM(vm2, new String[] {"group2", "group3"}, locators, new String[] {"B", "C"});
-
- startBridgeClientInVM(vm3, "group1", NetworkUtils.getServerHostName(vm0.getHost()), locatorPort, new String [] {"A", "B", "C"});
+ vm1.invoke("Start BridgeServer", () -> startBridgeServer(new String[] { "group1", "group2" }, locators, new String[] { "A", "B" }));
+ vm2.invoke("Start BridgeServer", () -> startBridgeServer(new String[] { "group2", "group3" }, locators, new String[] { "B", "C" }));
+
+ vm3.invoke("StartBridgeClient", () -> startBridgeClient("group1", NetworkUtils.getServerHostName(vm0.getHost())
+ , locatorPort, new String[] { "A", "B", "C" }));
putAndWaitForSuccess(vm3, "A", "key", "value");
Assert.assertEquals("value", getInVM(vm1, "A", "key"));
try {
putInVM(vm3, "C", "key2", "value2");
fail("Should not have been able to find Region C on the server");
- } catch(Exception expected) {}
-
+ } catch (Exception expected) {
+ }
+
stopBridgeMemberVM(vm3);
-
- startBridgeClientInVM(vm3, "group3", NetworkUtils.getServerHostName(vm0.getHost()), locatorPort, new String [] {"A", "B", "C"});
+
+ vm3.invoke("StartBridgeClient", () -> startBridgeClient("group3", NetworkUtils.getServerHostName(vm0.getHost()),
+ locatorPort, new String[] { "A", "B", "C" }));
try {
putInVM(vm3, "A", "key3", "value");
fail("Should not have been able to find Region A on the server");
- } catch(Exception expected) {}
+ } catch (Exception expected) {
+ }
putInVM(vm3, "C", "key4", "value");
Assert.assertEquals("value", getInVM(vm2, "C", "key4"));
-
+
stopBridgeMemberVM(vm3);
-
- startBridgeClientInVM(vm3, "group2", NetworkUtils.getServerHostName(vm0.getHost()), locatorPort, new String [] {"A", "B", "C"});
+
+ vm3.invoke("StartBridgeClient", () -> startBridgeClient("group2", NetworkUtils.getServerHostName(vm0.getHost()),
+ locatorPort, new String[] { "A", "B", "C" }));
putInVM(vm3, "B", "key5", "value");
Assert.assertEquals("value", getInVM(vm1, "B", "key5"));
Assert.assertEquals("value", getInVM(vm2, "B", "key5"));
-
+
stopBridgeMemberVM(vm1);
putInVM(vm3, "B", "key6", "value");
Assert.assertEquals("value", getInVM(vm2, "B", "key6"));
- startBridgeServerInVM(vm1, new String[] {"group1", "group2"} , locators, new String[] {"A", "B"});
+ vm1.invoke("Start BridgeServer", () -> startBridgeServer(new String[] { "group1", "group2" }, locators, new String[] { "A", "B" }));
stopBridgeMemberVM(vm2);
-
+
putInVM(vm3, "B", "key7", "value");
Assert.assertEquals("value", getInVM(vm1, "B", "key7"));
}
-
+
public void testTwoServersInSameVM() throws Exception {
final Host host = Host.getHost(0);
VM vm0 = host.getVM(0);
VM vm1 = host.getVM(1);
VM vm2 = host.getVM(2);
-// VM vm3 = host.getVM(3);
-
+ // VM vm3 = host.getVM(3);
+
int locatorPort = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
-
- startLocatorInVM(vm0, locatorPort, "");
-
+
+ vm0.invoke("Start Locator", () -> startLocator(NetworkUtils.getServerHostName(vm0.getHost()), locatorPort, ""));
+
final String locators = NetworkUtils.getServerHostName(vm0.getHost()) + "[" + locatorPort + "]";
-
- final int serverPort1 =startBridgeServerInVM(vm1, new String[] {"group1"}, locators);
- final int serverPort2 =addCacheServerInVM(vm1, new String[] {"group2"});
-
- startBridgeClientInVM(vm2, "group2", NetworkUtils.getServerHostName(vm0.getHost()), locatorPort);
-
- checkEndpoints(vm2, new int[] {serverPort2});
-
+
+ final int serverPort1 = vm1.invoke("Start BridgeServer", () -> startBridgeServer(new String[] { "group1" }, locators));
+ final int serverPort2 = vm1.invoke("Start CacheServer", () -> addCacheServer(new String[] { "group2" }));
+
+ vm2.invoke("StartBridgeClient", () -> startBridgeClient("group2", NetworkUtils.getServerHostName(vm0.getHost()), locatorPort));
+
+ checkEndpoints(vm2, new int[] { serverPort2 });
+
stopBridgeMemberVM(vm2);
- startBridgeClientInVM(vm2, "group1", NetworkUtils.getServerHostName(vm0.getHost()), locatorPort);
-
- checkEndpoints(vm2, new int[] {serverPort1});
+ vm2.invoke("StartBridgeClient", () -> startBridgeClient("group1", NetworkUtils.getServerHostName(vm0.getHost()), locatorPort));
+
+ checkEndpoints(vm2, new int[] { serverPort1 });
}
-
+
public void testClientMembershipListener() throws Exception {
final Host host = Host.getHost(0);
VM locatorVM = host.getVM(0);
@@ -306,19 +307,20 @@ public class AutoConnectionSourceDUnitTest extends LocatorTestBase {
VM bridge2VM = host.getVM(2);
VM clientVM = host.getVM(3);
int locatorPort = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
- startLocatorInVM(locatorVM, locatorPort, "");
+ locatorVM.invoke("Start Locator", () -> startLocator(NetworkUtils.getServerHostName(locatorVM.getHost()), locatorPort, ""));
+
String locators = NetworkUtils.getServerHostName(locatorVM.getHost()) + "[" + locatorPort + "]";
//start a bridge server with a listener
addBridgeListener(bridge1VM);
- int serverPort1 = startBridgeServerInVM(bridge1VM, null, locators);
+ int serverPort1 = bridge1VM.invoke("Start BridgeServer", () -> startBridgeServer(null, locators));
//start a bridge client with a listener
addBridgeListener(clientVM);
- startBridgeClientInVM(clientVM, null, NetworkUtils.getServerHostName(locatorVM.getHost()), locatorPort);
+ clientVM.invoke("StartBridgeClient", () -> startBridgeClient(null, NetworkUtils.getServerHostName(locatorVM.getHost()), locatorPort));
// wait for client to connect
- checkEndpoints(clientVM, new int[] {serverPort1});
-
+ checkEndpoints(clientVM, new int[] { serverPort1 });
+
//make sure the client and bridge server both noticed each other
waitForJoin(bridge1VM);
MyListener serverListener = getBridgeListener(bridge1VM);
@@ -326,48 +328,48 @@ public class AutoConnectionSourceDUnitTest extends LocatorTestBase {
Assert.assertEquals(0, serverListener.getDepartures());
Assert.assertEquals(1, serverListener.getJoins());
resetBridgeListener(bridge1VM);
-
+
waitForJoin(clientVM);
- MyListener clientListener= getBridgeListener(clientVM);
+ MyListener clientListener = getBridgeListener(clientVM);
Assert.assertEquals(0, clientListener.getCrashes());
Assert.assertEquals(0, clientListener.getDepartures());
Assert.assertEquals(1, clientListener.getJoins());
resetBridgeListener(clientVM);
-
- checkEndpoints(clientVM, new int[] {serverPort1});
+
+ checkEndpoints(clientVM, new int[] { serverPort1 });
//start another bridge server and make sure it is detected by the client
- int serverPort2 = startBridgeServerInVM(bridge2VM, null, locators);
-
- checkEndpoints(clientVM, new int[] {serverPort1, serverPort2});
+ int serverPort2 = bridge2VM.invoke("Start BridgeServer", () -> startBridgeServer(null, locators));
+
+ checkEndpoints(clientVM, new int[] { serverPort1, serverPort2 });
serverListener = getBridgeListener(bridge1VM);
Assert.assertEquals(0, serverListener.getCrashes());
Assert.assertEquals(0, serverListener.getDepartures());
Assert.assertEquals(0, serverListener.getJoins());
resetBridgeListener(bridge1VM);
waitForJoin(clientVM);
- clientListener= getBridgeListener(clientVM);
+ clientListener = getBridgeListener(clientVM);
Assert.assertEquals(0, clientListener.getCrashes());
Assert.assertEquals(0, clientListener.getDepartures());
Assert.assertEquals(1, clientListener.getJoins());
resetBridgeListener(clientVM);
-
+
//stop the second bridge server and make sure it is detected by the client
stopBridgeMemberVM(bridge2VM);
-
- checkEndpoints(clientVM, new int[] {serverPort1});
+
+ checkEndpoints(clientVM, new int[] { serverPort1 });
serverListener = getBridgeListener(bridge1VM);
Assert.assertEquals(0, serverListener.getCrashes());
Assert.assertEquals(0, serverListener.getDepartures());
Assert.assertEquals(0, serverListener.getJoins());
resetBridgeListener(bridge1VM);
waitForCrash(clientVM);
- clientListener= getBridgeListener(clientVM);
+ clientListener = getBridgeListener(clientVM);
Assert.assertEquals(1, clientListener.getCrashes());
Assert.assertEquals(0, clientListener.getDepartures());
Assert.assertEquals(0, clientListener.getJoins());
resetBridgeListener(clientVM);
-
+
//stop the client and make sure the bridge server notices
stopBridgeMemberVM(clientVM);
waitForDeparture(bridge1VM);
@@ -380,7 +382,7 @@ public class AutoConnectionSourceDUnitTest extends LocatorTestBase {
protected Object getInVM(VM vm, final Serializable key) {
return getInVM(vm, REGION_NAME, key);
}
-
+
protected Object getInVM(VM vm, final String regionName, final Serializable key) {
return vm.invoke(new SerializableCallable("Get in VM") {
public Object call() throws Exception {
@@ -390,23 +392,22 @@ public class AutoConnectionSourceDUnitTest extends LocatorTestBase {
}
});
}
-
- protected void putAndWaitForSuccess(VM vm, final String regionName, final Serializable key, final Serializable value) throws InterruptedException
- {
+
+ protected void putAndWaitForSuccess(VM vm, final String regionName, final Serializable key, final Serializable value) throws InterruptedException {
long endTime = System.currentTimeMillis() + MAX_WAIT;
long remaining = MAX_WAIT;
int i = 0;
- while(true) {
+ while (true) {
try {
System.err.println("Attempt: " + (i++));
putInVM(vm, regionName, key, value);
break;
} catch (NoAvailableLocatorsException | com.gemstone.gemfire.test.dunit.RMIException e) {
- if( !(e instanceof NoAvailableLocatorsException)
+ if (!(e instanceof NoAvailableLocatorsException)
&& !(e.getCause() instanceof NoAvailableServersException)) {
throw e;
}
- if(remaining <= 0) {
+ if (remaining <= 0) {
throw e;
}
Wait.pause(100);
@@ -418,10 +419,8 @@ public class AutoConnectionSourceDUnitTest extends LocatorTestBase {
protected void putInVM(VM vm, final Serializable key, final Serializable value) {
putInVM(vm, REGION_NAME, key, value);
}
-
-
-
- protected void putInVM(VM vm, final String regionName, final Serializable key, final Serializable value) {
+
+ protected void putInVM(VM vm, final String regionName, final Serializable key, final Serializable value) {
vm.invoke(new SerializableCallable("Put in VM") {
public Object call() throws Exception {
Cache cache = (Cache) remoteObjects.get(CACHE_KEY);
@@ -430,11 +429,12 @@ public class AutoConnectionSourceDUnitTest extends LocatorTestBase {
}
});
}
-
+
/**
* Assert that there is one endpoint with the given host in port
* on the client vm.
- * @param vm - the vm the client is running in
+ *
+ * @param vm - the vm the client is running in
* @param expectedPorts - The server ports we expect the client to be connected to.
*/
protected void checkEndpoints(VM vm, final int[] expectedPorts) {
@@ -445,14 +445,14 @@ public class AutoConnectionSourceDUnitTest extends LocatorTestBase {
List/*<ServerLocation>*/ endpoints;
HashSet actualEndpointPorts;
HashSet expectedEndpointPorts = new HashSet();
- for(int i = 0; i < expectedPorts.length; i++) {
+ for (int i = 0; i < expectedPorts.length; i++) {
expectedEndpointPorts.add(new Integer(expectedPorts[i]));
}
do {
endpoints = pool.getCurrentServers();
actualEndpointPorts = new HashSet();
- for(Iterator itr = endpoints.iterator(); itr.hasNext();) {
- ServerLocation sl = (ServerLocation)itr.next();
+ for (Iterator itr = endpoints.iterator(); itr.hasNext(); ) {
+ ServerLocation sl = (ServerLocation) itr.next();
actualEndpointPorts.add(new Integer(sl.getPort()));
}
if (expectedEndpointPorts.size() == actualEndpointPorts.size()) {
@@ -460,12 +460,12 @@ public class AutoConnectionSourceDUnitTest extends LocatorTestBase {
} else {
Wait.pause(100);
}
- } while(retryCount-- > 0);
+ } while (retryCount-- > 0);
Assert.assertEquals(expectedEndpointPorts, actualEndpointPorts);
}
});
}
-
+
protected void addBridgeListener(VM vm) {
vm.invoke(new SerializableRunnable("Add membership listener") {
public void run() {
@@ -475,7 +475,7 @@ public class AutoConnectionSourceDUnitTest extends LocatorTestBase {
}
});
}
-
+
protected void resetBridgeListener(VM vm) {
vm.invoke(new SerializableRunnable("Add membership listener") {
public void run() {
@@ -484,7 +484,7 @@ public class AutoConnectionSourceDUnitTest extends LocatorTestBase {
}
});
}
-
+
private MyListener getBridgeListener(VM vm) {
return (MyListener) vm.invoke(new SerializableCallable("Add membership listener") {
public Object call() {
@@ -492,17 +492,17 @@ public class AutoConnectionSourceDUnitTest extends LocatorTestBase {
}
});
}
-
+
private void waitForJoin(VM vm) {
vm.invoke(new SerializableRunnable() {
public void run() {
MyListener listener = (MyListener) remoteObjects.get(BRIDGE_LISTENER);
- synchronized(listener) {
+ synchronized (listener) {
long end = System.currentTimeMillis() + 10000;
while (listener.joins == 0) {
try {
long remaining = end - System.currentTimeMillis();
- if(remaining < 0) {
+ if (remaining < 0) {
break;
}
listener.wait(remaining);
@@ -514,17 +514,17 @@ public class AutoConnectionSourceDUnitTest extends LocatorTestBase {
}
});
}
-
+
private void waitForCrash(VM vm) {
vm.invoke(new SerializableRunnable() {
public void run() {
MyListener listener = (MyListener) remoteObjects.get(BRIDGE_LISTENER);
- synchronized(listener) {
+ synchronized (listener) {
long end = System.currentTimeMillis() + 10000;
- while (listener.crashes== 0) {
+ while (listener.crashes == 0) {
try {
long remaining = end - System.currentTimeMillis();
- if(remaining < 0) {
+ if (remaining < 0) {
break;
}
listener.wait(remaining);
@@ -536,17 +536,17 @@ public class AutoConnectionSourceDUnitTest extends LocatorTestBase {
}
});
}
-
+
private void waitForDeparture(VM vm) {
vm.invoke(new SerializableRunnable() {
public void run() {
MyListener listener = (MyListener) remoteObjects.get(BRIDGE_LISTENER);
- synchronized(listener) {
+ synchronized (listener) {
long end = System.currentTimeMillis() + 10000;
while (listener.departures == 0) {
try {
long remaining = end - System.currentTimeMillis();
- if(remaining < 0) {
+ if (remaining < 0) {
break;
}
listener.wait(remaining);
@@ -558,11 +558,11 @@ public class AutoConnectionSourceDUnitTest extends LocatorTestBase {
}
});
}
-
+
public static class MyListener extends ClientMembershipListenerAdapter implements Serializable {
protected int crashes = 0;
protected int joins = 0;
- protected int departures= 0;
+ protected int departures = 0;
@Override
public synchronized void memberCrashed(ClientMembershipEvent event) {
@@ -596,7 +596,7 @@ public class AutoConnectionSourceDUnitTest extends LocatorTestBase {
return joins;
}
- public synchronized int getDepartures() {
+ public synchronized int getDepartures() {
return departures;
}
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8bc3481c/geode-core/src/test/java/com/gemstone/gemfire/cache/client/internal/AutoConnectionSourceImplJUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/cache/client/internal/AutoConnectionSourceImplJUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/cache/client/internal/AutoConnectionSourceImplJUnitTest.java
index 8deedc1..667af89 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/cache/client/internal/AutoConnectionSourceImplJUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/cache/client/internal/AutoConnectionSourceImplJUnitTest.java
@@ -144,27 +144,22 @@ public class AutoConnectionSourceImplJUnitTest {
@Test
public void testNoServers() throws Exception {
-
startFakeLocator();
handler.nextConnectionResponse = new ClientConnectionResponse(null);
-
assertEquals(null, source.findServer(null));
}
@Test
public void testDiscoverServers() throws Exception {
startFakeLocator();
-
ServerLocation loc1 = new ServerLocation("localhost", 4423);
handler.nextConnectionResponse = new ClientConnectionResponse(loc1);
-
assertEquals(loc1, source.findServer(null));
}
@Test
public void testDiscoverLocators() throws Exception {
startFakeLocator();
-
int secondPort = AvailablePortHelper.getRandomAvailableTCPPort();
TcpServer server2 = new TcpServer(secondPort, InetAddress.getLocalHost(), null, null, handler, new FakeHelper(), Thread.currentThread().getThreadGroup(), "tcp server");
server2.start();