@Test
public void testCallRequest() throws Exception {

    final InputStream resource = getClass().getClassLoader().getResourceAsStream(
            "callback-request.json");
    final byte[] payload = ByteStreams.toByteArray(resource);
    when(signatureValidator.validateSignature(payload, "SSSSIGNATURE")).thenReturn(true);
    final CallbackRequest callbackRequest = parser.handle("SSSSIGNATURE", payload);
    assertThat(callbackRequest).isNotNull();
    final List<Event> result = callbackRequest.getEvents();
    final MessageEvent messageEvent = (MessageEvent) result.get(0);
    final TextMessageContent text = (TextMessageContent) messageEvent.getMessage();
    assertThat(text.getText()).isEqualTo("Hello, world");
    final String followedUserId = messageEvent.getSource().getUserId();
    assertThat(followedUserId).isEqualTo("u206d25c2ea6bd87c17655609a1c37cb8");
    assertThat(messageEvent.getTimestamp()).isEqualTo(
            Instant.parse("2016-05-07T13:57:59.859Z"));
}