예제 #1
0
    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')
예제 #2
0
 def test_set_image(self, ConnectionMock):
     image = pybrightcove.video.Image(reference_id="img-%s" % self.test_uuid,
                   display_name="My Test Image",
                   type=pybrightcove.enums.ImageTypeEnum.VIDEO_STILL)
     m = ConnectionMock()
     m.post.return_value = IMAGE_DATA
     m.get_item.return_value = VIDEO_DATA
     video = Video(id=TEST_VIDEO_ID)
     video.set_image(image, filename="IMG_0050.JPG")
     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], 'add_image')
     self.assertEquals(m.method_calls[1][2]['video_id'], TEST_VIDEO_ID)
     self.assertEquals(video.image.to_dict(), IMAGE_DATA)