class TweepyAPITests(unittest.TestCase): def setUp(self): auth = OAuthHandler(oauth_consumer_key, oauth_consumer_secret) auth.set_access_token(oauth_token, oauth_token_secret) self.api = API(auth) self.api.retry_count = 2 self.api.retry_delay = 5 def test_mentions_timeline(self): self.api.mentions_timeline() def test_user_timeline(self): self.api.user_timeline() self.api.user_timeline('twitter') def test_home_timeline(self): self.api.home_timeline() def test_retweets_of_me(self): self.api.retweets_of_me() @unittest.skip('TODO') def test_retweets(self): self.api.retweets(123) def test_get_status(self): self.api.get_status(id=123) def test_update_and_destroy_status(self): # test update text = 'testing %i' % random.randint(0, 1000) update = self.api.update_status(status=text) self.assertEqual(update.text, text) # test destroy deleted = self.api.destroy_status(id=update.id) self.assertEqual(deleted.id, update.id) @unittest.skip('PAUSE') def test_retweet(self): s = self.api.retweet(123) s.destroy() @unittest.skip('PAUSE') def test_update_with_media(self): self.api.update_with_media() def test_oembed(self): self.api.oembed(id=123) def test_search_tweets(self): self.api.search_tweets('tweepy') def test_direct_messages(self): self.api.direct_messages() def test_sent_direct_messages(self): self.api.sent_direct_messages() def test_send_and_destroy_direct_message(self): # send sent_dm = self.api.send_direct_message(username, text='test message') self.assertEqual(sent_dm.text, 'test message') self.assertEqual(sent_dm.sender.screen_name, username) self.assertEqual(sent_dm.recipient.screen_name, username) # show self.api.get_direct_message(sent_dm.id) # destroy destroyed_dm = self.api.destroy_direct_message(sent_dm.id) self.assertEqual(destroyed_dm.text, sent_dm.text) self.assertEqual(destroyed_dm.id, sent_dm.id) self.assertEqual(destroyed_dm.sender.screen_name, username) self.assertEqual(destroyed_dm.recipient.screen_name, username) def test_friends_ids(self): self.api.friends_ids(username) def test_followers_ids(self): self.api.followers_ids(username) def test_lookup_friendships(self): self.api.lookup_friendships(screen_names=['episod', 'twitterapi']) def test_friendships_incoming(self): self.api.friendships_incoming() def test_friendships_outgoing(self): self.api.friendships_outgoing() def test_create_destroy_friendship(self): enemy = self.api.destroy_friendship('twitter') self.assertEqual(enemy.screen_name, 'twitter') friend = self.api.create_friendship('twitter') self.assertEqual(friend.screen_name, 'twitter') self.api.update_friendship('twitter') def test_show_friendship(self): source, target = self.api.show_friendship(target_screen_name='twtiter') self.assertTrue(isinstance(source, Friendship)) self.assertTrue(isinstance(target, Friendship)) def test_get_settings(self): self.api.get_settings() def test_verify_credentials(self): self.assertNotEqual(self.api.verify_credentials(), False) # make sure that `me.status.entities` is not an empty dict me = self.api.verify_credentials(include_entities=True) self.assertTrue(me.status.entities) # `status` shouldn't be included me = self.api.verify_credentials(skip_status=True) self.assertFalse(hasattr(me, 'status')) def test_update_settings(self): self.api.update_settings(lang='en') def test_update_profile(self): original = self.api.me() profile = { 'name': 'Tweepy test 123', 'url': 'http://www.example.com', 'location': 'pytopia', 'description': 'just testing things out' } updated = self.api.update_profile(**profile) self.api.update_profile( name=original.name, url=original.url, location=original.location, description=original.description ) for k, v in profile.items(): if k == 'email': continue self.assertEqual(getattr(updated, k), v) def test_update_profile_bg(self): self.api.update_profile_background_image(user=1, tile=1) # TODO # self.api.update_profile_background_image(image='examples/bg.png') def test_update_profile_colors(self): original = self.api.me() updated = self.api.update_profile_colors( '000', '000', '000', '000', '000') # restore colors self.api.update_profile_colors( original.profile_background_color, original.profile_text_color, original.profile_link_color, original.profile_sidebar_fill_color, original.profile_sidebar_border_color ) self.assertEqual(updated.profile_background_color, '000') self.assertEqual(updated.profile_text_color, '000') self.assertEqual(updated.profile_link_color, '000') self.assertEqual(updated.profile_sidebar_fill_color, '000') self.assertEqual(updated.profile_sidebar_border_color, '000') @unittest.skip('TODO') def test_upate_profile_image(self): self.api.update_profile_image('examples/profile.png') def test_list_blocks(self): self.api.list_blocks() def test_blocks_ids(self): self.api.blocks_ids() def test_create_destroy_block(self): self.api.create_block('twitter') self.api.destroy_block('twitter') self.api.create_friendship('twitter') # restore def test_lookup_users(self): self.api.lookup_users(screen_names=['twitterapi', 'twitter']) def test_get_user(self): u = self.api.get_user('twitter') self.assertEqual(u.screen_name, 'twitter') u = self.api.get_user(783214) self.assertEqual(u.screen_name, 'twitter') def test_me(self): me = self.api.me() self.assertEqual(username, me.screen_name) def test_search_users(self): self.api.search_users('twitter') def test_contributees(self): self.api.contributees(screen_name='themattharris') def test_contributors(self): self.api.contributors(screen_name='twitterapi') def test_favorites(self): self.api.favorites() def test_create_destroy_favorite(self): self.api.create_favorite(4901062372) self.api.destroy_favorite(4901062372) @unittest.skip('FIXME lists test') def test_lists(self): self.api.lists() def test_list_timeline(self): self.api.list_timeline(slug='teams', owner_screen_name='MLS', count=1) def test_saved_searches(self): s = self.api.create_saved_search('test') self.api.saved_searches() self.assertEqual(self.api.get_saved_search(s.id).query, 'test') self.api.destroy_saved_search(s.id) def test_geo_apis(self): self.api.geo_id(place_id='c3f37afa9efcf94b') # Austin, TX, USA self.api.similar_places(lat=37, long=-122, name='Twitter HQ') self.api.reverse_geocode(lat=30.267370168467806, long=-97.74261474609375) # Austin, TX, USA def test_trends_apis(self): self.api.trends_place(id=1) self.api.trends_available() self.api.trends_closest(lat=37.781157, long=-122.400612831116)