/** Verify that a polling operation returns in fact 3 results. */ @Test public void testPollForTweetsThreeResults() { final TwitterTemplate twitterTemplate; final SearchOperations so = mock(SearchOperations.class); final List<Tweet> tweets = new ArrayList<Tweet>(); tweets.add(mock(Tweet.class)); tweets.add(mock(Tweet.class)); tweets.add(mock(Tweet.class)); final SearchResults results = new SearchResults(tweets, new SearchMetadata(111, 111)); twitterTemplate = mock(TwitterTemplate.class); when(twitterTemplate.searchOperations()).thenReturn(so); SearchParameters params = new SearchParameters(SEARCH_QUERY).count(20).sinceId(0); when(twitterTemplate.searchOperations().search(params)).thenReturn(results); final SearchReceivingMessageSource messageSource = new SearchReceivingMessageSource(twitterTemplate, "foo"); messageSource.setQuery(SEARCH_QUERY); final List<Tweet> tweetSearchResults = messageSource.pollForTweets(0); assertNotNull(tweetSearchResults); assertEquals(3, tweetSearchResults.size()); }
/** * This test ensures that when polling for a list of Tweets null is never returned. In case of no * polling results, an empty list is returned instead. */ @Test public void testPollForTweetsNullResults() { final TwitterTemplate twitterTemplate = mock(TwitterTemplate.class); final SearchOperations so = mock(SearchOperations.class); when(twitterTemplate.searchOperations()).thenReturn(so); when(twitterTemplate.searchOperations().search(SEARCH_QUERY, 20, 0, 0)).thenReturn(null); final SearchReceivingMessageSource messageSource = new SearchReceivingMessageSource(twitterTemplate, "foo"); messageSource.setQuery(SEARCH_QUERY); final String setQuery = TestUtils.getPropertyValue(messageSource, "query", String.class); assertEquals(SEARCH_QUERY, setQuery); assertEquals("twitter:search-inbound-channel-adapter", messageSource.getComponentType()); final List<Tweet> tweets = messageSource.pollForTweets(0); assertNotNull(tweets); assertTrue(tweets.isEmpty()); }