4.35.0
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
from app.dashboard.views import alias_transfer
|
||||
import app.alias_utils
|
||||
from app.db import Session
|
||||
from app.models import (
|
||||
Alias,
|
||||
@ -29,7 +29,7 @@ def test_alias_transfer(flask_client):
|
||||
user_id=new_user.id, email="hey2@example.com", verified=True, commit=True
|
||||
)
|
||||
|
||||
alias_transfer.transfer(alias, new_user, new_user.mailboxes())
|
||||
app.alias_utils.transfer_alias(alias, new_user, new_user.mailboxes())
|
||||
|
||||
# refresh from db
|
||||
alias = Alias.get(alias.id)
|
||||
|
@ -1,18 +1,17 @@
|
||||
import arrow
|
||||
|
||||
from app.models import CoinbaseSubscription, ApiToCookieToken, ApiKey
|
||||
from cron import notify_manual_sub_end, delete_expired_tokens
|
||||
import cron
|
||||
from app.db import Session
|
||||
from app.models import CoinbaseSubscription, ApiToCookieToken, ApiKey, User
|
||||
from tests.utils import create_new_user
|
||||
|
||||
|
||||
def test_notify_manual_sub_end(flask_client):
|
||||
user = create_new_user()
|
||||
|
||||
CoinbaseSubscription.create(
|
||||
user_id=user.id, end_at=arrow.now().shift(days=13, hours=2), commit=True
|
||||
)
|
||||
|
||||
notify_manual_sub_end()
|
||||
cron.notify_manual_sub_end()
|
||||
|
||||
|
||||
def test_cleanup_tokens(flask_client):
|
||||
@ -33,6 +32,22 @@ def test_cleanup_tokens(flask_client):
|
||||
api_key_id=api_key.id,
|
||||
commit=True,
|
||||
).id
|
||||
delete_expired_tokens()
|
||||
cron.delete_expired_tokens()
|
||||
assert ApiToCookieToken.get(id_to_clean) is None
|
||||
assert ApiToCookieToken.get(id_to_keep) is not None
|
||||
|
||||
|
||||
def test_cleanup_users():
|
||||
u_delete_none_id = create_new_user().id
|
||||
u_delete_after = create_new_user()
|
||||
u_delete_after_id = u_delete_after.id
|
||||
u_delete_before = create_new_user()
|
||||
u_delete_before_id = u_delete_before.id
|
||||
now = arrow.now()
|
||||
u_delete_after.delete_on = now.shift(minutes=1)
|
||||
u_delete_before.delete_on = now.shift(minutes=-1)
|
||||
Session.flush()
|
||||
cron.clear_users_scheduled_to_be_deleted()
|
||||
assert User.get(u_delete_none_id) is not None
|
||||
assert User.get(u_delete_after_id) is not None
|
||||
assert User.get(u_delete_before_id) is None
|
||||
|
@ -199,3 +199,31 @@ def test_get_free_partner_and_hidden_default_domain():
|
||||
assert [d.domain for d in domains] == user.available_sl_domains(
|
||||
alias_options=options
|
||||
)
|
||||
|
||||
|
||||
def test_get_free_partner_and_premium_partner():
|
||||
user = create_new_user()
|
||||
user.trial_end = None
|
||||
PartnerUser.create(
|
||||
partner_id=get_proton_partner().id,
|
||||
user_id=user.id,
|
||||
external_user_id=random_token(10),
|
||||
flush=True,
|
||||
)
|
||||
user.default_alias_public_domain_id = (
|
||||
SLDomain.filter_by(hidden=False, premium_only=False).first().id
|
||||
)
|
||||
Session.flush()
|
||||
options = AliasOptions(
|
||||
show_sl_domains=False,
|
||||
show_partner_domains=get_proton_partner(),
|
||||
show_partner_premium=True,
|
||||
)
|
||||
domains = user.get_sl_domains(alias_options=options)
|
||||
assert len(domains) == 3
|
||||
assert domains[0].domain == "premium_partner"
|
||||
assert domains[1].domain == "free_partner"
|
||||
assert domains[2].domain == "free_non_partner"
|
||||
assert [d.domain for d in domains] == user.available_sl_domains(
|
||||
alias_options=options
|
||||
)
|
||||
|
@ -315,3 +315,13 @@ def test_create_contact_for_noreply(flask_client):
|
||||
reply_email=generate_reply_email(NOREPLY, alias),
|
||||
)
|
||||
assert contact.website_email == NOREPLY
|
||||
|
||||
|
||||
def test_user_can_send_receive():
|
||||
user = create_new_user()
|
||||
assert user.can_send_or_receive()
|
||||
user.disabled = True
|
||||
assert not user.can_send_or_receive()
|
||||
user.disabled = False
|
||||
user.delete_on = arrow.now()
|
||||
assert not user.can_send_or_receive()
|
||||
|
Reference in New Issue
Block a user