def test_list_submissions_detached(database, monkeypatch): user = UserFactory(user_id=1) sub = SubmissionFactory(user_id=1, submission_id=1, publish_status_id=1) d2_sub = SubmissionFactory(user_id=1, submission_id=2, d2_submission=True, publish_status_id=1) add_models(database, [user, sub, d2_sub]) monkeypatch.setattr(fileHandler, 'g', Mock(user=user)) result = list_submissions_result() fabs_result = list_submissions_result(is_fabs=True) assert result['total'] == 1 assert result['submissions'][0]['submission_id'] == sub.submission_id assert fabs_result['total'] == 1 assert fabs_result['submissions'][0]['submission_id'] == d2_sub.submission_id delete_models(database, [user, sub, d2_sub])
def test_list_submissions_sort_success(database, monkeypatch): user1 = UserFactory(user_id=1, name='Oliver Queen', website_admin=True) user2 = UserFactory(user_id=2, name='Barry Allen') sub1 = SubmissionFactory(user_id=1, submission_id=1, number_of_warnings=1, reporting_start_date=date(2010, 1, 1), publish_status_id=1) sub2 = SubmissionFactory(user_id=1, submission_id=2, number_of_warnings=1, reporting_start_date=date(2010, 1, 2), publish_status_id=1) sub3 = SubmissionFactory(user_id=2, submission_id=3, number_of_warnings=1, reporting_start_date=date(2010, 1, 3), publish_status_id=1) sub4 = SubmissionFactory(user_id=2, submission_id=4, number_of_warnings=1, reporting_start_date=date(2010, 1, 4), publish_status_id=1) sub5 = SubmissionFactory(user_id=2, submission_id=5, number_of_warnings=1, reporting_start_date=date(2010, 1, 5), publish_status_id=1) add_models(database, [user1, user2, sub1, sub2, sub3, sub4, sub5]) monkeypatch.setattr(fileHandler, 'g', Mock(user=user1)) result = list_submissions_sort('reporting', 'desc') assert result['total'] == 5 sub = result['submissions'][0] index = 0 for subit in result['submissions']: index += 1 assert subit['reporting_start_date'] <= sub['reporting_start_date'] sub = subit result = list_submissions_sort('reporting', 'asc') assert result['total'] == 5 sub = result['submissions'][0] for subit in result['submissions']: assert subit['reporting_start_date'] >= sub['reporting_start_date'] sub = subit result = list_submissions_sort('submitted_by', 'asc') assert result['total'] == 5 sub = result['submissions'][0] for subit in result['submissions']: assert subit['user']['name'] >= sub['user']['name'] sub = subit result = list_submissions_sort('submitted_by', 'desc') assert result['total'] == 5 sub = result['submissions'][0] for subit in result['submissions']: assert subit['user']['name'] <= sub['user']['name'] sub = subit delete_models(database, [user1, user2, sub1, sub2, sub3, sub4, sub5])
def test_list_submissions_failure(database, monkeypatch): user = UserFactory(user_id=1) sub = SubmissionFactory(user_id=1, submission_id=1, number_of_errors=1, publish_status_id=1) add_models(database, [user, sub]) monkeypatch.setattr(fileHandler, 'g', Mock(user=user)) result = list_submissions_result() assert result['total'] == 1 assert result['submissions'][0]['status'] == "validation_errors" delete_models(database, [user, sub]) user = UserFactory(user_id=1) sub = SubmissionFactory(user_id=1, submission_id=1, publish_status_id=1) job = JobFactory(submission_id=1, job_status_id=JOB_STATUS_DICT['failed'], job_type_id=JOB_TYPE_DICT['csv_record_validation'], file_type_id=FILE_TYPE_DICT['award']) add_models(database, [user, sub, job]) result = list_submissions_result() assert result['total'] == 1 assert result['submissions'][0]['status'] == "failed" delete_models(database, [user, sub, job]) user = UserFactory(user_id=1) sub = SubmissionFactory(user_id=1, submission_id=1, publish_status_id=1) job = JobFactory(submission_id=1, job_status_id=JOB_STATUS_DICT['invalid'], job_type_id=JOB_TYPE_DICT['csv_record_validation'], file_type_id=FILE_TYPE_DICT['award']) add_models(database, [user, sub, job]) result = list_submissions_result() assert result['total'] == 1 assert result['submissions'][0]['status'] == "file_errors" delete_models(database, [user, sub, job])
def test_list_submissions_failure(database, job_constants, monkeypatch): fh = fileHandler.FileHandler(Mock()) mock_value = Mock() mock_value.getName.return_value = 1 monkeypatch.setattr(fileHandler, 'LoginSession', mock_value) user = UserFactory(user_id=1, cgac_code='cgac') sub = SubmissionFactory(user_id=1, submission_id=1, number_of_errors=1, cgac_code='cgac') add_models(database, [user, sub]) json_response = fh.list_submissions(PAGE, LIMIT, CERTIFIED) assert json.loads(json_response.get_data().decode("utf-8"))['total'] == 1 assert json.loads(json_response.get_data().decode( "utf-8"))['submissions'][0]['status'] == "validation_errors" delete_models(database, [user, sub]) sess = database.session user = UserFactory(user_id=1, cgac_code='cgac') sub = SubmissionFactory(user_id=1, submission_id=1, cgac_code='cgac') job = JobFactory( submission_id=1, job_status=sess.query(JobStatus).filter_by(name='failed').one(), job_type=sess.query(JobType).filter_by( name='csv_record_validation').one(), file_type=sess.query(FileType).filter_by(name='award').one()) add_models(database, [user, sub, job]) json_response = fh.list_submissions(PAGE, LIMIT, CERTIFIED) assert json.loads(json_response.get_data().decode("utf-8"))['total'] == 1 assert json.loads(json_response.get_data().decode( "utf-8"))['submissions'][0]['status'] == "failed" delete_models(database, [user, sub, job]) sess = database.session user = UserFactory(user_id=1, cgac_code='cgac') sub = SubmissionFactory(user_id=1, submission_id=1, cgac_code='cgac') job = JobFactory( submission_id=1, job_status=sess.query(JobStatus).filter_by(name='invalid').one(), job_type=sess.query(JobType).filter_by( name='csv_record_validation').one(), file_type=sess.query(FileType).filter_by(name='award').one()) add_models(database, [user, sub, job]) json_response = fh.list_submissions(PAGE, LIMIT, CERTIFIED) assert json.loads(json_response.get_data().decode("utf-8"))['total'] == 1 assert json.loads(json_response.get_data().decode( "utf-8"))['submissions'][0]['status'] == "file_errors" delete_models(database, [user, sub, job])
def test_list_submissions_failure(database, monkeypatch): user = UserFactory(user_id=1) sub = SubmissionFactory(user_id=1, submission_id=1, number_of_errors=1, publish_status_id=1) add_models(database, [user, sub]) monkeypatch.setattr(fileHandler, 'g', Mock(user=user)) result = list_submissions_result() assert result['total'] == 1 assert result['submissions'][0]['status'] == "validation_errors" delete_models(database, [user, sub]) sess = database.session user = UserFactory(user_id=1) sub = SubmissionFactory(user_id=1, submission_id=1, publish_status_id=1) job = JobFactory( submission_id=1, job_status=sess.query(JobStatus).filter_by(name='failed').one(), job_type=sess.query(JobType).filter_by( name='csv_record_validation').one(), file_type=sess.query(FileType).filter_by(name='award').one()) add_models(database, [user, sub, job]) result = list_submissions_result() assert result['total'] == 1 assert result['submissions'][0]['status'] == "failed" delete_models(database, [user, sub, job]) sess = database.session user = UserFactory(user_id=1) sub = SubmissionFactory(user_id=1, submission_id=1, publish_status_id=1) job = JobFactory( submission_id=1, job_status=sess.query(JobStatus).filter_by(name='invalid').one(), job_type=sess.query(JobType).filter_by( name='csv_record_validation').one(), file_type=sess.query(FileType).filter_by(name='award').one()) add_models(database, [user, sub, job]) result = list_submissions_result() assert result['total'] == 1 assert result['submissions'][0]['status'] == "file_errors" delete_models(database, [user, sub, job])
def test_list_submissions_failure(database, job_constants, monkeypatch): user = UserFactory(user_id=1) sub = SubmissionFactory(user_id=1, submission_id=1, number_of_errors=1, publish_status_id=1) add_models(database, [user, sub]) monkeypatch.setattr(fileHandler, 'g', Mock(user=user)) result = list_submissions_result() assert result['total'] == 1 assert result['submissions'][0]['status'] == "validation_errors" delete_models(database, [user, sub]) sess = database.session user = UserFactory(user_id=1) sub = SubmissionFactory(user_id=1, submission_id=1, publish_status_id=1) job = JobFactory(submission_id=1, job_status=sess.query(JobStatus).filter_by(name='failed').one(), job_type=sess.query(JobType).filter_by(name='csv_record_validation').one(), file_type=sess.query(FileType).filter_by(name='award').one()) add_models(database, [user, sub, job]) result = list_submissions_result() assert result['total'] == 1 assert result['submissions'][0]['status'] == "failed" delete_models(database, [user, sub, job]) sess = database.session user = UserFactory(user_id=1) sub = SubmissionFactory(user_id=1, submission_id=1, publish_status_id=1) job = JobFactory(submission_id=1, job_status=sess.query(JobStatus).filter_by(name='invalid').one(), job_type=sess.query(JobType).filter_by(name='csv_record_validation').one(), file_type=sess.query(FileType).filter_by(name='award').one()) add_models(database, [user, sub, job]) result = list_submissions_result() assert result['total'] == 1 assert result['submissions'][0]['status'] == "file_errors" delete_models(database, [user, sub, job])
def test_list_submissions_success(database, monkeypatch): user = UserFactory(user_id=1) sub = SubmissionFactory(user_id=1, submission_id=1, number_of_warnings=1, publish_status_id=1) add_models(database, [user, sub]) monkeypatch.setattr(fileHandler, 'g', Mock(user=user)) result = list_submissions_result() assert result['total'] == 1 assert result['submissions'][0][ 'status'] == "validation_successful_warnings" delete_models(database, [user, sub]) sess = database.session user = UserFactory(user_id=1) sub = SubmissionFactory(user_id=1, submission_id=1, publish_status_id=1) job = JobFactory( submission_id=1, job_status=sess.query(JobStatus).filter_by(name='finished').one(), job_type=sess.query(JobType).filter_by( name='csv_record_validation').one(), file_type=sess.query(FileType).filter_by(name='award').one()) add_models(database, [user, sub, job]) result = list_submissions_result() assert result['total'] == 1 assert result['submissions'][0]['status'] == "validation_successful" delete_models(database, [user, sub, job]) sess = database.session user = UserFactory(user_id=1) sub = SubmissionFactory(user_id=1, submission_id=1, publish_status_id=1) job = JobFactory( submission_id=1, job_status=sess.query(JobStatus).filter_by(name='running').one(), job_type=sess.query(JobType).filter_by( name='csv_record_validation').one(), file_type=sess.query(FileType).filter_by(name='award').one()) add_models(database, [user, sub, job]) result = list_submissions_result() assert result['total'] == 1 assert result['submissions'][0]['status'] == "running" delete_models(database, [user, sub, job]) sess = database.session user = UserFactory(user_id=1) sub = SubmissionFactory(user_id=1, submission_id=1, publish_status_id=1) job = JobFactory( submission_id=1, job_status=sess.query(JobStatus).filter_by(name='waiting').one(), job_type=sess.query(JobType).filter_by( name='csv_record_validation').one(), file_type=sess.query(FileType).filter_by(name='award').one()) add_models(database, [user, sub, job]) result = list_submissions_result() assert result['total'] == 1 assert result['submissions'][0]['status'] == "waiting" delete_models(database, [user, sub, job]) sess = database.session user = UserFactory(user_id=1) sub = SubmissionFactory(user_id=1, submission_id=1, publish_status_id=1) job = JobFactory( submission_id=1, job_status=sess.query(JobStatus).filter_by(name='ready').one(), job_type=sess.query(JobType).filter_by( name='csv_record_validation').one(), file_type=sess.query(FileType).filter_by(name='award').one()) add_models(database, [user, sub, job]) result = list_submissions_result() assert result['total'] == 1 assert result['submissions'][0]['status'] == "ready" delete_models(database, [user, sub, job]) sess = database.session user = UserFactory(user_id=1) sub = SubmissionFactory(user_id=1, submission_id=1, publish_status_id=1, d2_submission=True) job = JobFactory( submission_id=1, job_status=sess.query(JobStatus).filter_by(name='ready').one(), job_type=sess.query(JobType).filter_by( name='csv_record_validation').one(), file_type=sess.query(FileType).filter_by(name='award').one()) add_models(database, [user, sub, job]) result = list_submissions_result(d2_submission=True) assert result['total'] == 1 assert result['submissions'][0]['status'] == "ready" delete_models(database, [user, sub, job])
def test_list_submissions_success(database, monkeypatch): user = UserFactory(user_id=1) sub = SubmissionFactory(user_id=1, submission_id=1, number_of_warnings=1, publish_status_id=1) add_models(database, [user, sub]) monkeypatch.setattr(fileHandler, 'g', Mock(user=user)) result = list_submissions_result() assert result['total'] == 1 assert result['submissions'][0]['status'] == "validation_successful_warnings" delete_models(database, [user, sub]) user = UserFactory(user_id=1) sub = SubmissionFactory(user_id=1, submission_id=1, publish_status_id=1) job = JobFactory(submission_id=1, job_status_id=JOB_STATUS_DICT['finished'], job_type_id=JOB_TYPE_DICT['csv_record_validation'], file_type_id=FILE_TYPE_DICT['award']) add_models(database, [user, sub, job]) result = list_submissions_result() assert result['total'] == 1 assert result['submissions'][0]['status'] == "validation_successful" delete_models(database, [user, sub, job]) user = UserFactory(user_id=1) sub = SubmissionFactory(user_id=1, submission_id=1, publish_status_id=1) job = JobFactory(submission_id=1, job_status_id=JOB_STATUS_DICT['running'], job_type_id=JOB_TYPE_DICT['csv_record_validation'], file_type_id=FILE_TYPE_DICT['award']) add_models(database, [user, sub, job]) result = list_submissions_result() assert result['total'] == 1 assert result['submissions'][0]['status'] == "running" delete_models(database, [user, sub, job]) user = UserFactory(user_id=1) sub = SubmissionFactory(user_id=1, submission_id=1, publish_status_id=1) job = JobFactory(submission_id=1, job_status_id=JOB_STATUS_DICT['waiting'], job_type_id=JOB_TYPE_DICT['csv_record_validation'], file_type_id=FILE_TYPE_DICT['award']) add_models(database, [user, sub, job]) result = list_submissions_result() assert result['total'] == 1 assert result['submissions'][0]['status'] == "waiting" delete_models(database, [user, sub, job]) user = UserFactory(user_id=1) sub = SubmissionFactory(user_id=1, submission_id=1, publish_status_id=1) job = JobFactory(submission_id=1, job_status_id=JOB_STATUS_DICT['ready'], job_type_id=JOB_TYPE_DICT['csv_record_validation'], file_type_id=FILE_TYPE_DICT['award']) add_models(database, [user, sub, job]) result = list_submissions_result() assert result['total'] == 1 assert result['submissions'][0]['status'] == "ready" delete_models(database, [user, sub, job]) user = UserFactory(user_id=1) sub = SubmissionFactory(user_id=1, submission_id=1, publish_status_id=1, d2_submission=True) job = JobFactory(submission_id=1, job_status_id=JOB_STATUS_DICT['ready'], job_type_id=JOB_TYPE_DICT['csv_record_validation'], file_type_id=FILE_TYPE_DICT['award']) add_models(database, [user, sub, job]) result = list_submissions_result(is_fabs=True) assert result['total'] == 1 assert result['submissions'][0]['status'] == "ready" delete_models(database, [user, sub, job])
def test_list_submissions_success(database, job_constants, monkeypatch): user = UserFactory(user_id=1) sub = SubmissionFactory(user_id=1, submission_id=1, number_of_warnings=1, publish_status_id=1) add_models(database, [user, sub]) monkeypatch.setattr(fileHandler, 'g', Mock(user=user)) result = list_submissions_result() assert result['total'] == 1 assert result['submissions'][0]['status'] == "validation_successful_warnings" delete_models(database, [user, sub]) sess = database.session user = UserFactory(user_id=1) sub = SubmissionFactory(user_id=1, submission_id=1, publish_status_id=1) job = JobFactory(submission_id=1, job_status=sess.query(JobStatus).filter_by(name='finished').one(), job_type=sess.query(JobType).filter_by(name='csv_record_validation').one(), file_type=sess.query(FileType).filter_by(name='award').one()) add_models(database, [user, sub, job]) result = list_submissions_result() assert result['total'] == 1 assert result['submissions'][0]['status'] == "validation_successful" delete_models(database, [user, sub, job]) sess = database.session user = UserFactory(user_id=1) sub = SubmissionFactory(user_id=1, submission_id=1, publish_status_id=1) job = JobFactory(submission_id=1, job_status=sess.query(JobStatus).filter_by(name='running').one(), job_type=sess.query(JobType).filter_by(name='csv_record_validation').one(), file_type=sess.query(FileType).filter_by(name='award').one()) add_models(database, [user, sub, job]) result = list_submissions_result() assert result['total'] == 1 assert result['submissions'][0]['status'] == "running" delete_models(database, [user, sub, job]) sess = database.session user = UserFactory(user_id=1) sub = SubmissionFactory(user_id=1, submission_id=1, publish_status_id=1) job = JobFactory(submission_id=1, job_status=sess.query(JobStatus).filter_by(name='waiting').one(), job_type=sess.query(JobType).filter_by(name='csv_record_validation').one(), file_type=sess.query(FileType).filter_by(name='award').one()) add_models(database, [user, sub, job]) result = list_submissions_result() assert result['total'] == 1 assert result['submissions'][0]['status'] == "waiting" delete_models(database, [user, sub, job]) sess = database.session user = UserFactory(user_id=1) sub = SubmissionFactory(user_id=1, submission_id=1, publish_status_id=1) job = JobFactory(submission_id=1, job_status=sess.query(JobStatus).filter_by(name='ready').one(), job_type=sess.query(JobType).filter_by(name='csv_record_validation').one(), file_type=sess.query(FileType).filter_by(name='award').one()) add_models(database, [user, sub, job]) result = list_submissions_result() assert result['total'] == 1 assert result['submissions'][0]['status'] == "ready" delete_models(database, [user, sub, job]) sess = database.session user = UserFactory(user_id=1) sub = SubmissionFactory(user_id=1, submission_id=1, publish_status_id=1, d2_submission=True) job = JobFactory(submission_id=1, job_status=sess.query(JobStatus).filter_by(name='ready').one(), job_type=sess.query(JobType).filter_by(name='csv_record_validation').one(), file_type=sess.query(FileType).filter_by(name='award').one()) add_models(database, [user, sub, job]) result = list_submissions_result(d2_submission=True) assert result['total'] == 1 assert result['submissions'][0]['status'] == "ready" delete_models(database, [user, sub, job])