Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- import unittest, json
- import tweepy
- CONSUMER_KEY = "Wf5sFPeWIyOHzxMSBELXUcAtr"
- CONSUMER_SECRET = "QGQ86mj2JZWJZfHlgRXt9VspG1UkDIR8A5R66IUQvb8wXoJI6v"
- access_token = {}
- MAX_MESSAGE_LENGTH = 140
- # Twitter Error Codes
- TWITTER_ERRORS = {
- 'status_too_long': 186,
- 'status_missing': 170
- }
- def setUpModule():
- global access_token
- authfp = open('auth.json', 'w+')
- try:
- access_token = json.load(authfp)
- except ValueError:
- auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
- auth.secure = True
- print 'Please authorize: ' + auth.get_authorization_url()
- auth.get_access_token(raw_input('PIN: ').strip())
- access_token = {
- 'key': auth.access_token.key,
- 'secret': auth.access_token.secret
- }
- json.dump(access_token, authfp)
- class TwitterTest(unittest.TestCase):
- def setUp(self):
- auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
- auth.set_access_token(access_token['key'], access_token['secret'])
- self.tweetapi = tweepy.API(auth)
- def push_status(self, status):
- st = self.tweetapi.update_status(status)
- self.tweetapi.destroy_status(st.id)
- def test_empty_message(self):
- with self.assertRaises(tweepy.TweepError) as cm:
- self.push_status('')
- self.assertEqual(cm.exception.message[0]['code'],
- TWITTER_ERRORS['status_missing'])
- def test_long_message(self):
- with self.assertRaises(tweepy.TweepError) as cm:
- self.push_status('Z' * (MAX_MESSAGE_LENGTH + 1))
- self.assertEqual(cm.exception.message[0]['code'],
- TWITTER_ERRORS['status_too_long'])
- def test_ascii_messsage(self):
- self.push_status('Test ascii message')
- def test_utf_message(self):
- self.push_status(u'Test utf8 message')
- def test_additional_messages(self):
- try:
- addfp = open('additional.json','r')
- for msg in json.load(addfp):
- if isinstance(msg, list):
- msg, code = msg
- with self.assertRaises(tweepy.TweepError) as cm:
- self.push_status(msg)
- self.assertEqual(cm.exception.message[0]['code'], code)
- else:
- self.push_status(msg)
- addfp.close()
- except IOError:
- pass
- if __name__ == "__main__":
- unittest.main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement