- java.lang.Object
-
- io.helidon.config.testing.MatcherWithRetry
-
public class MatcherWithRetry extends Object
Hamcrest matcher capable of configured retries before failing the assertion, plus more generic retry processing.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <T> T
assertThatWithRetry(String reason, Supplier<T> actualSupplier, org.hamcrest.Matcher<? super T> matcher)
Checks the matcher, possibly multiple times after configured delays, invoking the supplier of the matched value each time, until either the matcher passes or the maximum retry expires.static void
retry(Callable<Boolean> work)
Retries the specified work until successful or retry limit is exceeded.
-
-
-
Method Detail
-
assertThatWithRetry
public static <T> T assertThatWithRetry(String reason, Supplier<T> actualSupplier, org.hamcrest.Matcher<? super T> matcher) throws InterruptedException
Checks the matcher, possibly multiple times after configured delays, invoking the supplier of the matched value each time, until either the matcher passes or the maximum retry expires.- Type Parameters:
T
- type of the supplied value- Parameters:
reason
- explanation of the assertionactualSupplier
-Supplier
that furnishes the value to submit to the matchermatcher
- Hamcrest matcher which evaluates the supplied value- Returns:
- the supplied value
- Throws:
InterruptedException
- if the sleep is interrupted
-
retry
public static void retry(Callable<Boolean> work) throws Exception
Retries the specified work until successful or retry limit is exceeded.- Parameters:
work
- the work to perform; returned boolean indicates if the work was successful- Throws:
Exception
- exception from the work or from the sleep being interrupted
-
-