def test_find_missing_row_for_job_return_none_when_row_isnt_missing(sample_email_template): job = create_job(template=sample_email_template, notification_count=5, job_status=JOB_STATUS_FINISHED, processing_finished=datetime.utcnow() - timedelta(minutes=11)) for i in range(0, 5): create_notification(job=job, job_row_number=i) results = find_missing_row_for_job(job.id, 5) assert len(results) == 0
def check_for_missing_rows_in_completed_jobs(): jobs = find_jobs_with_missing_rows() for job in jobs: recipient_csv, template, sender_id = get_recipient_csv_and_template_and_sender_id(job) missing_rows = find_missing_row_for_job(job.id, job.notification_count) for row_to_process in missing_rows: row = recipient_csv[row_to_process.missing_row] current_app.logger.info( "Processing missing row: {} for job: {}".format(row_to_process.missing_row, job.id)) process_row(row, template, job, job.service, sender_id=sender_id)
def test_find_missing_row_for_job_more_than_one_missing_row(sample_email_template): job = create_job(template=sample_email_template, notification_count=5, job_status=JOB_STATUS_FINISHED, processing_finished=datetime.utcnow() - timedelta(minutes=11)) create_notification(job=job, job_row_number=0) create_notification(job=job, job_row_number=1) create_notification(job=job, job_row_number=4) results = find_missing_row_for_job(job.id, 5) assert len(results) == 2 assert results[0].missing_row == 2 assert results[1].missing_row == 3