Esempio n. 1
0
    def test_update_val(self, course_ids, image_keys, post_called,
                        post_call_count, mock_request):
        """
        Verify that VideoImages.update_val method works as expected.
        """
        with patch('video_worker.video_images.requests.post',
                   Mock(return_value=Mock(ok=True))) as mock_post:
            MockVideo.course_url = course_ids
            video_images.VideoImages(
                video_object=MockVideo,
                work_dir=self.work_dir,
                source_file=self.source_file,
                jobid=101,
                settings=self.settings).update_val(image_keys)

            for course_id in course_ids:
                expected_data = {
                    'course_id': course_id,
                    'edx_video_id': None,
                    'generated_images': image_keys
                }
                if post_called:
                    mock_request.assert_any_call(
                        'POST',
                        self.settings['val_video_images_url'],
                        json=expected_data)
                self.assertEqual(mock_request.call_count, post_call_count)
Esempio n. 2
0
    def test_create_and_update(self, mock_update_val, mock_upload,
                               mock_generate):
        """
        Verify that VideoImages.create_and_update method works as expected.
        """
        video_images.VideoImages(video_object=MockVideo,
                                 work_dir=self.work_dir,
                                 source_file=self.source_file,
                                 jobid=101,
                                 settings=self.settings).create_and_update()

        self.assertTrue(mock_generate.called)
        mock_upload.assert_called_with(['a/1.png'])
        mock_update_val.assert_called_with(['s3://images/a/1.png'])
Esempio n. 3
0
    def test_upload_image_keys(self):
        """
        Verify that VideoImages.upload construct correct s3 keys.
        """
        conn = S3Connection()
        conn.create_bucket(self.settings['aws_video_images_bucket'])

        s3_image_keys = video_images.VideoImages(
            video_object=MockVideo,
            work_dir=self.work_dir,
            source_file=self.source_file,
            jobid=101,
            settings=self.settings).upload(['video_worker/tests/data/edx.jpg'])

        self.assertEqual(s3_image_keys, ['video-images/edx.jpg'])
Esempio n. 4
0
    def test_generate(self):
        """
        Verify that VideoImages.generate method works as expected.
        """
        images = video_images.VideoImages(video_object=MockVideo,
                                          work_dir=self.work_dir,
                                          source_file=self.source_file,
                                          jobid=101,
                                          settings=self.settings).generate()

        self.assertEqual(len(images), video_images.IMAGE_COUNT)

        for image in images:
            with Image.open(image) as img:
                self.assertEqual(
                    img.size,
                    (video_images.IMAGE_WIDTH, video_images.IMAGE_HEIGHT))
Esempio n. 5
0
    def test_update_val(self, course_ids, image_keys, post_called,
                        post_call_count):
        """
        Verify that VideoImages.update_val method works as expected.
        """
        with patch('video_worker.video_images.requests.post',
                   Mock(return_value=Mock(ok=True))) as mock_post:
            MockVideo.course_url = course_ids
            video_images.VideoImages(
                video_object=MockVideo,
                work_dir=self.work_dir,
                source_file=self.source_file,
                jobid=101,
                settings=self.settings).update_val(image_keys)

            self.assertEqual(mock_post.called, post_called)
            self.assertEqual(mock_post.call_count, post_call_count)