@Test
public void testQueueLockFailingRedisques(TestContext context){

    Async async = context.async(2);
    HttpRequest req = new HttpRequest(HttpMethod.PUT, "/playground/circuitBreaker/test", MultiMap.caseInsensitiveMultiMap(), null);
    Mockito.when(ruleToCircuitMapping.getCircuitFromRequestUri(anyString()))
            .thenReturn(new PatternAndCircuitHash(Pattern.compile("/someCircuit"), "someCircuitHash"));
    Mockito.when(queueCircuitBreakerStorage.lockQueue(anyString(), any(PatternAndCircuitHash.class)))
            .thenReturn(Future.succeededFuture());
    vertx.eventBus().consumer(Address.redisquesAddress(), (Message<JsonObject> event) -> {
        context.assertEquals("putLock", event.body().getString("operation"));
        event.reply(new JsonObject().put("status", "error"));
        async.countDown();
    });
    queueCircuitBreaker.lockQueue("someQueue", req).setHandler(event -> {
        context.assertTrue(event.failed());
        context.assertTrue(event.cause().getMessage().contains("failed to lock queue 'someQueue'"));
        verify(queueCircuitBreakerStorage, times(1)).lockQueue(anyString(), any(PatternAndCircuitHash.class));
        async.countDown();
    });
    async.awaitSuccess();
}