Merge pull request #22194 from edx/dsheraz/PROD-870
add encoded video key check in video transformer
This commit is contained in:
@@ -80,7 +80,8 @@ class TestVideoBlockURLTransformer(ModuleStoreTestCase):
|
||||
'url': 'https://1234abcd.cloudfront.net/ABCD1234abcd.mp4',
|
||||
'file_size': 0
|
||||
}
|
||||
}
|
||||
},
|
||||
'only_on_web': False
|
||||
}
|
||||
video_block_key = self.course_key.make_usage_key('video', 'sample_video')
|
||||
pre_transform_data = self.get_pre_transform_data(video_block_key)
|
||||
@@ -109,7 +110,8 @@ class TestVideoBlockURLTransformer(ModuleStoreTestCase):
|
||||
'url': 'https://1234abcd.third_part_cdn.com/ABCD1234abcd.mp4',
|
||||
'file_size': 0
|
||||
}
|
||||
}
|
||||
},
|
||||
'only_on_web': False
|
||||
}
|
||||
video_block_key = self.course_key.make_usage_key('video', 'sample_video')
|
||||
pre_transform_data = self.get_pre_transform_data(video_block_key)
|
||||
@@ -121,3 +123,18 @@ class TestVideoBlockURLTransformer(ModuleStoreTestCase):
|
||||
|
||||
for video_format, video_url in six.iteritems(post_transform_data):
|
||||
self.assertEqual(pre_transform_data[video_format], video_url)
|
||||
|
||||
@mock.patch('xmodule.video_module.VideoBlock.student_view_data')
|
||||
def test_no_rewrite_for_web_only_videos(self, mock_video_data):
|
||||
"""
|
||||
Verify no rewrite attempt is made for the videos
|
||||
available on web only.
|
||||
"""
|
||||
mock_video_data.return_value = {
|
||||
'only_on_web': True
|
||||
}
|
||||
video_block_key = self.course_key.make_usage_key('video', 'sample_video')
|
||||
pre_transform_data = self.get_pre_transform_data(video_block_key)
|
||||
self.collect_and_transform()
|
||||
post_transform_data = self.get_post_transform_data(video_block_key)
|
||||
self.assertDictEqual(pre_transform_data, post_transform_data)
|
||||
|
||||
@@ -46,7 +46,12 @@ class VideoBlockURLTransformer(BlockStructureTransformer):
|
||||
)
|
||||
if not student_view_data:
|
||||
return
|
||||
encoded_videos = student_view_data['encoded_videos']
|
||||
|
||||
# web-only videos don't contain any video information for native clients
|
||||
only_on_web = student_view_data.get('only_on_web')
|
||||
if only_on_web:
|
||||
continue
|
||||
encoded_videos = student_view_data.get('encoded_videos')
|
||||
for video_format, video_data in six.iteritems(encoded_videos):
|
||||
if video_format in self.VIDEO_FORMAT_EXCEPTIONS:
|
||||
continue
|
||||
|
||||
Reference in New Issue
Block a user