RetryableLineMessagingClientImpl implements RetryableLineMessagingClient { @Override public CompletableFuture<BotApiResponse> pushMessage(final UUID retryKey, final PushMessage pushMessage) { return toBotApiResponseFuture(retrofitImpl.pushMessage(retryKey.toString(), pushMessage)); }  @Override CompletableFuture<BotApiResponse> pushMessage(final UUID retryKey, final PushMessage pushMessage); @Override CompletableFuture<BotApiResponse> multicast(final UUID retryKey, final Multicast multicast); @Override CompletableFuture<BotApiResponse> broadcast(final UUID retryKey, final Broadcast broadcast); @Override CompletableFuture<BotApiResponse> narrowcast(final UUID retryKey, final Narrowcast narrowcast);  }
@Test public void pushMessageTest() throws Exception { UUID retryKey = UUID.randomUUID(); whenCall(retrofitMock.pushMessage(any(String.class), any(PushMessage.class)), BOT_API_SUCCESS_RESPONSE_BODY); final PushMessage pushMessage = new PushMessage("TO", new TextMessage("text")); final BotApiResponse botApiResponse = target.pushMessage(retryKey, pushMessage).get(); verify(retrofitMock, only()).pushMessage(retryKey.toString(), pushMessage); assertThat(botApiResponse).isEqualTo(BOT_API_SUCCESS_RESPONSE); }