Example #1
0
def test_dao_get_letter_job_ids_by_status(sample_service):
    another_service = create_db_service(service_name="another service")

    sms_template = create_db_template(service=sample_service,
                                      template_type=SMS_TYPE)
    email_template = create_db_template(service=sample_service,
                                        template_type=EMAIL_TYPE)
    letter_template_1 = create_db_template(service=sample_service,
                                           template_type=LETTER_TYPE)
    letter_template_2 = create_db_template(service=another_service,
                                           template_type=LETTER_TYPE)
    letter_job_1 = create_db_job(letter_template_1,
                                 job_status=JOB_STATUS_READY_TO_SEND,
                                 original_file_name='1.csv')
    letter_job_2 = create_db_job(letter_template_2,
                                 job_status=JOB_STATUS_READY_TO_SEND,
                                 original_file_name='2.csv')
    ready_letter_job_ids = [str(letter_job_1.id), str(letter_job_2.id)]

    create_db_job(sms_template, job_status=JOB_STATUS_FINISHED)
    create_db_job(email_template, job_status=JOB_STATUS_FINISHED)
    create_db_job(letter_template_1, job_status=JOB_STATUS_SENT_TO_DVLA)
    create_db_job(letter_template_1, job_status=JOB_STATUS_FINISHED)
    create_db_job(letter_template_2, job_status=JOB_STATUS_PENDING)

    result = dao_get_letter_job_ids_by_status(JOB_STATUS_READY_TO_SEND)

    assert len(result) == 2
    assert set(result) == set(ready_letter_job_ids)
Example #2
0
def run_letter_jobs():
    job_ids = dao_get_letter_job_ids_by_status(JOB_STATUS_READY_TO_SEND)
    if job_ids:
        notify_celery.send_task(name=TaskNames.DVLA_JOBS,
                                args=(job_ids, ),
                                queue=QueueNames.PROCESS_FTP)
        current_app.logger.info(
            "Queued {} ready letter job ids onto {}".format(
                len(job_ids), QueueNames.PROCESS_FTP))