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( 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( 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)