|
| 1 | +import twitter |
| 2 | +import json |
| 3 | +import unittest |
| 4 | + |
| 5 | + |
| 6 | +class MediaTest(unittest.TestCase): |
| 7 | + |
| 8 | + RAW_JSON = '''{"display_url": "pic.twitter.com/lX5LVZO", "expanded_url": "http://twitter.com/fakekurrik/status/244204973972410368/photo/1", "id": 244204973989187584, "id_str": "244204973989187584", "indices": [44,63], "media_url": "http://pbs.twimg.com/media/A2OXIUcCUAAXj9k.png", "media_url_https": "https://pbs.twimg.com/media/A2OXIUcCUAAXj9k.png", "sizes": {"large": {"h": 175, "resize": "fit", "w": 333}, "medium": {"h": 175, "resize": "fit", "w": 333}, "small": {"h": 175, "resize": "fit", "w": 333}, "thumb": {"h": 150, "resize": "crop", "w": 150}}, "type": "photo", "url": "http://t.co/lX5LVZO"}''' |
| 9 | + SAMPLE_JSON = '''{"display_url": "pic.twitter.com/lX5LVZO", "expanded_url": "http://twitter.com/fakekurrik/status/244204973972410368/photo/1", "id": 244204973989187584, "media_url": "http://pbs.twimg.com/media/A2OXIUcCUAAXj9k.png", "media_url_https": "https://pbs.twimg.com/media/A2OXIUcCUAAXj9k.png", "type": "photo", "url": "http://t.co/lX5LVZO"}''' |
| 10 | + |
| 11 | + def _GetSampleMedia(self): |
| 12 | + return twitter.Media( |
| 13 | + id=244204973989187584, |
| 14 | + expanded_url='http://twitter.com/fakekurrik/status/244204973972410368/photo/1', |
| 15 | + display_url='pic.twitter.com/lX5LVZO', |
| 16 | + url='http://t.co/lX5LVZO', |
| 17 | + media_url_https='https://pbs.twimg.com/media/A2OXIUcCUAAXj9k.png', |
| 18 | + media_url='http://pbs.twimg.com/media/A2OXIUcCUAAXj9k.png', |
| 19 | + type='photo') |
| 20 | + |
| 21 | + def testInit(self): |
| 22 | + '''Test the twitter.Media constructor''' |
| 23 | + media = twitter.Media( |
| 24 | + id=244204973989187584, |
| 25 | + display_url='pic.twitter.com/7a2z7S8tKL', |
| 26 | + expanded_url='http://twitter.com/NASAJPL/status/672830989895254016/photo/1', |
| 27 | + url='https://t.co/7a2z7S8tKL', |
| 28 | + media_url_https='https://pbs.twimg.com/media/CVZgOC3UEAELUcL.jpg', |
| 29 | + media_url='http://pbs.twimg.com/media/CVZgOC3UEAELUcL.jpg', |
| 30 | + type='photo') |
| 31 | + |
| 32 | + def testProperties(self): |
| 33 | + '''Test all of the twitter.Media properties''' |
| 34 | + media = twitter.Media() |
| 35 | + |
| 36 | + media.id = 244204973989187584 |
| 37 | + media.display_url = 'pic.twitter.com/7a2z7S8tKL' |
| 38 | + media.expanded_url = 'http://twitter.com/NASAJPL/status/672830989895254016/photo/1' |
| 39 | + media.url = 'https://t.co/7a2z7S8tKL' |
| 40 | + media.media_url_https = 'https://pbs.twimg.com/media/CVZgOC3UEAELUcL.jpg' |
| 41 | + media.media_url = 'http://pbs.twimg.com/media/CVZgOC3UEAELUcL.jpg' |
| 42 | + media.type = 'photo' |
| 43 | + |
| 44 | + self.assertEqual('pic.twitter.com/7a2z7S8tKL', media.display_url) |
| 45 | + self.assertEqual( |
| 46 | + 'http://twitter.com/NASAJPL/status/672830989895254016/photo/1', |
| 47 | + media.expanded_url) |
| 48 | + self.assertEqual('https://t.co/7a2z7S8tKL', media.url) |
| 49 | + self.assertEqual( |
| 50 | + 'https://pbs.twimg.com/media/CVZgOC3UEAELUcL.jpg', |
| 51 | + media.media_url_https) |
| 52 | + self.assertEqual( |
| 53 | + 'http://pbs.twimg.com/media/CVZgOC3UEAELUcL.jpg', |
| 54 | + media.media_url) |
| 55 | + self.assertEqual('photo', media.type) |
| 56 | + |
| 57 | + def testAsJsonString(self): |
| 58 | + '''Test the twitter.User AsJsonString method''' |
| 59 | + self.assertEqual(MediaTest.SAMPLE_JSON, |
| 60 | + self._GetSampleMedia().AsJsonString()) |
| 61 | + |
| 62 | + def testAsDict(self): |
| 63 | + '''Test the twitter.Media AsDict method''' |
| 64 | + media = self._GetSampleMedia() |
| 65 | + data = media.AsDict() |
| 66 | + |
| 67 | + self.assertEqual( |
| 68 | + 'pic.twitter.com/lX5LVZO', |
| 69 | + data['display_url']) |
| 70 | + self.assertEqual( |
| 71 | + 'http://twitter.com/fakekurrik/status/244204973972410368/photo/1', |
| 72 | + data['expanded_url']) |
| 73 | + self.assertEqual('http://t.co/lX5LVZO', data['url']) |
| 74 | + self.assertEqual( |
| 75 | + 'https://pbs.twimg.com/media/A2OXIUcCUAAXj9k.png', |
| 76 | + data['media_url_https']) |
| 77 | + self.assertEqual( |
| 78 | + 'http://pbs.twimg.com/media/A2OXIUcCUAAXj9k.png', |
| 79 | + data['media_url']) |
| 80 | + |
| 81 | + self.assertEqual('photo', data['type']) |
| 82 | + |
| 83 | + def testEq(self): |
| 84 | + '''Test the twitter.Media __eq__ method''' |
| 85 | + media = twitter.Media() |
| 86 | + media.id = 244204973989187584 |
| 87 | + media.display_url = 'pic.twitter.com/lX5LVZO' |
| 88 | + media.expanded_url = 'http://twitter.com/fakekurrik/status/244204973972410368/photo/1' |
| 89 | + media.url = 'http://t.co/lX5LVZO' |
| 90 | + media.media_url_https = 'https://pbs.twimg.com/media/A2OXIUcCUAAXj9k.png' |
| 91 | + media.media_url = 'http://pbs.twimg.com/media/A2OXIUcCUAAXj9k.png' |
| 92 | + media.type = 'photo' |
| 93 | + |
| 94 | + self.assertEqual(media, self._GetSampleMedia()) |
| 95 | + |
| 96 | + def testNewFromJsonDict(self): |
| 97 | + '''Test the twitter.Media NewFromJsonDict method''' |
| 98 | + data = json.loads(MediaTest.RAW_JSON) |
| 99 | + media = twitter.Media.NewFromJsonDict(data) |
| 100 | + self.assertEqual(self._GetSampleMedia(), media) |
0 commit comments