def test_encoded_video_set_output(self): """ Tests for basic structure of EncodedVideoSetSerializer """ video = Video.objects.create(**constants.VIDEO_DICT_FISH) EncodedVideo.objects.create( video=video, profile=Profile.objects.get(profile_name="desktop"), **constants.ENCODED_VIDEO_DICT_DESKTOP ) EncodedVideo.objects.create( video=video, profile=Profile.objects.get(profile_name="mobile"), **constants.ENCODED_VIDEO_DICT_MOBILE ) EncodedVideo.objects.create( video=video, profile=Profile.objects.get(profile_name="hls"), **constants.ENCODED_VIDEO_DICT_HLS ) result = VideoSerializer(video).data # pylint: disable=E1101 # Check for 3 EncodedVideo entries self.assertEqual(len(result.get("encoded_videos")), 3) # Check for original Video data self.assertDictContainsSubset(constants.VIDEO_DICT_FISH, result)
def test_encoded_video_set_output(self): """ Tests for basic structure of EncodedVideoSetSerializer """ video = Video.objects.create(**constants.VIDEO_DICT_FISH) EncodedVideo.objects.create( video=video, profile=Profile.objects.get(profile_name="desktop"), **constants.ENCODED_VIDEO_DICT_DESKTOP ) EncodedVideo.objects.create( video=video, profile=Profile.objects.get(profile_name="mobile"), **constants.ENCODED_VIDEO_DICT_MOBILE ) EncodedVideo.objects.create( video=video, profile=Profile.objects.get(profile_name="hls"), **constants.ENCODED_VIDEO_DICT_HLS ) result = VideoSerializer(video).data # Check for 3 EncodedVideo entries self.assertEqual(len(result.get("encoded_videos")), 3) # Check for original Video data matching_dict = {k: v for k, v in result.items() if k in constants.VIDEO_DICT_FISH} assert constants.VIDEO_DICT_FISH == matching_dict
def test_invalid_edx_video_id(self): """ Test the Video model regex validation for edx_video_id field """ error = VideoSerializer(data=constants.VIDEO_DICT_INVALID_ID).errors # pylint: disable=E1101 message = error.get("edx_video_id")[0] self.assertEqual( message, u"edx_video_id has invalid characters")
def test_negative_fields_for_video_serializer(self): """ Tests negative inputs for VideoSerializer Tests negative inputs for duration in model Video """ errors = VideoSerializer( # pylint: disable=E1101 data=constants.VIDEO_DICT_NEGATIVE_DURATION).errors self.assertEqual(errors.get('duration')[0], u"Ensure this value is greater than or equal to 0.")
def test_encoded_video_set_output(self): """ Tests for basic structure of EncodedVideoSetSerializer """ video = Video.objects.create(**constants.VIDEO_DICT_FISH) EncodedVideo.objects.create( video=video, profile=Profile.objects.get(profile_name="desktop"), **constants.ENCODED_VIDEO_DICT_DESKTOP) EncodedVideo.objects.create( video=video, profile=Profile.objects.get(profile_name="mobile"), **constants.ENCODED_VIDEO_DICT_MOBILE) result = VideoSerializer(video).data # pylint: disable=E1101 # Check for 2 EncodedVideo entries self.assertEqual(len(result.get("encoded_videos")), 2) # Check for original Video data self.assertDictContainsSubset(constants.VIDEO_DICT_FISH, result)