def test_transcode_video_success(self):
factories.VideoFactory(public_id='videoid', public_thumbnail_id='thumbid')
mock_backend = Mock(return_value=Mock(
start_transcoding=Mock(return_value=['job1']),
check_progress=Mock(return_value=(42, True)),
iter_formats=Mock(return_value=[('SD', 128)]),
create_thumbnail=Mock(),
))
with override_settings(PLUGIN_BACKEND=mock_backend):
tasks.transcode_video('videoid')
self.assertEqual(1, models.ProcessingState.objects.count())
video_processing_state = models.ProcessingState.objects.get()
self.assertEqual(models.ProcessingState.STATUS_SUCCESS, video_processing_state.status)
self.assertEqual("", video_processing_state.message)
self.assertEqual(42, video_processing_state.progress)
mock_backend.return_value.create_thumbnail.assert_called_once_with('videoid', 'thumbid')
mock_backend.return_value.check_progress.assert_called_once_with('job1')
self.assertEqual(1, models.VideoFormat.objects.count())
video_format = models.VideoFormat.objects.get()
self.assertEqual('videoid', video_format.video.public_id)
self.assertEqual('SD', video_format.name)
self.assertEqual(128, video_format.bitrate)
评论列表
文章目录