@Test(timeout = 60_000)
public void testRetryOnFailure() {

    budgetEmitter.onNext(SystemDisruptionBudget.newBasicSystemDisruptionBudget(1, 1));
    quotaController = newSystemQuotaController();
    // Emit error
    budgetEmitter.onError(new RuntimeException("Simulated error"));
    await().until(this::isBudgetEmitterOpen); // Wait until is re-subscribed
    budgetEmitter.onNext(SystemDisruptionBudget.newBasicSystemDisruptionBudget(5, 5));
    await().until(() -> quotaController.getQuota(Reference.system()).getQuota() == 5);
}