@Test
  public void testStatusUpdatingMessageHandler() {
    TimelineOperations timelineOperations = Mockito.mock(TimelineOperations.class);
    Mockito.when(this.twitter.timelineOperations()).thenReturn(timelineOperations);

    ArgumentCaptor<TweetData> argument = ArgumentCaptor.forClass(TweetData.class);

    this.in1.send(new GenericMessage<String>("foo"));

    Mockito.verify(timelineOperations).updateStatus(argument.capture());
    assertEquals("foo", argument.getValue().toRequestParameters().getFirst("status"));

    Mockito.reset(timelineOperations);

    ClassPathResource media = new ClassPathResource("log4j.properties");
    this.in2.send(
        MessageBuilder.withPayload(Collections.singletonMap("foo", "bar"))
            .setHeader("media", media)
            .build());

    Mockito.verify(timelineOperations).updateStatus(argument.capture());
    TweetData tweetData = argument.getValue();
    MultiValueMap<String, Object> requestParameters = tweetData.toRequestParameters();
    assertEquals("bar", requestParameters.getFirst("status"));
    assertNull(requestParameters.getFirst("media"));
    MultiValueMap<String, Object> uploadMediaParameters = tweetData.toUploadMediaParameters();
    assertEquals(media, uploadMediaParameters.getFirst("media"));
  }