From 52814967cd2ed0c93d68ae06e11322442e651293 Mon Sep 17 00:00:00 2001 From: vijeth-aradhya Date: Sat, 17 Jun 2017 01:58:58 +0530 Subject: Fix test_celery_setup error Add mediagoblin.media_types.video.processing as a task module. --- mediagoblin/tests/test_celery_setup.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'mediagoblin/tests') diff --git a/mediagoblin/tests/test_celery_setup.py b/mediagoblin/tests/test_celery_setup.py index 0749c7f4..606e5906 100644 --- a/mediagoblin/tests/test_celery_setup.py +++ b/mediagoblin/tests/test_celery_setup.py @@ -48,8 +48,9 @@ def test_setup_celery_from_config(): assert isinstance(fake_celery_module.CELERYD_ETA_SCHEDULER_PRECISION, float) assert fake_celery_module.CELERY_RESULT_PERSISTENT is True assert fake_celery_module.CELERY_IMPORTS == [ - 'foo.bar.baz', 'this.is.an.import', 'mediagoblin.processing.task', \ - 'mediagoblin.notifications.task', 'mediagoblin.submit.task'] + 'foo.bar.baz', 'this.is.an.import', 'mediagoblin.processing.task', + 'mediagoblin.notifications.task', 'mediagoblin.submit.task', + 'mediagoblin.media_types.video.processing'] assert fake_celery_module.CELERY_RESULT_BACKEND == 'database' assert fake_celery_module.CELERY_RESULT_DBURI == ( 'sqlite:///' + -- cgit v1.2.3 From 2771f4678a483665cb33fe414b50b445f7df07c8 Mon Sep 17 00:00:00 2001 From: vijeth-aradhya Date: Sat, 24 Jun 2017 22:45:14 +0530 Subject: Add VideoProcessingManager.workflow() tests Testing workflow method including its return data. --- mediagoblin/tests/test_submission.py | 69 ++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) (limited to 'mediagoblin/tests') diff --git a/mediagoblin/tests/test_submission.py b/mediagoblin/tests/test_submission.py index f51b132c..dc310965 100644 --- a/mediagoblin/tests/test_submission.py +++ b/mediagoblin/tests/test_submission.py @@ -47,9 +47,11 @@ import os import pytest import webtest.forms import pkg_resources +import mock import six.moves.urllib.parse as urlparse +from celery import Signature from mediagoblin.tests.tools import ( fixture_add_user, fixture_add_collection, get_app) from mediagoblin import mg_globals @@ -58,6 +60,10 @@ from mediagoblin.db.base import Session from mediagoblin.tools import template from mediagoblin.media_types.image import ImageMediaManager from mediagoblin.media_types.pdf.processing import check_prerequisites as pdf_check_prerequisites +from mediagoblin.media_types.video.processing import ( + VideoProcessingManager, main_task, complimentary_task, group) +from mediagoblin.media_types.video.util import ACCEPTED_RESOLUTIONS +from mediagoblin.submit.lib import new_upload_entry from .resources import GOOD_JPG, GOOD_PNG, EVIL_FILE, EVIL_JPG, EVIL_PNG, \ BIG_BLUE, GOOD_PDF, GPS_JPG, MED_PNG, BIG_PNG @@ -101,6 +107,16 @@ def pdf_plugin_app(request): 'mediagoblin.tests', 'test_mgoblin_app_pdf.ini')) +def get_sample_entry(user): + entry = new_upload_entry(user) + entry.media_type = 'mediagoblin.media_types.video' + entry.title = 'testentry' + entry.description = u"" + entry.license = None + entry.media_metadata = {} + entry.save() + return entry + class BaseTestSubmission: @pytest.fixture(autouse=True) @@ -536,6 +552,59 @@ class TestSubmissionVideo(BaseTestSubmission): with create_av(make_video=True) as path: self.check_normal_upload('Video', path) + @mock.patch('mediagoblin.media_types.video.processing.complimentary_task.signature') + @mock.patch('mediagoblin.media_types.video.processing.main_task.signature') + def test_workflow(self, mock_main_task, mock_comp_task): + + # create a new entry and get video manager + entry = get_sample_entry(self.our_user()) + manager = VideoProcessingManager() + + # prepare things for testing + video_config = mg_globals.global_config['plugins'][entry.media_type] + def_res = video_config['default_resolution'] + priority_num = len(video_config['available_resolutions']) + 1 + main_priority = priority_num + calls = [] + reprocess_info = { + 'vorbis_quality': None, + 'vp8_threads': None, + 'thumb_size': None, + 'vp8_quality': None + } + for comp_res in video_config['available_resolutions']: + if comp_res != def_res: + priority_num += -1 + calls.append( + mock.call(args=(entry.id, comp_res, ACCEPTED_RESOLUTIONS[comp_res]), + kwargs=reprocess_info, queue='default', + priority=priority_num, immutable=True) + ) + + # call workflow method + manager.workflow(entry, feed_url=None, reprocess_action='initial') + + # test section + mock_main_task.assert_called_once_with(args=(entry.id, def_res, + ACCEPTED_RESOLUTIONS[def_res]), + kwargs=reprocess_info, queue='default', + priority=main_priority, immutable=True) + mock_comp_task.assert_has_calls(calls) + assert entry.state == u'processing' + + # delete the entry + entry.delete() + + def test_workflow_return(self): + entry = get_sample_entry(self.our_user()) + manager = VideoProcessingManager() + wf = manager.workflow(entry, feed_url=None, reprocess_action='initial') + assert type(wf) == tuple + assert len(wf) == 2 + assert isinstance(wf[0], group) + assert isinstance(wf[1], Signature) + entry.delete() + class TestSubmissionAudio(BaseTestSubmission): @pytest.fixture(autouse=True) -- cgit v1.2.3 From ee2b53dea1a4898c918c2bebbdcbc4edc614ae0b Mon Sep 17 00:00:00 2001 From: vijeth-aradhya Date: Sun, 25 Jun 2017 18:25:48 +0530 Subject: Add test_chord for TestSubmissionVideo Testing the arguments passed to celery.chord when a video is submitted. --- mediagoblin/tests/test_submission.py | 82 ++++++++++++++++++++++++++++++++---- 1 file changed, 74 insertions(+), 8 deletions(-) (limited to 'mediagoblin/tests') diff --git a/mediagoblin/tests/test_submission.py b/mediagoblin/tests/test_submission.py index dc310965..3f6cf739 100644 --- a/mediagoblin/tests/test_submission.py +++ b/mediagoblin/tests/test_submission.py @@ -61,9 +61,9 @@ from mediagoblin.tools import template from mediagoblin.media_types.image import ImageMediaManager from mediagoblin.media_types.pdf.processing import check_prerequisites as pdf_check_prerequisites from mediagoblin.media_types.video.processing import ( - VideoProcessingManager, main_task, complimentary_task, group) + VideoProcessingManager, main_task, complimentary_task, group, processing_cleanup) from mediagoblin.media_types.video.util import ACCEPTED_RESOLUTIONS -from mediagoblin.submit.lib import new_upload_entry +from mediagoblin.submit.lib import new_upload_entry, run_process_media from .resources import GOOD_JPG, GOOD_PNG, EVIL_FILE, EVIL_JPG, EVIL_PNG, \ BIG_BLUE, GOOD_PDF, GPS_JPG, MED_PNG, BIG_PNG @@ -107,9 +107,9 @@ def pdf_plugin_app(request): 'mediagoblin.tests', 'test_mgoblin_app_pdf.ini')) -def get_sample_entry(user): +def get_sample_entry(user, media_type): entry = new_upload_entry(user) - entry.media_type = 'mediagoblin.media_types.video' + entry.media_type = media_type entry.title = 'testentry' entry.description = u"" entry.license = None @@ -552,12 +552,13 @@ class TestSubmissionVideo(BaseTestSubmission): with create_av(make_video=True) as path: self.check_normal_upload('Video', path) + @mock.patch('mediagoblin.media_types.video.processing.processing_cleanup.signature') @mock.patch('mediagoblin.media_types.video.processing.complimentary_task.signature') @mock.patch('mediagoblin.media_types.video.processing.main_task.signature') - def test_workflow(self, mock_main_task, mock_comp_task): + def test_celery_tasks(self, mock_main_task, mock_comp_task, mock_cleanup): # create a new entry and get video manager - entry = get_sample_entry(self.our_user()) + entry = get_sample_entry(self.our_user(), 'mediagoblin.media_types.video') manager = VideoProcessingManager() # prepare things for testing @@ -590,19 +591,83 @@ class TestSubmissionVideo(BaseTestSubmission): kwargs=reprocess_info, queue='default', priority=main_priority, immutable=True) mock_comp_task.assert_has_calls(calls) + mock_cleanup.assert_called_once_with(args=(entry.id,), queue='default', + immutable=True) assert entry.state == u'processing' # delete the entry entry.delete() - def test_workflow_return(self): - entry = get_sample_entry(self.our_user()) + def test_workflow(self): + entry = get_sample_entry(self.our_user(), 'mediagoblin.media_types.video') manager = VideoProcessingManager() wf = manager.workflow(entry, feed_url=None, reprocess_action='initial') assert type(wf) == tuple assert len(wf) == 2 assert isinstance(wf[0], group) assert isinstance(wf[1], Signature) + + # more precise testing + video_config = mg_globals.global_config['plugins'][entry.media_type] + def_res = video_config['default_resolution'] + priority_num = len(video_config['available_resolutions']) + 1 + reprocess_info = { + 'vorbis_quality': None, + 'vp8_threads': None, + 'thumb_size': None, + 'vp8_quality': None + } + tasks_list = [main_task.signature(args=(entry.id, def_res, + ACCEPTED_RESOLUTIONS[def_res]), + kwargs=reprocess_info, queue='default', + priority=priority_num, immutable=True)] + for comp_res in video_config['available_resolutions']: + if comp_res != def_res: + priority_num += -1 + tasks_list.append( + complimentary_task.signature(args=(entry.id, comp_res, + ACCEPTED_RESOLUTIONS[comp_res]), + kwargs=reprocess_info, queue='default', + priority=priority_num, immutable=True) + ) + transcoding_tasks = group(tasks_list) + cleanup_task = processing_cleanup.signature(args=(entry.id,), + queue='default', immutable=True) + assert wf[0] == transcoding_tasks + assert wf[1] == cleanup_task + entry.delete() + + @mock.patch('mediagoblin.submit.lib.ProcessMedia.apply_async') + @mock.patch('mediagoblin.submit.lib.chord') + def test_celery_chord(self, mock_chord, mock_process_media): + entry = get_sample_entry(self.our_user(), 'mediagoblin.media_types.video') + + # prepare things for testing + video_config = mg_globals.global_config['plugins'][entry.media_type] + def_res = video_config['default_resolution'] + priority_num = len(video_config['available_resolutions']) + 1 + reprocess_info = { + 'vorbis_quality': None, + 'vp8_threads': None, + 'thumb_size': None, + 'vp8_quality': None + } + tasks_list = [main_task.signature(args=(entry.id, def_res, + ACCEPTED_RESOLUTIONS[def_res]), + kwargs=reprocess_info, queue='default', + priority=priority_num, immutable=True)] + for comp_res in video_config['available_resolutions']: + if comp_res != def_res: + priority_num += -1 + tasks_list.append( + complimentary_task.signature(args=(entry.id, comp_res, + ACCEPTED_RESOLUTIONS[comp_res]), + kwargs=reprocess_info, queue='default', + priority=priority_num, immutable=True) + ) + transcoding_tasks = group(tasks_list) + run_process_media(entry) + mock_chord.assert_called_once_with(transcoding_tasks) entry.delete() @@ -660,3 +725,4 @@ class TestSubmissionPDF(BaseTestSubmission): **self.upload_data(GOOD_PDF)) self.check_url(response, '/u/{0}/'.format(self.our_user().username)) assert 'mediagoblin/user_pages/user.html' in context + -- cgit v1.2.3 From ac966b232b3eab52d610d8f2df4e3029fc1381ff Mon Sep 17 00:00:00 2001 From: vijeth-aradhya Date: Sun, 25 Jun 2017 18:47:04 +0530 Subject: Test accepted_files and accepted_resolutions --- mediagoblin/tests/test_submission.py | 11 ++++++++++- mediagoblin/tests/test_video.py | 12 ++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) (limited to 'mediagoblin/tests') diff --git a/mediagoblin/tests/test_submission.py b/mediagoblin/tests/test_submission.py index 3f6cf739..fb670e7a 100644 --- a/mediagoblin/tests/test_submission.py +++ b/mediagoblin/tests/test_submission.py @@ -61,7 +61,8 @@ from mediagoblin.tools import template from mediagoblin.media_types.image import ImageMediaManager from mediagoblin.media_types.pdf.processing import check_prerequisites as pdf_check_prerequisites from mediagoblin.media_types.video.processing import ( - VideoProcessingManager, main_task, complimentary_task, group, processing_cleanup) + VideoProcessingManager, main_task, complimentary_task, group, + processing_cleanup, CommonVideoProcessor) from mediagoblin.media_types.video.util import ACCEPTED_RESOLUTIONS from mediagoblin.submit.lib import new_upload_entry, run_process_media @@ -670,6 +671,14 @@ class TestSubmissionVideo(BaseTestSubmission): mock_chord.assert_called_once_with(transcoding_tasks) entry.delete() + def test_accepted_files(self): + entry = get_sample_entry(self.our_user(), 'mediagoblin.media_types.video') + manager = VideoProcessingManager() + processor = CommonVideoProcessor(manager, entry) + acceptable_files = ['original, best_quality', 'webm_144p', 'webm_360p', + 'webm_480p', 'webm_720p', 'webm_1080p', 'webm_video'] + assert processor.acceptable_files == acceptable_files + class TestSubmissionAudio(BaseTestSubmission): @pytest.fixture(autouse=True) diff --git a/mediagoblin/tests/test_video.py b/mediagoblin/tests/test_video.py index 79244515..748c857f 100644 --- a/mediagoblin/tests/test_video.py +++ b/mediagoblin/tests/test_video.py @@ -30,6 +30,7 @@ Gst.init(None) from mediagoblin.media_types.video.transcoders import (capture_thumb, VideoTranscoder) +from mediagoblin.media_types.video.util import ACCEPTED_RESOLUTIONS from mediagoblin.media_types.tools import discover @contextmanager @@ -130,3 +131,14 @@ def test_transcoder(): dimensions=(640, 640)) assert len(discover(result_name).get_video_streams()) == 1 assert len(discover(result_name).get_audio_streams()) == 1 + +def test_accepted_resolutions(): + accepted_resolutions = { + '144p' : (256, 144), + '240p' : (352, 240), + '360p' : (480, 360), + '480p' : (858, 480), + '720p' : (1280, 720), + '1080p' : (1920, 1080), + } + assert accepted_resolutions == ACCEPTED_RESOLUTIONS -- cgit v1.2.3 From 7fc550cf2b49d573333050da2fcd6a3586acf747 Mon Sep 17 00:00:00 2001 From: vijeth-aradhya Date: Sun, 25 Jun 2017 19:32:28 +0530 Subject: Test whether video is transcoded to all resolutions After `self.check_normal_upload`, query the database and check whether the video got transcoded to all the required resolutions. --- mediagoblin/tests/test_submission.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'mediagoblin/tests') diff --git a/mediagoblin/tests/test_submission.py b/mediagoblin/tests/test_submission.py index fb670e7a..ff45b107 100644 --- a/mediagoblin/tests/test_submission.py +++ b/mediagoblin/tests/test_submission.py @@ -540,6 +540,7 @@ class TestSubmissionVideo(BaseTestSubmission): @pytest.fixture(autouse=True) def setup(self, video_plugin_app): self.test_app = video_plugin_app + self.media_type = 'mediagoblin.media_types.video' # TODO: Possibly abstract into a decorator like: # @as_authenticated_user('chris') @@ -553,13 +554,20 @@ class TestSubmissionVideo(BaseTestSubmission): with create_av(make_video=True) as path: self.check_normal_upload('Video', path) + media = mg_globals.database.MediaEntry.query.filter_by( + title=u'Video').first() + + video_config = mg_globals.global_config['plugins'][self.media_type] + for each_res in video_config['available_resolutions']: + assert (('webm_' + str(each_res)) in media.media_files) + @mock.patch('mediagoblin.media_types.video.processing.processing_cleanup.signature') @mock.patch('mediagoblin.media_types.video.processing.complimentary_task.signature') @mock.patch('mediagoblin.media_types.video.processing.main_task.signature') def test_celery_tasks(self, mock_main_task, mock_comp_task, mock_cleanup): # create a new entry and get video manager - entry = get_sample_entry(self.our_user(), 'mediagoblin.media_types.video') + entry = get_sample_entry(self.our_user(), self.media_type) manager = VideoProcessingManager() # prepare things for testing @@ -600,7 +608,7 @@ class TestSubmissionVideo(BaseTestSubmission): entry.delete() def test_workflow(self): - entry = get_sample_entry(self.our_user(), 'mediagoblin.media_types.video') + entry = get_sample_entry(self.our_user(), self.media_type) manager = VideoProcessingManager() wf = manager.workflow(entry, feed_url=None, reprocess_action='initial') assert type(wf) == tuple @@ -641,7 +649,7 @@ class TestSubmissionVideo(BaseTestSubmission): @mock.patch('mediagoblin.submit.lib.ProcessMedia.apply_async') @mock.patch('mediagoblin.submit.lib.chord') def test_celery_chord(self, mock_chord, mock_process_media): - entry = get_sample_entry(self.our_user(), 'mediagoblin.media_types.video') + entry = get_sample_entry(self.our_user(), self.media_type) # prepare things for testing video_config = mg_globals.global_config['plugins'][entry.media_type] -- cgit v1.2.3 From fe40b02e7dd9741bcae2ace83c10d9f09af42d2c Mon Sep 17 00:00:00 2001 From: vijeth-aradhya Date: Tue, 27 Jun 2017 01:04:55 +0530 Subject: Fix test_accepted_resolutions Add {'webm': (640, 640)} --- mediagoblin/tests/test_video.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'mediagoblin/tests') diff --git a/mediagoblin/tests/test_video.py b/mediagoblin/tests/test_video.py index 748c857f..0f477bfe 100644 --- a/mediagoblin/tests/test_video.py +++ b/mediagoblin/tests/test_video.py @@ -134,11 +134,12 @@ def test_transcoder(): def test_accepted_resolutions(): accepted_resolutions = { - '144p' : (256, 144), - '240p' : (352, 240), - '360p' : (480, 360), - '480p' : (858, 480), - '720p' : (1280, 720), - '1080p' : (1920, 1080), + '144p': (256, 144), + '240p': (352, 240), + '360p': (480, 360), + '480p': (858, 480), + '720p': (1280, 720), + '1080p': (1920, 1080), + 'webm': (640, 640), } assert accepted_resolutions == ACCEPTED_RESOLUTIONS -- cgit v1.2.3 From 283043f14d8fdeb8cccad00b7d7cb7a8cc5a17bd Mon Sep 17 00:00:00 2001 From: vijeth-aradhya Date: Wed, 16 Aug 2017 21:51:55 +0530 Subject: Add test for get_all_media() Check for it's returned values. --- mediagoblin/tests/test_submission.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'mediagoblin/tests') diff --git a/mediagoblin/tests/test_submission.py b/mediagoblin/tests/test_submission.py index ff45b107..d346e0c6 100644 --- a/mediagoblin/tests/test_submission.py +++ b/mediagoblin/tests/test_submission.py @@ -55,7 +55,7 @@ from celery import Signature from mediagoblin.tests.tools import ( fixture_add_user, fixture_add_collection, get_app) from mediagoblin import mg_globals -from mediagoblin.db.models import MediaEntry, User, LocalUser, Activity +from mediagoblin.db.models import MediaEntry, User, LocalUser, Activity, MediaFile from mediagoblin.db.base import Session from mediagoblin.tools import template from mediagoblin.media_types.image import ImageMediaManager @@ -561,6 +561,25 @@ class TestSubmissionVideo(BaseTestSubmission): for each_res in video_config['available_resolutions']: assert (('webm_' + str(each_res)) in media.media_files) + result = media.get_all_media() + if result[0][0] == 'default': + media_file = MediaFile.query.filter_by(media_entry=media.id, + name=('webm_video')).first() + assert len(result) == 1 + assert len(result[0]) == 3 + assert result[0][1] == list(ACCEPTED_RESOLUTIONS['webm']) + assert result[0][2] == media_file.file_path + else: + assert len(result) == len(video_config['available_resolutions']) + for i in range(len(video_config['available_resolutions'])): + assert len(result[i]) == 3 + media_file = MediaFile.query.filter_by(media_entry=media.id, + name=('webm_'+str(result[i][0]))).first() + assert result[i][0] == video_config['available_resolutions'][i] + assert result[i][1] == list(ACCEPTED_RESOLUTIONS[ + video_config['available_resolutions'][i]]) + assert result[i][2] == media_file.file_path + @mock.patch('mediagoblin.media_types.video.processing.processing_cleanup.signature') @mock.patch('mediagoblin.media_types.video.processing.complimentary_task.signature') @mock.patch('mediagoblin.media_types.video.processing.main_task.signature') -- cgit v1.2.3 From 170cd28f9e738649ce9cb7856b39f7148da39106 Mon Sep 17 00:00:00 2001 From: vijeth-aradhya Date: Thu, 17 Aug 2017 17:57:29 +0530 Subject: Create a seperate test for get_all_media --- mediagoblin/tests/test_submission.py | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) (limited to 'mediagoblin/tests') diff --git a/mediagoblin/tests/test_submission.py b/mediagoblin/tests/test_submission.py index d346e0c6..40cd771d 100644 --- a/mediagoblin/tests/test_submission.py +++ b/mediagoblin/tests/test_submission.py @@ -561,23 +561,44 @@ class TestSubmissionVideo(BaseTestSubmission): for each_res in video_config['available_resolutions']: assert (('webm_' + str(each_res)) in media.media_files) + @pytest.mark.skipif(SKIP_VIDEO, + reason="Dependencies for video not met") + def test_get_all_media(self, video_plugin_app): + """Test if the get_all_media function returns sensible things + """ + with create_av(make_video=True) as path: + self.check_normal_upload('testgetallmedia', path) + + media = mg_globals.database.MediaEntry.query.filter_by( + title=u'testgetallmedia').first() result = media.get_all_media() + video_config = mg_globals.global_config['plugins'][self.media_type] + + for media_file in result: + # checking that each returned media file list has 3 elements + assert len(media_file) == 3 + + # result[0][0] is the video label of the first video in the list if result[0][0] == 'default': media_file = MediaFile.query.filter_by(media_entry=media.id, name=('webm_video')).first() + # only one media file has to be present in this case assert len(result) == 1 - assert len(result[0]) == 3 + # check dimensions of media_file assert result[0][1] == list(ACCEPTED_RESOLUTIONS['webm']) + # check media_file path assert result[0][2] == media_file.file_path else: assert len(result) == len(video_config['available_resolutions']) for i in range(len(video_config['available_resolutions'])): - assert len(result[i]) == 3 media_file = MediaFile.query.filter_by(media_entry=media.id, - name=('webm_'+str(result[i][0]))).first() + name=('webm_{0}'.format(str(result[i][0])))).first() + # check media_file label assert result[i][0] == video_config['available_resolutions'][i] + # check dimensions of media_file assert result[i][1] == list(ACCEPTED_RESOLUTIONS[ video_config['available_resolutions'][i]]) + # check media_file path assert result[i][2] == media_file.file_path @mock.patch('mediagoblin.media_types.video.processing.processing_cleanup.signature') -- cgit v1.2.3 From f1cdf7420223e39a8bcf67bf163a585ae98b98fa Mon Sep 17 00:00:00 2001 From: vijeth-aradhya Date: Tue, 29 Aug 2017 11:26:12 +0530 Subject: Change complimentary_task to complementary_tas Closes #11 --- mediagoblin/tests/test_submission.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'mediagoblin/tests') diff --git a/mediagoblin/tests/test_submission.py b/mediagoblin/tests/test_submission.py index 40cd771d..f08a25f0 100644 --- a/mediagoblin/tests/test_submission.py +++ b/mediagoblin/tests/test_submission.py @@ -61,7 +61,7 @@ from mediagoblin.tools import template from mediagoblin.media_types.image import ImageMediaManager from mediagoblin.media_types.pdf.processing import check_prerequisites as pdf_check_prerequisites from mediagoblin.media_types.video.processing import ( - VideoProcessingManager, main_task, complimentary_task, group, + VideoProcessingManager, main_task, complementary_task, group, processing_cleanup, CommonVideoProcessor) from mediagoblin.media_types.video.util import ACCEPTED_RESOLUTIONS from mediagoblin.submit.lib import new_upload_entry, run_process_media @@ -602,7 +602,7 @@ class TestSubmissionVideo(BaseTestSubmission): assert result[i][2] == media_file.file_path @mock.patch('mediagoblin.media_types.video.processing.processing_cleanup.signature') - @mock.patch('mediagoblin.media_types.video.processing.complimentary_task.signature') + @mock.patch('mediagoblin.media_types.video.processing.complementary_task.signature') @mock.patch('mediagoblin.media_types.video.processing.main_task.signature') def test_celery_tasks(self, mock_main_task, mock_comp_task, mock_cleanup): @@ -674,7 +674,7 @@ class TestSubmissionVideo(BaseTestSubmission): if comp_res != def_res: priority_num += -1 tasks_list.append( - complimentary_task.signature(args=(entry.id, comp_res, + complementary_task.signature(args=(entry.id, comp_res, ACCEPTED_RESOLUTIONS[comp_res]), kwargs=reprocess_info, queue='default', priority=priority_num, immutable=True) @@ -709,7 +709,7 @@ class TestSubmissionVideo(BaseTestSubmission): if comp_res != def_res: priority_num += -1 tasks_list.append( - complimentary_task.signature(args=(entry.id, comp_res, + complementary_task.signature(args=(entry.id, comp_res, ACCEPTED_RESOLUTIONS[comp_res]), kwargs=reprocess_info, queue='default', priority=priority_num, immutable=True) -- cgit v1.2.3 From 4551a808beb8aa0dab3f1a331d022bfa84ee933c Mon Sep 17 00:00:00 2001 From: Boris Bobrov Date: Thu, 12 Jul 2018 18:27:44 +0200 Subject: Fixes for small bugs There were some blocking issues in the code. They are small, but break tests and/or production. Fixed some of them. --- mediagoblin/tests/test_submission.py | 9 ++++++--- mediagoblin/tests/test_video.py | 3 +++ 2 files changed, 9 insertions(+), 3 deletions(-) (limited to 'mediagoblin/tests') diff --git a/mediagoblin/tests/test_submission.py b/mediagoblin/tests/test_submission.py index f08a25f0..a7661e85 100644 --- a/mediagoblin/tests/test_submission.py +++ b/mediagoblin/tests/test_submission.py @@ -47,7 +47,10 @@ import os import pytest import webtest.forms import pkg_resources -import mock +try: + import mock +except ImportError: + import unittest.mock as mock import six.moves.urllib.parse as urlparse @@ -635,7 +638,7 @@ class TestSubmissionVideo(BaseTestSubmission): manager.workflow(entry, feed_url=None, reprocess_action='initial') # test section - mock_main_task.assert_called_once_with(args=(entry.id, def_res, + mock_main_task.assert_called_once_with(args=(entry.id, def_res, ACCEPTED_RESOLUTIONS[def_res]), kwargs=reprocess_info, queue='default', priority=main_priority, immutable=True) @@ -724,7 +727,7 @@ class TestSubmissionVideo(BaseTestSubmission): manager = VideoProcessingManager() processor = CommonVideoProcessor(manager, entry) acceptable_files = ['original, best_quality', 'webm_144p', 'webm_360p', - 'webm_480p', 'webm_720p', 'webm_1080p', 'webm_video'] + 'webm_480p', 'webm_720p', 'webm_1080p', 'webm_video'] assert processor.acceptable_files == acceptable_files diff --git a/mediagoblin/tests/test_video.py b/mediagoblin/tests/test_video.py index 0f477bfe..89949332 100644 --- a/mediagoblin/tests/test_video.py +++ b/mediagoblin/tests/test_video.py @@ -32,6 +32,7 @@ from mediagoblin.media_types.video.transcoders import (capture_thumb, VideoTranscoder) from mediagoblin.media_types.video.util import ACCEPTED_RESOLUTIONS from mediagoblin.media_types.tools import discover +from mediagoblin.tests.tools import get_app @contextmanager def create_data(suffix=None, make_audio=False): @@ -115,6 +116,7 @@ def test_transcoder(): transcoder = VideoTranscoder() transcoder.transcode( video_name, result_name, + '480p', 1, vp8_quality=8, vp8_threads=0, # autodetect vorbis_quality=0.3, @@ -125,6 +127,7 @@ def test_transcoder(): transcoder = VideoTranscoder() transcoder.transcode( video_name, result_name, + '480p', 1, vp8_quality=8, vp8_threads=0, # autodetect vorbis_quality=0.3, -- cgit v1.2.3