Revision 4679199e7c8f50ce5e8f90d189af2b75e69a3bd4 authored by Madhu Kumar Dadi on 12 March 2017, 17:09:58 UTC, committed by Madhu Kumar Dadi on 12 March 2017, 17:09:58 UTC
1 parent 4566600
test_media.py
# -*- coding: utf-8 -*-
import json
import unittest
import twitter
class MediaTest(unittest.TestCase):
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}}
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"}'''
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", "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"}'''
def _GetSampleMedia(self):
return twitter.Media(
id=244204973989187584,
expanded_url='http://twitter.com/fakekurrik/status/244204973972410368/photo/1',
display_url='pic.twitter.com/lX5LVZO',
url='http://t.co/lX5LVZO',
media_url_https='https://pbs.twimg.com/media/A2OXIUcCUAAXj9k.png',
media_url='http://pbs.twimg.com/media/A2OXIUcCUAAXj9k.png',
sizes=MediaTest.SIZES,
type='photo')
def testInit(self):
'''Test the twitter.Media constructor'''
media = twitter.Media(
id=244204973989187584,
display_url='pic.twitter.com/7a2z7S8tKL',
expanded_url='http://twitter.com/NASAJPL/status/672830989895254016/photo/1',
url='https://t.co/7a2z7S8tKL',
media_url_https='https://pbs.twimg.com/media/CVZgOC3UEAELUcL.jpg',
media_url='http://pbs.twimg.com/media/CVZgOC3UEAELUcL.jpg',
type='photo')
def testProperties(self):
'''Test all of the twitter.Media properties'''
media = twitter.Media()
media.id = 244204973989187584
media.display_url = 'pic.twitter.com/7a2z7S8tKL'
media.expanded_url = 'http://twitter.com/NASAJPL/status/672830989895254016/photo/1'
media.url = 'https://t.co/7a2z7S8tKL'
media.media_url_https = 'https://pbs.twimg.com/media/CVZgOC3UEAELUcL.jpg'
media.media_url = 'http://pbs.twimg.com/media/CVZgOC3UEAELUcL.jpg'
media.type = 'photo'
self.assertEqual('pic.twitter.com/7a2z7S8tKL', media.display_url)
self.assertEqual(
'http://twitter.com/NASAJPL/status/672830989895254016/photo/1',
media.expanded_url)
self.assertEqual('https://t.co/7a2z7S8tKL', media.url)
self.assertEqual(
'https://pbs.twimg.com/media/CVZgOC3UEAELUcL.jpg',
media.media_url_https)
self.assertEqual(
'http://pbs.twimg.com/media/CVZgOC3UEAELUcL.jpg',
media.media_url)
self.assertEqual('photo', media.type)
def testAsJsonString(self):
'''Test the twitter.User AsJsonString method'''
self.assertEqual(MediaTest.SAMPLE_JSON,
self._GetSampleMedia().AsJsonString())
def testAsDict(self):
'''Test the twitter.Media AsDict method'''
media = self._GetSampleMedia()
data = media.AsDict()
self.assertEqual(
'pic.twitter.com/lX5LVZO',
data['display_url'])
self.assertEqual(
'http://twitter.com/fakekurrik/status/244204973972410368/photo/1',
data['expanded_url'])
self.assertEqual('http://t.co/lX5LVZO', data['url'])
self.assertEqual(
'https://pbs.twimg.com/media/A2OXIUcCUAAXj9k.png',
data['media_url_https'])
self.assertEqual(
'http://pbs.twimg.com/media/A2OXIUcCUAAXj9k.png',
data['media_url'])
self.assertEqual('photo', data['type'])
def testEq(self):
'''Test the twitter.Media __eq__ method'''
media = twitter.Media()
media.id = 244204973989187584
media.display_url = 'pic.twitter.com/lX5LVZO'
media.expanded_url = 'http://twitter.com/fakekurrik/status/244204973972410368/photo/1'
media.url = 'http://t.co/lX5LVZO'
media.media_url_https = 'https://pbs.twimg.com/media/A2OXIUcCUAAXj9k.png'
media.media_url = 'http://pbs.twimg.com/media/A2OXIUcCUAAXj9k.png'
media.type = 'photo'
media.sizes = MediaTest.SIZES
self.assertEqual(media, self._GetSampleMedia())
def testNewFromJsonDict(self):
'''Test the twitter.Media NewFromJsonDict method'''
data = json.loads(MediaTest.RAW_JSON)
media = twitter.Media.NewFromJsonDict(data)
self.assertEqual(self._GetSampleMedia(), media)
def test_media_info(self):
with open('testdata/get_status_promoted_video_tweet.json', 'r') as f:
tweet = twitter.Status.NewFromJsonDict(json.loads(f.read()))
media = tweet.media[0]
self.assertTrue(isinstance(tweet.media, list))
self.assertTrue(media.video_info)
self.assertTrue(media.video_info.get('variants', None))
self.assertTrue(
media.video_info.get('variants', None)[0]['url'],
'https://video.twimg.com/amplify_video/778025997606105089/vid/320x180/5Qr0z_HeycC2DvRj.mp4')
Computing file changes ...