def test_review_scenario(mock_request, addon_with_files, review_action, addon_status, file_status, review_class, review_type, final_addon_status, final_file_status): # Setup the addon and files. addon = addon_with_files addon.update(status=addon_status) version = addon.versions.get() version.files.filter(status=amo.STATUS_AWAITING_REVIEW).update( status=file_status) # Get the review helper. helper = ReviewHelper(mock_request, addon, version) assert isinstance(helper.handler, review_class) helper.set_review_handler(mock_request) assert helper.handler.review_type == review_type helper.set_data({'comments': 'testing review scenarios'}) # Run the action (process_public, process_sandbox). try: getattr(helper.handler, review_action)() except AssertionError: # Some scenarios are expected to fail. We don't need to check it here, # the scenario has the final statuses, and those are the ones we want # to check. pass # Check the final statuses. assert addon.reload().status == final_addon_status assert list(version.files.values_list('status', flat=True)) == ([ amo.STATUS_BETA, amo.STATUS_DISABLED, final_file_status, final_file_status ])
def test_review_scenario(mock_request, addon_with_files, review_action, addon_status, file_status, review_class, review_type, final_addon_status, final_file_status): # Setup the addon and files. addon = addon_with_files addon.update(status=addon_status) version = addon.versions.get() version.files.filter( status=amo.STATUS_AWAITING_REVIEW).update(status=file_status) # Get the review helper. helper = ReviewHelper(mock_request, addon, version) assert isinstance(helper.handler, review_class) helper.set_review_handler(mock_request) assert helper.handler.review_type == review_type helper.set_data({'comments': 'testing review scenarios'}) # Run the action (process_public, process_sandbox). try: getattr(helper.handler, review_action)() except AssertionError: # Some scenarios are expected to fail. We don't need to check it here, # the scenario has the final statuses, and those are the ones we want # to check. pass # Check the final statuses. assert addon.reload().status == final_addon_status assert list(version.files.values_list('status', flat=True)) == ( [amo.STATUS_DISABLED, final_file_status, final_file_status])
def test_review_scenario( mock_request, review_action, addon_status, file_status, review_class, review_type, final_addon_status, final_file_status, ): # Setup the addon and files. addon = addon_factory( name='My Addon', slug='my-addon', status=addon_status, file_kw={'status': file_status}, ) version = addon.versions.get() # Get the review helper. helper = ReviewHelper(mock_request, addon, version) assert isinstance(helper.handler, review_class) helper.set_review_handler(mock_request) assert helper.handler.review_type == review_type helper.set_data({'comments': 'testing review scenarios'}) # Run the action (approve_latest_version, reject_latest_version). try: getattr(helper.handler, review_action)() except AssertionError: # Some scenarios are expected to fail. We don't need to check it here, # the scenario has the final statuses, and those are the ones we want # to check. pass # Check the final statuses. assert addon.reload().status == final_addon_status assert version.file.reload().status == final_file_status
def approve_files(files_with_review_type): """Approve the files waiting for review (and sign them).""" for file_, review_type in files_with_review_type: version = file_.version addon = version.addon helper = ReviewHelper(request=None, addon=addon, version=file_.version) # Provide the file to review/sign to the helper. helper.set_data({'addon_files': [file_], 'comments': u'bulk approval'}) if review_type == 'full': # Already approved, or waiting for a full review. helper.handler.process_public() log.info(u'File %s (addon %s) approved', file_.pk, addon.pk) else: log.info( u'File %s (addon %s) not approved: ' u'addon status: %s, file status: %s', file_.pk, addon.pk, addon.status, file_.status)
def approve_files(files_with_review_type): """Approve the files waiting for review (and sign them).""" for file_, review_type in files_with_review_type: version = file_.version addon = version.addon helper = ReviewHelper(request=None, addon=addon, version=file_.version) # Provide the file to review/sign to the helper. helper.set_data({'addon_files': [file_], 'comments': u'bulk approval'}) if review_type == 'full': # Already approved, or waiting for a full review. helper.handler.process_public() log.info(u'File %s (addon %s) approved', file_.pk, addon.pk) else: log.info(u'File %s (addon %s) not approved: ' u'addon status: %s, file status: %s', file_.pk, addon.pk, addon.status, file_.status)