@Test
public void testConsumeEmptyQueue() {

  urlSetup("empty", "emptyUrl");
  CompletableFuture<ReceiveMessageResponse> noMessages =
      CompletableFuture.completedFuture(ReceiveMessageResponse.builder().build());
  ReceiveMessageRequest testEmptyRequest =
      ReceiveMessageRequest.builder()
          .queueUrl("emptyUrl")
          .waitTimeSeconds(AsyncSqsClientConfiguration.DEFAULT_RECEIVE_WAIT_SECONDS)
          .maxNumberOfMessages(1)
          .build();
  when(awsAsyncSqsClient.receiveMessage(testEmptyRequest)).thenReturn(noMessages);
  Consumer<String> function = str -> System.out.println(str);
  CompletableFuture<Boolean> response = asyncClient.consume(function, "empty");
  verify(awsAsyncSqsClient, times(1)).receiveMessage(any(ReceiveMessageRequest.class));
  assertFalse(response.join());
}