Пример #1
0
    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, [])
Пример #2
0
    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/')
Пример #3
0
    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'])