You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by pe...@apache.org on 2022/06/09 03:47:27 UTC

[pulsar] 02/02: [refactor][test] Move assert equals and retry to a base class (#14815)

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

penghui pushed a commit to branch branch-2.10
in repository https://gitbox.apache.org/repos/asf/pulsar.git

commit efc36b31f510548f0c93e1201c9ffe5e24464280
Author: Kai Wang <kw...@streamnative.io>
AuthorDate: Thu Mar 24 23:09:20 2022 +0800

    [refactor][test] Move assert equals and retry to a base class (#14815)
    
    (cherry picked from commit d0d9aa583b1ed1fc4387443d0d4d81c616ad77ff)
---
 .../pulsar/metadata/BaseMetadataStoreTest.java     | 33 ++++++++++++++++++++++
 .../apache/pulsar/metadata/LeaderElectionTest.java |  1 -
 .../apache/pulsar/metadata/MetadataCacheTest.java  | 32 ---------------------
 3 files changed, 33 insertions(+), 33 deletions(-)

diff --git a/pulsar-metadata/src/test/java/org/apache/pulsar/metadata/BaseMetadataStoreTest.java b/pulsar-metadata/src/test/java/org/apache/pulsar/metadata/BaseMetadataStoreTest.java
index 8dd2c017650..4dc3fb3589c 100644
--- a/pulsar-metadata/src/test/java/org/apache/pulsar/metadata/BaseMetadataStoreTest.java
+++ b/pulsar-metadata/src/test/java/org/apache/pulsar/metadata/BaseMetadataStoreTest.java
@@ -18,6 +18,7 @@
  */
 package org.apache.pulsar.metadata;
 
+import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertTrue;
 import io.etcd.jetcd.launcher.EtcdCluster;
 import io.etcd.jetcd.launcher.EtcdClusterFactory;
@@ -25,6 +26,7 @@ import java.io.File;
 import java.net.URI;
 import java.util.UUID;
 import java.util.concurrent.CompletionException;
+import java.util.function.Predicate;
 import java.util.function.Supplier;
 import java.util.stream.Collectors;
 import org.apache.pulsar.tests.TestRetrySupport;
@@ -103,4 +105,35 @@ public abstract class BaseMetadataStoreTest extends TestRetrySupport {
     static void assertException(Throwable t, Class<?> clazz) {
         assertTrue(clazz.isInstance(t), String.format("Exception %s is not of type %s", t.getClass(), clazz));
     }
+
+    public static void assertEqualsAndRetry(Supplier<Object> actual,
+                                            Object expected,
+                                            Object expectedAndRetry) throws Exception {
+        assertEqualsAndRetry(actual, expected, expectedAndRetry, 5, 100);
+    }
+
+    public static void assertEqualsAndRetry(Supplier<Object> actual,
+                                            Object expected,
+                                            Object expectedAndRetry,
+                                            int retryCount,
+                                            long intSleepTimeInMillis) throws Exception {
+        assertTrue(retryStrategically((__) -> {
+            if (actual.get().equals(expectedAndRetry)) {
+                return false;
+            }
+            assertEquals(actual.get(), expected);
+            return true;
+        }, retryCount, intSleepTimeInMillis));
+    }
+
+    public static boolean retryStrategically(Predicate<Void> predicate, int retryCount, long intSleepTimeInMillis)
+            throws Exception {
+        for (int i = 0; i < retryCount; i++) {
+            if (predicate.test(null)) {
+                return true;
+            }
+            Thread.sleep(intSleepTimeInMillis + (intSleepTimeInMillis * i));
+        }
+        return false;
+    }
 }
diff --git a/pulsar-metadata/src/test/java/org/apache/pulsar/metadata/LeaderElectionTest.java b/pulsar-metadata/src/test/java/org/apache/pulsar/metadata/LeaderElectionTest.java
index f1292811424..97587b1520e 100644
--- a/pulsar-metadata/src/test/java/org/apache/pulsar/metadata/LeaderElectionTest.java
+++ b/pulsar-metadata/src/test/java/org/apache/pulsar/metadata/LeaderElectionTest.java
@@ -18,7 +18,6 @@
  */
 package org.apache.pulsar.metadata;
 
-import static org.apache.pulsar.metadata.MetadataCacheTest.assertEqualsAndRetry;
 import static org.testng.Assert.assertEquals;
 import java.util.EnumSet;
 import java.util.Optional;
diff --git a/pulsar-metadata/src/test/java/org/apache/pulsar/metadata/MetadataCacheTest.java b/pulsar-metadata/src/test/java/org/apache/pulsar/metadata/MetadataCacheTest.java
index 1c663abd327..be6a03d0eac 100644
--- a/pulsar-metadata/src/test/java/org/apache/pulsar/metadata/MetadataCacheTest.java
+++ b/pulsar-metadata/src/test/java/org/apache/pulsar/metadata/MetadataCacheTest.java
@@ -36,7 +36,6 @@ import java.util.TreeMap;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.CompletionException;
 import java.util.concurrent.atomic.AtomicReference;
-import java.util.function.Predicate;
 import java.util.function.Supplier;
 import lombok.AllArgsConstructor;
 import lombok.Cleanup;
@@ -587,35 +586,4 @@ public class MetadataCacheTest extends BaseMetadataStoreTest {
         assertEquals(res.getValue().b, 2);
         assertEquals(res.getValue().path, key1);
     }
-
-    public static void assertEqualsAndRetry(Supplier<Object> actual,
-                                            Object expected,
-                                            Object expectedAndRetry) throws Exception {
-        assertEqualsAndRetry(actual, expected, expectedAndRetry, 5, 100);
-    }
-
-    public static void assertEqualsAndRetry(Supplier<Object> actual,
-                                            Object expected,
-                                            Object expectedAndRetry,
-                                            int retryCount,
-                                            long intSleepTimeInMillis) throws Exception {
-        assertTrue(retryStrategically((__) -> {
-            if (actual.get().equals(expectedAndRetry)) {
-                return false;
-            }
-            assertEquals(actual.get(), expected);
-            return true;
-        }, retryCount, intSleepTimeInMillis));
-    }
-
-    public static boolean retryStrategically(Predicate<Void> predicate, int retryCount, long intSleepTimeInMillis)
-            throws Exception {
-        for (int i = 0; i < retryCount; i++) {
-            if (predicate.test(null) || i == (retryCount - 1)) {
-                return true;
-            }
-            Thread.sleep(intSleepTimeInMillis + (intSleepTimeInMillis * i));
-        }
-        return false;
-    }
 }