This is an automated email from the ASF dual-hosted git repository.

nnag pushed a commit to branch support/1.15
in repository https://gitbox.apache.org/repos/asf/geode.git

commit 0271f6a60d230f4a1eb077a73d9406099377d469
Author: Nabarun Nag <[email protected]>
AuthorDate: Tue Jan 25 09:33:33 2022 -0800

    GEODE-8616: Refactoring the test to remove deprecated APIs (#7301)
    
            * Re-enabling the windows test.
        * Refactored to remove the deprecated APIs
    
    (cherry picked from commit 6579b01dbfe2f7e15aaf05a4c712fcaf27498239)
---
 .../ClientServerCacheOperationDUnitTest.java       | 123 +++++++++------------
 1 file changed, 54 insertions(+), 69 deletions(-)

diff --git 
a/geode-core/src/distributedTest/java/org/apache/geode/cache30/ClientServerCacheOperationDUnitTest.java
 
b/geode-core/src/distributedTest/java/org/apache/geode/cache30/ClientServerCacheOperationDUnitTest.java
index df332e6..26c2477 100644
--- 
a/geode-core/src/distributedTest/java/org/apache/geode/cache30/ClientServerCacheOperationDUnitTest.java
+++ 
b/geode-core/src/distributedTest/java/org/apache/geode/cache30/ClientServerCacheOperationDUnitTest.java
@@ -18,12 +18,10 @@ import static 
org.apache.geode.cache.RegionShortcut.REPLICATE;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
-import java.io.IOException;
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
@@ -34,65 +32,56 @@ import org.apache.geode.cache.client.ClientRegionShortcut;
 import org.apache.geode.cache.client.Pool;
 import org.apache.geode.cache.client.PoolManager;
 import org.apache.geode.cache.client.ServerConnectivityException;
-import org.apache.geode.cache.server.CacheServer;
-import org.apache.geode.test.dunit.DistributedTestUtils;
-import org.apache.geode.test.dunit.VM;
-import org.apache.geode.test.dunit.rules.CacheRule;
-import org.apache.geode.test.dunit.rules.ClientCacheRule;
-import org.apache.geode.test.dunit.rules.DistributedRule;
+import org.apache.geode.test.dunit.rules.ClientVM;
+import org.apache.geode.test.dunit.rules.ClusterStartupRule;
+import org.apache.geode.test.dunit.rules.MemberVM;
 import org.apache.geode.test.junit.categories.ClientServerTest;
-import org.apache.geode.test.junit.rules.IgnoreOnWindowsRule;
 
 @Category({ClientServerTest.class})
 public class ClientServerCacheOperationDUnitTest implements Serializable {
-  // The tests in this class fail consistently on Windows. They fail 
intermittently on Linux.
-  // When the intermittent failure on Linux is fixed, perhaps this rule can be 
removed.
-  @ClassRule
-  public static IgnoreOnWindowsRule ignoreOnWindows = new 
IgnoreOnWindowsRule();
 
-  private String regionName = "CsTestRegion";
+  private final String regionName = "CsTestRegion";
 
   @Rule
-  public DistributedRule distributedRule = new DistributedRule();
-
-  @Rule
-  public CacheRule cacheRule = new CacheRule();
-
-  @Rule
-  public ClientCacheRule clientCacheRule = new ClientCacheRule();
+  public ClusterStartupRule clusterStartupRule = new ClusterStartupRule();
 
   @Test
-  public void largeObjectPutWithReadTimeoutThrowsException() {
-    VM server1 = VM.getVM(0);
-    VM server2 = VM.getVM(1);
-    VM client = VM.getVM(2);
-
+  public void largeObjectPutWithReadTimeoutThrowsException() throws Exception {
+    MemberVM locator = clusterStartupRule.startLocatorVM(0);
+    int locatorPort = locator.getPort();
+    MemberVM server1 =
+        clusterStartupRule.startServerVM(1, s -> 
s.withConnectionToLocator(locatorPort));
+    MemberVM server2 =
+        clusterStartupRule.startServerVM(2, s -> 
s.withConnectionToLocator(locatorPort));
+    ClientVM client1 =
+        clusterStartupRule.startClientVM(3,
+            c -> 
c.withLocatorConnection(locatorPort).withPoolSubscription(true));
+
+    ClientVM client2 =
+        clusterStartupRule.startClientVM(4,
+            c -> 
c.withLocatorConnection(locatorPort).withPoolSubscription(true));
     final int byteSize = 40 * 1000 * 1000;
     final int listSize = 2;
-    final int locatorPort = DistributedTestUtils.getLocatorPort();
-
-    server1.invoke(() -> createServerCache());
-    server2.invoke(() -> createServerCache());
 
     server1.invoke(() -> {
-      RegionFactory<?, ?> regionFactory = 
cacheRule.getCache().createRegionFactory(REPLICATE);
+      RegionFactory<?, ?> regionFactory =
+          ClusterStartupRule.getCache().createRegionFactory(REPLICATE);
       regionFactory.create(regionName);
     });
 
     server2.invoke(() -> {
-      RegionFactory<?, ?> regionFactory = 
cacheRule.getCache().createRegionFactory(REPLICATE);
+      RegionFactory<?, ?> regionFactory =
+          ClusterStartupRule.getCache().createRegionFactory(REPLICATE);
       regionFactory.create(regionName);
     });
 
-    List<byte[]> list = new ArrayList(listSize);
+    List<byte[]> list = new ArrayList<byte[]>(listSize);
 
     for (int i = 0; i < listSize; i++) {
       list.add(new byte[byteSize]);
     }
 
-    client.invoke(() -> {
-      clientCacheRule.createClientCache();
-
+    client1.invoke(() -> {
       Pool pool = PoolManager.createFactory()
           .addLocator("localhost", locatorPort)
           .setSocketBufferSize(50)
@@ -102,62 +91,66 @@ public class ClientServerCacheOperationDUnitTest 
implements Serializable {
           .setServerConnectionTimeout(50)
           .create("testPool");
 
-      Region region = clientCacheRule.getClientCache()
+      Region<Object, Object> region = ClusterStartupRule.getClientCache()
           .createClientRegionFactory(ClientRegionShortcut.PROXY)
           .setPoolName(pool.getName())
           .create(regionName);
-
       assertThatThrownBy(() -> region.put("key", list))
           .isInstanceOf(ServerConnectivityException.class);
 
     });
 
     server1.invoke(() -> {
-      Region region = cacheRule.getCache().getRegion(regionName);
-      List value = (List) region.get("key");
+      Region<?, ?> region = 
ClusterStartupRule.getCache().getRegion(regionName);
+      List<?> value = (List<?>) region.get("key");
       if (value != null) {
         assertThat(value.size()).isEqualTo(listSize);
         list.forEach((b) -> assertThat(b.length).isEqualTo(byteSize));
       }
     });
 
-    client.invoke(() -> {
-      Region region = clientCacheRule.getClientCache().getRegion(regionName);
+    client2.invoke(() -> {
+      Region<Object, Object> region = ClusterStartupRule.getClientCache()
+          .createClientRegionFactory(ClientRegionShortcut.PROXY)
+          .create(regionName);
       assertThat(region.size()).isEqualTo(0);
-      List value = (List) region.get("key");
+      List<?> value = (List<?>) region.get("key");
       if (value != null) {
         assertThat(value.size()).isEqualTo(listSize);
         list.forEach((b) -> assertThat(b.length).isEqualTo(byteSize));
       }
     });
-
   }
 
   @Test
-  public void largeObjectGetWithReadTimeout() {
-    VM server1 = VM.getVM(0);
-    VM server2 = VM.getVM(1);
-    VM server3 = VM.getVM(2);
-    VM client = VM.getVM(3);
-
-    final int locatorPort = DistributedTestUtils.getLocatorPort();
-
-    server1.invoke(() -> createServerCache());
-    server2.invoke(() -> createServerCache());
-    server3.invoke(() -> createServerCache());
+  public void largeObjectGetWithReadTimeout() throws Exception {
+    MemberVM locator = clusterStartupRule.startLocatorVM(0);
+    int locatorPort = locator.getPort();
+    MemberVM server1 =
+        clusterStartupRule.startServerVM(1, s -> 
s.withConnectionToLocator(locatorPort));
+    MemberVM server2 =
+        clusterStartupRule.startServerVM(2, s -> 
s.withConnectionToLocator(locatorPort));
+    MemberVM server3 =
+        clusterStartupRule.startServerVM(3, s -> 
s.withConnectionToLocator(locatorPort));
+    ClientVM client =
+        clusterStartupRule.startClientVM(4,
+            c -> 
c.withLocatorConnection(locatorPort).withPoolSubscription(true));
 
     server1.invoke(() -> {
-      RegionFactory<?, ?> regionFactory = 
cacheRule.getCache().createRegionFactory(REPLICATE);
+      RegionFactory<?, ?> regionFactory =
+          ClusterStartupRule.getCache().createRegionFactory(REPLICATE);
       regionFactory.create(regionName);
     });
 
     server2.invoke(() -> {
-      RegionFactory<?, ?> regionFactory = 
cacheRule.getCache().createRegionFactory(REPLICATE);
+      RegionFactory<?, ?> regionFactory =
+          ClusterStartupRule.getCache().createRegionFactory(REPLICATE);
       regionFactory.create(regionName);
     });
 
     server3.invoke(() -> {
-      RegionFactory<?, ?> regionFactory = 
cacheRule.getCache().createRegionFactory(REPLICATE);
+      RegionFactory<?, ?> regionFactory =
+          ClusterStartupRule.getCache().createRegionFactory(REPLICATE);
       Region region = regionFactory.create(regionName);
 
       int listSize = 2;
@@ -171,21 +164,21 @@ public class ClientServerCacheOperationDUnitTest 
implements Serializable {
     });
 
     server1.invoke(() -> {
-      Region region = cacheRule.getCache().getRegion(regionName);
+      Region region = ClusterStartupRule.getCache().getRegion(regionName);
 
       assertThat(region.size()).isEqualTo(1);
     });
 
     client.invoke(() -> {
-      clientCacheRule.createClientCache();
 
       Pool pool = PoolManager.createFactory()
           .addLocator("localhost", locatorPort)
           .setSocketBufferSize(100)
           .setReadTimeout(50)
+          .setRetryAttempts(4)
           .create("testPool");
 
-      Region region = clientCacheRule.getClientCache()
+      Region region = ClusterStartupRule.getClientCache()
           .createClientRegionFactory(ClientRegionShortcut.PROXY)
           .setPoolName(pool.getName())
           .create(regionName);
@@ -199,12 +192,4 @@ public class ClientServerCacheOperationDUnitTest 
implements Serializable {
     });
 
   }
-
-  private void createServerCache() throws IOException {
-    cacheRule.createCache();
-    CacheServer cacheServer = cacheRule.getCache().addCacheServer();
-    cacheServer.setPort(0);
-    cacheServer.start();
-  }
-
 }

Reply via email to