@Override public void execute() throws IOException { final String richMenuId = checkNotNull(arguments.getRichMenuId(), "--rich-menu-id= is not set."); final String out = checkNotNull(arguments.getOut(), "--out= is not set."); final MessageContentResponse messageContentResponse = getUnchecked(lineMessagingClient.getRichMenuImage(richMenuId)); log.info("Request Successfully finished. {}", messageContentResponse); try (OutputStream os = new FileOutputStream(out)) { StreamUtils.copy(messageContentResponse.getStream(), os); } log.info("Successfully finished. Output = {}", out); } }
private MessageContentResponse convert(final Response<ResponseBody> response) { return MessageContentResponse .builder() .length(response.body().contentLength()) .allHeaders(response.headers().toMultimap()) .mimeType(response.body().contentType().toString()) .stream(response.body().byteStream()) .build(); } }
@Test public void onResponseSuccessTest() throws Exception { Response<ResponseBody> response = Response.success(ResponseBody.create(MediaType.parse("image/jpeg"), "")); // Do target.onResponse(call, response); // Verify assertThat(target).isCompleted(); final MessageContentResponse messageContentResponse = target.get(); assertThat(messageContentResponse.getLength()).isEqualTo(0); assertThat(messageContentResponse.getStream()) .hasSameContentAs(new ByteArrayInputStream(new byte[] {})); assertThat(messageContentResponse.getAllHeaders()) .isEmpty(); }
@Test public void getMessageContentTest() throws Exception { whenCall(retrofitMock.getMessageContent(any()), ResponseBody.create(MediaType.parse("image/jpeg"), ZERO_BYTES)); // Do final MessageContentResponse contentResponse = target.getMessageContent("ID").get(); // Verify verify(retrofitMock, only()).getMessageContent("ID"); assertThat(contentResponse.getLength()).isEqualTo(0); assertThat(contentResponse.getMimeType()).isEqualTo("image/jpeg"); }
@Test public void getRichMenuImageTest() throws Exception { whenCall(retrofitMock.getRichMenuImage(any()), ResponseBody.create(MediaType.parse("image/jpeg"), ZERO_BYTES)); // Do final MessageContentResponse messageContentResponse = target.getRichMenuImage("ID").get(); // Verify verify(retrofitMock, only()).getRichMenuImage("ID"); assertThat(messageContentResponse.getLength()).isZero(); }