def test_fetch_no_tweets(self): """Test whether an empty list is returned if no tweets are available""" setup_http_server(no_tweets=True) twitter = Twitter('query', 'my-token', max_items=2) tweets = [tweets for tweets in twitter.fetch()] self.assertEqual(tweets, [])
def test_fetch_tweets(self): """Test whether a list of tweets is returned""" setup_http_server() twitter = Twitter('query', 'my-token', max_items=2) tweets = [tweets for tweets in twitter.fetch()] expected = ['1005149094560530432', '1005148958111555584', '1005277806383673344', '1005163131042193408'] self.assertEqual(len(tweets), 4) for i in range(len(tweets)): tweet = tweets[i] self.assertEqual(tweet['data']['id_str'], expected[i]) self.assertEqual(tweet['origin'], 'https://twitter.com/') self.assertEqual(tweet['updated_on'], str_to_datetime(tweet['data']['created_at']).timestamp()) self.assertEqual(tweet['category'], 'tweet') self.assertEqual(tweet['tag'], 'https://twitter.com/')
def test_search_fields(self): """Test whether the search_fields is properly set""" setup_http_server() twitter = Twitter('query', 'my-token', max_items=2) tweets = [tweets for tweets in twitter.fetch()] tweet = tweets[0] hashtags = [ h['text'] for h in tweet['data']['entities'].get('hashtags', []) ] self.assertEqual(twitter.metadata_id(tweet['data']), tweet['search_fields']['item_id']) self.assertListEqual(hashtags, ['openexpoeurope']) self.assertListEqual(tweet['search_fields']['hashtags'], ['openexpoeurope']) tweet = tweets[1] hashtags = [ h['text'] for h in tweet['data']['entities'].get('hashtags', []) ] self.assertEqual(twitter.metadata_id(tweet['data']), tweet['search_fields']['item_id']) self.assertListEqual(hashtags, ['OpenExpo18']) self.assertListEqual(tweet['search_fields']['hashtags'], ['OpenExpo18']) tweet = tweets[2] hashtags = [ h['text'] for h in tweet['data']['entities'].get('hashtags', []) ] self.assertEqual(twitter.metadata_id(tweet['data']), tweet['search_fields']['item_id']) self.assertListEqual(hashtags, ['structure', 'community']) self.assertListEqual(tweet['search_fields']['hashtags'], ['structure', 'community'])