app/tests/test_alias_utils.py

47 lines
1.3 KiB
Python
Raw Normal View History

from app.alias_utils import delete_alias, check_alias_prefix
from app.db import Session
from app.models import Alias, DeletedAlias
from tests.utils import create_new_user
def test_delete_alias(flask_client):
user = create_new_user()
alias = Alias.create(
2020-09-28 23:40:30 +08:00
user_id=user.id,
email="first@d1.test",
mailbox_id=user.default_mailbox_id,
commit=True,
)
assert Alias.get_by(email="first@d1.test")
delete_alias(alias, user)
assert Alias.get_by(email="first@d1.test") is None
assert DeletedAlias.get_by(email=alias.email)
def test_delete_alias_already_in_trash(flask_client):
"""delete an alias that's already in alias trash"""
user = create_new_user()
alias = Alias.create(
2020-09-28 23:40:30 +08:00
user_id=user.id,
email="first@d1.test",
mailbox_id=user.default_mailbox_id,
commit=True,
)
# add the alias to global trash
Session.add(DeletedAlias(email=alias.email))
Session.commit()
delete_alias(alias, user)
assert Alias.get_by(email="first@d1.test") is None
def test_check_alias_prefix(flask_client):
assert check_alias_prefix("ab-cd_")
assert not check_alias_prefix("")
assert not check_alias_prefix("éè")
assert not check_alias_prefix("a b")
assert not check_alias_prefix("+👌")
assert not check_alias_prefix("too-long" * 10)