X-Git-Url: https://jfr.im/git/z_archive/twitter.git/blobdiff_plain/8ac8f6bb94866160116f5419ba8899ff787e877c..ed074882c9ea578b4fb22c2613f71989b6558ce1:/tests/test_sanity.py diff --git a/tests/test_sanity.py b/tests/test_sanity.py index fe3a197..b1038ac 100644 --- a/tests/test_sanity.py +++ b/tests/test_sanity.py @@ -1,71 +1,90 @@ # encoding: utf8 from random import choice +import time from twitter import Twitter, NoAuth, OAuth, read_token_file from twitter.cmdline import CONSUMER_KEY, CONSUMER_SECRET noauth = NoAuth() oauth = OAuth(*read_token_file('tests/oauth_creds') - + (CONSUMER_KEY, CONSUMER_SECRET)) + + (CONSUMER_KEY, CONSUMER_SECRET)) -twitter = Twitter(domain='api.twitter.com', - auth=oauth, - api_version='1') -twitter_na = Twitter(domain='api.twitter.com', auth=noauth, api_version='1') +twitter1 = Twitter(domain='api.twitter.com', + auth=oauth, + api_version='1') +twitter11 = Twitter(domain='api.twitter.com', + auth=oauth, + api_version='1.1') + +twitter_na = Twitter(domain='api.twitter.com', auth=noauth, api_version='1.1') AZaz = "abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ" + def get_random_str(): return ''.join(choice(AZaz) for _ in range(10)) -def test_API_get_some_public_tweets(): - updates = twitter_na.statuses.public_timeline() - assert updates - assert updates[0]['created_at'] +def test_v1_not_supported(): + # Arrange + random_tweet = "Random tweet that shouldn't be posted " + get_random_str() + + # Act + try: + twitter1.statuses.update(status=random_tweet) + time.sleep(2) + error = False + except: + error = True + + # Assert + assert error def test_API_set_tweet(): random_tweet = "A random tweet " + get_random_str() - twitter.statuses.update(status=random_tweet) - - recent = twitter.statuses.user_timeline() + twitter11.statuses.update(status=random_tweet) + time.sleep(2) + recent = twitter11.statuses.user_timeline() assert recent + assert isinstance(recent.rate_limit_remaining, int) + assert isinstance(recent.rate_limit_reset, int) assert random_tweet == recent[0]['text'] def test_API_set_unicode_tweet(): - random_tweet = u"A random tweet with unicode ⇰ÐÀ " + get_random_str() - twitter.statuses.update(status=random_tweet) + random_tweet = u"A random tweet with unicode üøπ" + get_random_str() + twitter11.statuses.update(status=random_tweet) - recent = twitter.statuses.user_timeline() + recent = twitter11.statuses.user_timeline() assert recent assert random_tweet == recent[0]['text'] -def test_API_friendship_exists(): - assert True == twitter.friendships.exists( - user_a='ptttest0001', user_b='sixohsix') - assert False == twitter.friendships.exists( - user_a='gruber', user_b='ptttest0001') - - def test_search(): - t_search = Twitter(domain='search.twitter.com') - results = t_search.search(q='foo') + # In 1.1, search works on api.twitter.com not search.twitter.com + # and requires authorisation + results = twitter11.search.tweets(q='foo') assert results def test_get_trends(): # This is one method of inserting parameters, using named # underscore params. - world_trends = twitter.trends._woeid(_woeid=1) + world_trends = twitter11.trends._woeid(_woeid=1) assert world_trends def test_get_trends_2(): # This is a nicer variation of the same call as above. - world_trends = twitter.trends._(1) + world_trends = twitter11.trends._(1) assert world_trends + + +def test_get_trends_3(): + # Of course they broke it all again in 1.1... + assert twitter11.trends.place(_id=1) + +# End of file