@Test public void testUnknown() throws IOException { parse("callback/unknown.json", callbackRequest -> { assertDestination(callbackRequest); assertThat(callbackRequest.getEvents()).hasSize(2); Event event1 = callbackRequest.getEvents().get(0); assertThat(event1).isInstanceOf(UnknownEvent.class); assertThat(event1.getSource()) .isInstanceOf(UserSource.class); assertThat(event1.getSource().getUserId()) .isEqualTo("U012345678901234567890123456789ab"); assertThat(event1.getTimestamp()) .isEqualTo(Instant.parse("2016-05-07T13:57:59.859Z")); assertThat(((UnknownEvent) event1).getType()) .isEqualTo("greatNewFeature"); Event event2 = callbackRequest.getEvents().get(1); assertThat(event2).isInstanceOf(MessageEvent.class); assertThat(event2.getSource()).isInstanceOf(UnknownSource.class); MessageEvent messageEvent = (MessageEvent) event2; assertThat(messageEvent.getMessage()).isInstanceOf(UnknownMessageContent.class); }); } }