Class MatcherWithRetry

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

    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
    Retries the specified work until successful or retry limit is exceeded.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • assertThatWithRetry

      public 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.
      Type Parameters:
      T - type of the supplied value
      Parameters:
      reason - explanation of the assertion
      actualSupplier - Supplier that furnishes the value to submit to the matcher
      matcher - Hamcrest matcher which evaluates the supplied value
      Returns:
      the supplied value
    • 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