app/tests/tasks/test_cleanup_alias.py

33 lines
943 B
Python

import arrow
from app.models import Job, Alias
from tasks.cleanup_alias import cleanup_alias
from tests.utils import create_new_user, random_email
def test_cleanup_alias():
Job.filter().delete()
user = create_new_user()
now = arrow.utcnow()
alias_expired = Alias.create(
user_id=user.id,
email=random_email(),
mailbox_id=user.default_mailbox_id,
delete_on=now.shift(minutes=-1),
).id
alias_not_expired = Alias.create(
user_id=user.id,
email=random_email(),
mailbox_id=user.default_mailbox_id,
delete_on=now.shift(minutes=1),
).id
alias_not_pending = Alias.create(
user_id=user.id,
email=random_email(),
mailbox_id=user.default_mailbox_id,
).id
cleanup_alias(now)
assert Alias.get(alias_not_expired) is not None
assert Alias.get(alias_not_pending) is not None
assert Alias.get(alias_expired) is None