Ejemplo n.º 1
0
def test_should_get_jobs_seven_days_old_filters_type(notify_db,
                                                     notify_db_session):
    eight_days_ago = datetime.utcnow() - timedelta(days=8)
    letter_template = create_template(notify_db,
                                      notify_db_session,
                                      template_type=LETTER_TYPE)
    sms_template = create_template(notify_db,
                                   notify_db_session,
                                   template_type=SMS_TYPE)
    email_template = create_template(notify_db,
                                     notify_db_session,
                                     template_type=EMAIL_TYPE)

    job = partial(create_job,
                  notify_db,
                  notify_db_session,
                  created_at=eight_days_ago)
    job_to_remain = job(template=letter_template)
    job(template=sms_template)
    job(template=email_template)

    jobs = dao_get_jobs_older_than_limited_by(job_types=[EMAIL_TYPE, SMS_TYPE])

    assert len(jobs) == 2
    assert job_to_remain.id not in [job.id for job in jobs]
Ejemplo n.º 2
0
def remove_transformed_dvla_files():
    jobs = dao_get_jobs_older_than_limited_by(job_types=[LETTER_TYPE])
    for job in jobs:
        s3.remove_transformed_dvla_file(job.id)
        current_app.logger.info(
            "Transformed dvla file for job {} has been removed from s3.".
            format(job.id))
Ejemplo n.º 3
0
def test_should_get_jobs_seven_days_old(notify_db, notify_db_session,
                                        sample_template):
    """
    Jobs older than seven days are deleted, but only two day's worth (two-day window)
    """
    seven_days_ago = datetime.utcnow() - timedelta(days=7)
    within_seven_days = seven_days_ago + timedelta(seconds=1)

    eight_days_ago = seven_days_ago - timedelta(days=1)

    nine_days_ago = eight_days_ago - timedelta(days=2)
    nine_days_one_second_ago = nine_days_ago - timedelta(seconds=1)

    job = partial(create_job, notify_db, notify_db_session)
    job(created_at=seven_days_ago)
    job(created_at=within_seven_days)
    job_to_delete = job(created_at=eight_days_ago)
    job(created_at=nine_days_ago)
    job(created_at=nine_days_one_second_ago)

    jobs = dao_get_jobs_older_than_limited_by(
        job_types=[sample_template.template_type])

    assert len(jobs) == 1
    assert jobs[0].id == job_to_delete.id
Ejemplo n.º 4
0
def remove_csv_files(job_types):
    jobs = dao_get_jobs_older_than_limited_by(job_types=job_types)
    for job in jobs:
        s3.remove_job_from_s3(job.service_id, job.id)
        current_app.logger.info("Job ID {} has been removed from s3.".format(
            job.id))