@Test
public void testHandleQueuedRequest(TestContext context){

    Async async = context.async();
    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.getQueueCircuitState(any(PatternAndCircuitHash.class)))
            .thenReturn(Future.succeededFuture(QueueCircuitState.CLOSED));
    Mockito.when(queueCircuitBreakerStorage.lockQueue(anyString(), any(PatternAndCircuitHash.class)))
            .thenReturn(Future.succeededFuture());
    queueCircuitBreaker.handleQueuedRequest("someQueue", req).setHandler(event -> {
        context.assertTrue(event.succeeded());
        context.assertEquals(QueueCircuitState.CLOSED, event.result());
        Mockito.when(queueCircuitBreakerStorage.getQueueCircuitState(any(PatternAndCircuitHash.class)))
                .thenReturn(Future.succeededFuture(QueueCircuitState.OPEN));
        queueCircuitBreaker.handleQueuedRequest("someQueue", req).setHandler(event1 -> {
            context.assertTrue(event1.succeeded());
            context.assertEquals(QueueCircuitState.OPEN, event1.result());
            async.complete();
        });
    });
    async.awaitSuccess();
}