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 8dd2c0176502f..4dc3fb3589c2c 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.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 @@ static void assertException(CompletionException e, Class clazz) { 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 actual, + Object expected, + Object expectedAndRetry) throws Exception { + assertEqualsAndRetry(actual, expected, expectedAndRetry, 5, 100); + } + + public static void assertEqualsAndRetry(Supplier 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 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 f129281142484..97587b1520e75 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 0cf2369ea6dc2..be6a03d0eac38 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.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 CustomClass deserialize(String path, byte[] content, Stat stat) throws IO assertEquals(res.getValue().b, 2); assertEquals(res.getValue().path, key1); } - - public static void assertEqualsAndRetry(Supplier actual, - Object expected, - Object expectedAndRetry) throws Exception { - assertEqualsAndRetry(actual, expected, expectedAndRetry, 5, 100); - } - - public static void assertEqualsAndRetry(Supplier 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 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; - } }