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();