def test_item_states(self, ConnectionMock): api = self._get_list_mock(ConnectionMock) video = Video(name="Name of video", id=TEST_VIDEO_ID) video.item_state = enums.ItemStateEnum.PENDING, video.save() item_state_sent = api.method_calls[1][2]['video']['itemState'][0] self.assertEquals(item_state_sent, enums.ItemStateEnum.PENDING)
def test_save_new(self, ConnectionMock): m = ConnectionMock() m.post.return_value = 10 video = Video(filename='bears.mov', name='The Bears', short_description='Opening roll for an exciting soccer match.') video.tags.append('unittest') self.assertEquals(video.id, None) video.save() self.assertEquals(video.id, 10) self.assertEquals(m.method_calls[0][0], 'post') self.assertEquals(m.method_calls[0][1][0], 'create_video')
def test_save_new_with_renditions(self, ConnectionMock): m = ConnectionMock() m.post.return_value = 10 renditions = [] r = pybrightcove.video.Rendition() r.remote_url = 'http://my.server.com/640_h264.flv' r.size = 232522522 r.video_duration = 60000 r.video_codec = pybrightcove.enums.VideoCodecEnum.H264 renditions.append(r) r = pybrightcove.video.Rendition() r.remote_url = 'http://my.server.com/560_h264.flv' r.size = 23252252 r.video_duration = 60000 r.video_codec = pybrightcove.enums.VideoCodecEnum.H264 renditions.append(r) r = pybrightcove.video.Rendition() r.remote_url = 'http://my.server.com/480_h264.flv' r.size = 2325225 r.video_duration = 60000 r.video_codec = pybrightcove.enums.VideoCodecEnum.H264 renditions.append(r) video = Video(name='The Bears', renditions=renditions, short_description='Opening roll for an exciting soccer match.') video.tags.append('unittest') self.assertEquals(video.id, None) video.save() m.post.return_value = {'id': 123456, 'referenceId': 777777, 'type': 'VIDEO_STILL', 'remoteUrl': 'http://my.sample.com/image-2', 'displayName': None} i = pybrightcove.video.Image() i.type = pybrightcove.enums.ImageTypeEnum.THUMBNAIL i.remote_url = 'http://my.sample.com/image-1.jpg' video.set_image(i) i = pybrightcove.video.Image() i.type = pybrightcove.enums.ImageTypeEnum.VIDEO_STILL i.remote_url = 'http://my.sample.com/image-2.jpg' video.set_image(i) self.assertEquals(video.id, 10) self.assertEquals(m.method_calls[0][0], 'post') self.assertEquals(m.method_calls[0][1][0], 'create_video') self.assertEquals(len(m.method_calls[0][2]['video']['renditions']), 3) self.assertEquals(m.method_calls[0][2]['video']['renditions'][1]['remoteUrl'], 'http://my.server.com/560_h264.flv') self.assertEquals(m.method_calls[1][0], 'post') self.assertEquals(m.method_calls[1][1][0], 'add_image') self.assertEquals(m.method_calls[1][2]['image']['remoteUrl'], 'http://my.sample.com/image-1.jpg') self.assertEquals(m.method_calls[2][0], 'post') self.assertEquals(m.method_calls[2][1][0], 'add_image') self.assertEquals(m.method_calls[2][2]['image']['remoteUrl'], 'http://my.sample.com/image-2.jpg')
def test_save_update(self, ConnectionMock): m = ConnectionMock() m.post.return_value = VIDEO_DATA m.get_item.return_value = VIDEO_DATA video = Video(id=TEST_VIDEO_ID) video.tags.append('tag-%s' % self.test_uuid) video.tags.append('unittest') self.assertEquals(video.id, TEST_VIDEO_ID) video.save() self.assertEquals(video.id, TEST_VIDEO_ID) self.assertEquals(video.reference_id, TEST_VIDEO_REF_ID) self.assertEquals(m.method_calls[0][0], 'get_item') self.assertEquals(m.method_calls[1][0], 'post') self.assertEquals(m.method_calls[1][1][0], 'update_video') self.assertTrue('unittest' in m.method_calls[1][2]['video']['tags']) self.assertTrue('tag-%s' % self.test_uuid in m.method_calls[1][2]['video']['tags'])
def test_save_new_with_metadata(self, ConnectionMock): m = ConnectionMock() m.post.return_value = TEST_VIDEO_ID video = Video(filename='bears.mov', name='The Bears', short_description='Opening roll for an exciting soccer match.') video.tags.append('unittest') self.assertEquals(video.id, None) video.add_custom_metadata('genre', 'Sci-Fi') video.add_custom_metadata('rating', 'PG-13') video.save() self.assertEquals(video.id, TEST_VIDEO_ID) self.assertEquals(m.method_calls[0][0], 'post') self.assertEquals(m.method_calls[0][1][0], 'create_video') self.assertTrue('unittest' in m.method_calls[0][2]['video']['tags']) self.assertTrue('customFields' in m.method_calls[0][2]['video']) self.assertTrue('genre' in m.method_calls[0][2]['video']['customFields']) self.assertTrue('rating' in m.method_calls[0][2]['video']['customFields']) self.assertEquals(m.method_calls[0][2]['video']['customFields']['genre'], 'Sci-Fi') self.assertEquals(m.method_calls[0][2]['video']['customFields']['rating'], 'PG-13')
def test_save_update_with_metadata(self, ConnectionMock): m = ConnectionMock() m.post.return_value = VIDEO_DATA m.get_item.return_value = VIDEO_DATA video = Video(id=TEST_VIDEO_ID) video.tags.append('tag-%s' % self.test_uuid) video.tags.append('unittest') video.add_custom_metadata('genre', 'Sci-Fi', 'string') video.add_custom_metadata('rating', 'PG-13', 'string') self.assertEquals(video.id, TEST_VIDEO_ID) video.save() self.assertEquals(video.id, TEST_VIDEO_ID) self.assertEquals(video.reference_id, TEST_VIDEO_REF_ID) self.assertEquals(m.method_calls[0][0], 'get_item') self.assertEquals(m.method_calls[1][0], 'post') self.assertEquals(m.method_calls[1][1][0], 'update_video') self.assertTrue('unittest' in m.method_calls[1][2]['video']['tags']) self.assertTrue('tag-%s' % self.test_uuid in m.method_calls[1][2]['video']['tags']) self.assertTrue('customFields' in m.method_calls[1][2]['video']) self.assertTrue('genre' in m.method_calls[1][2]['video']['customFields']) self.assertTrue('rating' in m.method_calls[1][2]['video']['customFields']) self.assertEquals(m.method_calls[1][2]['video']['customFields']['genre'], 'Sci-Fi') self.assertEquals(m.method_calls[1][2]['video']['customFields']['rating'], 'PG-13')