def test_add_alias_multiple_mailboxes(flask_client): user = login(flask_client) Session.commit() alias_suffix = AliasSuffix( is_custom=False, suffix=f".12345@{EMAIL_DOMAIN}", is_premium=False, domain=EMAIL_DOMAIN, ) signed_alias_suffix = signer.sign(alias_suffix.serialize()).decode() # create with a multiple mailboxes mb1 = Mailbox.create(user_id=user.id, email="*****@*****.**", verified=True) Session.commit() r = flask_client.post( url_for("dashboard.custom_alias"), data={ "prefix": "prefix", "signed-alias-suffix": signed_alias_suffix, "mailboxes": [user.default_mailbox_id, mb1.id], }, follow_redirects=True, ) assert r.status_code == 200 assert f"Alias prefix.12345@{EMAIL_DOMAIN} has been created" in str(r.data) alias = Alias.order_by(Alias.created_at.desc()).first() assert alias._mailboxes
def test_get_alias_infos_pinned_alias(flask_client): """Different scenarios with pinned alias""" user = User.create( email="[email protected]", password="******", name="Test User", activated=True, commit=True, ) # to have 3 pages: 2*PAGE_LIMIT + the alias automatically created for a new account for _ in range(2 * PAGE_LIMIT): Alias.create_new_random(user) first_alias = Alias.order_by(Alias.id).first() # should return PAGE_LIMIT alias alias_infos = get_alias_infos_with_pagination_v3(user) assert len(alias_infos) == PAGE_LIMIT # make sure first_alias is not returned as the default order is alias creation date assert first_alias not in [ai.alias for ai in alias_infos] # pin the first alias first_alias.pinned = True Session.commit() alias_infos = get_alias_infos_with_pagination_v3(user) # now first_alias is the first result assert first_alias == alias_infos[0].alias # and the page size is still the same assert len(alias_infos) == PAGE_LIMIT # pinned alias isn't included in the search alias_infos = get_alias_infos_with_pagination_v3(user, query="no match") assert len(alias_infos) == 0
def test_add_alias_success(flask_client): user = login(flask_client) alias_suffix = AliasSuffix( is_custom=False, suffix=f".12345@{EMAIL_DOMAIN}", is_premium=False, domain=EMAIL_DOMAIN, ) signed_alias_suffix = signer.sign(alias_suffix.serialize()).decode() # create with a single mailbox r = flask_client.post( url_for("dashboard.custom_alias"), data={ "prefix": "prefix", "signed-alias-suffix": signed_alias_suffix, "mailboxes": [user.default_mailbox_id], }, follow_redirects=True, ) assert r.status_code == 200 assert f"Alias prefix.12345@{EMAIL_DOMAIN} has been created" in str(r.data) alias = Alias.order_by(Alias.created_at.desc()).first() assert not alias._mailboxes