def test_get_video_for_course_profiles_video_with_one_profile(self): """ Tests get_video_info_for_course_and_profiles with one of two profiles """ videos = api.get_video_info_for_course_and_profiles( 'test-course2', ['mobile']) expected_dict = {} expected_dict.update(self._create_video_dict( constants.VIDEO_DICT_TREE, { constants.PROFILE_MOBILE: constants.ENCODED_VIDEO_DICT_MOBILE3 } )) self.assertEqual(videos, expected_dict) videos = api.get_video_info_for_course_and_profiles( 'test-course2', ['desktop']) expected_dict = {} expected_dict.update(self._create_video_dict( constants.VIDEO_DICT_PLANT, { constants.PROFILE_DESKTOP: constants.ENCODED_VIDEO_DICT_DESKTOP3 } )) self.assertEqual(videos, expected_dict)
def test_get_video_for_course_profiles_no_profile(self): """Tests get_video_info_for_course_and_profiles with no such profile""" videos = api.get_video_info_for_course_and_profiles( 'test-course', ['no_profile']) self.assertEqual(len(videos), 0) videos = api.get_video_info_for_course_and_profiles( 'test-course', []) self.assertEqual(len(videos), 0) videos = api.get_video_info_for_course_and_profiles( 'test-course', ['mobile', 'no_profile']) expected_dict = {} expected_dict.update(self._create_video_dict( constants.VIDEO_DICT_FISH, { constants.PROFILE_MOBILE: constants.ENCODED_VIDEO_DICT_MOBILE } )) expected_dict.update(self._create_video_dict( constants.VIDEO_DICT_STAR, { constants.PROFILE_MOBILE: constants.ENCODED_VIDEO_DICT_MOBILE2 } )) self.assertEqual(videos, expected_dict)
def test_get_video_for_course_profiles_success_two_profiles(self): """ Tests get_video_info_for_course_and_profiles for two profile """ videos = api.get_video_info_for_course_and_profiles("test-course", ["mobile", "desktop"]) expected_dict = {} expected_dict.update( self._create_video_dict( constants.VIDEO_DICT_FISH, { constants.PROFILE_MOBILE: constants.ENCODED_VIDEO_DICT_MOBILE, constants.PROFILE_DESKTOP: constants.ENCODED_VIDEO_DICT_DESKTOP, }, ) ) expected_dict.update( self._create_video_dict( constants.VIDEO_DICT_STAR, { constants.PROFILE_MOBILE: constants.ENCODED_VIDEO_DICT_MOBILE2, constants.PROFILE_DESKTOP: constants.ENCODED_VIDEO_DICT_DESKTOP2, }, ) ) self.assertEqual(videos, expected_dict)
def test_get_video_for_course_profiles_hls(self): """ Tests get_video_info_for_course_and_profiles for hls profile """ videos = api.get_video_info_for_course_and_profiles( self.course_id, ['hls']) self.assertEqual( videos, self._create_video_dict( constants.VIDEO_DICT_FISH, {constants.PROFILE_HLS: constants.ENCODED_VIDEO_DICT_HLS}))
def test_get_video_for_course_profiles_video_with_one_profile(self): """ Tests get_video_info_for_course_and_profiles with one of two profiles """ videos = api.get_video_info_for_course_and_profiles("test-course2", ["mobile"]) expected_dict = {} expected_dict.update( self._create_video_dict( constants.VIDEO_DICT_TREE, {constants.PROFILE_MOBILE: constants.ENCODED_VIDEO_DICT_MOBILE3} ) ) self.assertEqual(videos, expected_dict) videos = api.get_video_info_for_course_and_profiles("test-course2", ["desktop"]) expected_dict = {} expected_dict.update( self._create_video_dict( constants.VIDEO_DICT_PLANT, {constants.PROFILE_DESKTOP: constants.ENCODED_VIDEO_DICT_DESKTOP3} ) ) self.assertEqual(videos, expected_dict)
def test_get_video_for_course_profiles_no_profile(self): """Tests get_video_info_for_course_and_profiles with no such profile""" videos = api.get_video_info_for_course_and_profiles("test-course", ["no_profile"]) self.assertEqual(len(videos), 0) videos = api.get_video_info_for_course_and_profiles("test-course", []) self.assertEqual(len(videos), 0) videos = api.get_video_info_for_course_and_profiles("test-course", ["mobile", "no_profile"]) expected_dict = {} expected_dict.update( self._create_video_dict( constants.VIDEO_DICT_FISH, {constants.PROFILE_MOBILE: constants.ENCODED_VIDEO_DICT_MOBILE} ) ) expected_dict.update( self._create_video_dict( constants.VIDEO_DICT_STAR, {constants.PROFILE_MOBILE: constants.ENCODED_VIDEO_DICT_MOBILE2} ) ) self.assertEqual(videos, expected_dict)
def __init__(self, course_id, start_block, block_types, request, video_profiles): """Create a BlockOutline using `start_block` as a starting point.""" self.start_block = start_block self.block_types = block_types self.course_id = course_id self.request = request # needed for making full URLS self.local_cache = {} try: self.local_cache['course_videos'] = get_video_info_for_course_and_profiles( unicode(course_id), video_profiles ) except ValInternalError: # pragma: nocover self.local_cache['course_videos'] = {}
def __init__(self, course_id, start_block, block_types, request, video_profiles): """Create a BlockOutline using `start_block` as a starting point.""" self.start_block = start_block self.block_types = block_types self.course_id = course_id self.request = request # needed for making full URLS self.local_cache = {} try: self.local_cache['course_videos'] = get_video_info_for_course_and_profiles( unicode(course_id), video_profiles ) except ValInternalError: # pragma: nocover self.local_cache['course_videos'] = {}
def test_get_video_for_course_profiles_success_one_profile(self): """ Tests get_video_info_for_course_and_profiles for one profile """ videos = api.get_video_info_for_course_and_profiles(self.course_id, ["mobile"]) expected_dict = {} expected_dict.update( self._create_video_dict( constants.VIDEO_DICT_FISH, {constants.PROFILE_MOBILE: constants.ENCODED_VIDEO_DICT_MOBILE} ) ) expected_dict.update( self._create_video_dict( constants.VIDEO_DICT_STAR, {constants.PROFILE_MOBILE: constants.ENCODED_VIDEO_DICT_MOBILE2} ) ) self.assertEqual(videos, expected_dict)
def test_get_video_for_course_profiles_success_one_profile(self): """ Tests get_video_info_for_course_and_profiles for one profile """ videos = api.get_video_info_for_course_and_profiles( self.course_id, ['mobile']) expected_dict = {} expected_dict.update( self._create_video_dict(constants.VIDEO_DICT_FISH, { constants.PROFILE_MOBILE: constants.ENCODED_VIDEO_DICT_MOBILE })) expected_dict.update( self._create_video_dict(constants.VIDEO_DICT_STAR, { constants.PROFILE_MOBILE: constants.ENCODED_VIDEO_DICT_MOBILE2 })) self.assertEqual(videos, expected_dict)
def test_get_video_for_course_profiles_success_two_profiles(self): """ Tests get_video_info_for_course_and_profiles for two profile """ videos = api.get_video_info_for_course_and_profiles( 'test-course', ['mobile', 'desktop']) expected_dict = {} expected_dict.update(self._create_video_dict( constants.VIDEO_DICT_FISH, { constants.PROFILE_MOBILE: constants.ENCODED_VIDEO_DICT_MOBILE, constants.PROFILE_DESKTOP: constants.ENCODED_VIDEO_DICT_DESKTOP, } )) expected_dict.update(self._create_video_dict( constants.VIDEO_DICT_STAR, { constants.PROFILE_MOBILE: constants.ENCODED_VIDEO_DICT_MOBILE2, constants.PROFILE_DESKTOP: constants.ENCODED_VIDEO_DICT_DESKTOP2, } )) self.assertEqual(videos, expected_dict)
def get_cached_val_data_for_course(self, video_profile_names, course_id): """ Returns the VAL data for the requested video profiles for the given course. """ return edxval_api.get_video_info_for_course_and_profiles(unicode(course_id), video_profile_names)
def get_cached_val_data_for_course(cls, request_cache, video_profile_names, course_id): """ Returns the VAL data for the requested video profiles for the given course. """ return edxval_api.get_video_info_for_course_and_profiles(six.text_type(course_id), video_profile_names)