4.47.2
All checks were successful
Build-Release-Image / Build-Image (linux/arm64) (push) Successful in 3m33s
Build-Release-Image / Build-Image (linux/amd64) (push) Successful in 3m39s
Build-Release-Image / Merge-Images (push) Successful in 12s
Build-Release-Image / Create-Release (push) Successful in 8s
Build-Release-Image / Notify (push) Successful in 5s
All checks were successful
Build-Release-Image / Build-Image (linux/arm64) (push) Successful in 3m33s
Build-Release-Image / Build-Image (linux/amd64) (push) Successful in 3m39s
Build-Release-Image / Merge-Images (push) Successful in 12s
Build-Release-Image / Create-Release (push) Successful in 8s
Build-Release-Image / Notify (push) Successful in 5s
This commit is contained in:
@ -44,6 +44,9 @@ def test_update_settings_alias_generator(flask_client):
|
||||
|
||||
def test_update_settings_random_alias_default_domain(flask_client):
|
||||
user = login(flask_client)
|
||||
custom_domain = CustomDomain.create(
|
||||
domain=random_domain(), verified=True, user_id=user.id, flush=True
|
||||
)
|
||||
assert user.default_random_alias_domain() == "sl.local"
|
||||
|
||||
r = flask_client.patch(
|
||||
@ -57,6 +60,12 @@ def test_update_settings_random_alias_default_domain(flask_client):
|
||||
assert r.status_code == 200
|
||||
assert user.default_random_alias_domain() == "d1.test"
|
||||
|
||||
r = flask_client.patch(
|
||||
"/api/setting", json={"random_alias_default_domain": custom_domain.domain}
|
||||
)
|
||||
assert r.status_code == 200
|
||||
assert user.default_random_alias_domain() == custom_domain.domain
|
||||
|
||||
|
||||
def test_update_settings_sender_format(flask_client):
|
||||
user = login(flask_client)
|
||||
|
@ -23,7 +23,7 @@ _MAX_PER_MINUTE = 3
|
||||
_ENDPOINT,
|
||||
methods=["GET"],
|
||||
)
|
||||
@limiter.limit(f"{_MAX_PER_MINUTE}/minute")
|
||||
@limiter.limit(f"{_MAX_PER_MINUTE}/hour")
|
||||
def rate_limited_endpoint_1():
|
||||
return "Working", HTTPStatus.OK
|
||||
|
||||
|
@ -365,12 +365,22 @@ def test_sync_event_dead_letter():
|
||||
commit=True,
|
||||
)
|
||||
|
||||
# create event with too many retries
|
||||
max_retries = 5
|
||||
e5 = SyncEvent.create(
|
||||
content=b"content",
|
||||
retry_count=max_retries + 1,
|
||||
created_at=arrow.now(),
|
||||
commit=True,
|
||||
)
|
||||
|
||||
# get dead letter events
|
||||
dead_letter_events = SyncEvent.get_dead_letter(
|
||||
older_than=arrow.now().shift(minutes=-10)
|
||||
older_than=arrow.now().shift(minutes=-10), max_retries=max_retries
|
||||
)
|
||||
assert len(dead_letter_events) == 2
|
||||
assert e1 in dead_letter_events
|
||||
assert e2 in dead_letter_events
|
||||
assert e3 not in dead_letter_events
|
||||
assert e4 not in dead_letter_events
|
||||
assert e5 not in dead_letter_events
|
||||
|
0
app/tests/user_settings/__init__.py
Normal file
0
app/tests/user_settings/__init__.py
Normal file
128
app/tests/user_settings/test_set_default_alias_domain.py
Normal file
128
app/tests/user_settings/test_set_default_alias_domain.py
Normal file
@ -0,0 +1,128 @@
|
||||
import pytest
|
||||
|
||||
from app import user_settings
|
||||
from app.db import Session
|
||||
from app.models import User, CustomDomain, SLDomain
|
||||
from tests.utils import random_token, create_new_user
|
||||
|
||||
user_id: int = 0
|
||||
custom_domain_name: str = ""
|
||||
sl_domain_name: str = ""
|
||||
|
||||
|
||||
def setup_module():
|
||||
global user_id, custom_domain_name, sl_domain_name
|
||||
user = create_new_user()
|
||||
user.trial_end = None
|
||||
user_id = user.id
|
||||
custom_domain_name = CustomDomain.create(
|
||||
user_id=user_id,
|
||||
catch_all=True,
|
||||
domain=random_token() + ".com",
|
||||
verified=True,
|
||||
flush=True,
|
||||
).domain
|
||||
sl_domain_name = SLDomain.create(
|
||||
domain=random_token() + ".com",
|
||||
premium_only=False,
|
||||
flush=True,
|
||||
order=5,
|
||||
hidden=False,
|
||||
).domain
|
||||
|
||||
|
||||
def test_set_default_no_domain():
|
||||
user = User.get(user_id)
|
||||
user.default_alias_public_domain_id = SLDomain.get_by(domain=sl_domain_name).id
|
||||
user.default_alias_private_domain_id = CustomDomain.get_by(
|
||||
domain=custom_domain_name
|
||||
).id
|
||||
Session.flush()
|
||||
user_settings.set_default_alias_domain(user, None)
|
||||
assert user.default_alias_public_domain_id is None
|
||||
assert user.default_alias_custom_domain_id is None
|
||||
|
||||
|
||||
def test_set_premium_sl_domain_with_non_premium_user():
|
||||
user = User.get(user_id)
|
||||
user.lifetime = False
|
||||
domain = SLDomain.get_by(domain=sl_domain_name)
|
||||
domain.premium_only = True
|
||||
Session.flush()
|
||||
with pytest.raises(user_settings.CannotSetAlias):
|
||||
user_settings.set_default_alias_domain(user, sl_domain_name)
|
||||
|
||||
|
||||
def test_set_hidden_sl_domain():
|
||||
user = User.get(user_id)
|
||||
domain = SLDomain.get_by(domain=sl_domain_name)
|
||||
domain.hidden = True
|
||||
domain.premium_only = False
|
||||
Session.flush()
|
||||
with pytest.raises(user_settings.CannotSetAlias):
|
||||
user_settings.set_default_alias_domain(user, sl_domain_name)
|
||||
|
||||
|
||||
def test_set_sl_domain():
|
||||
user = User.get(user_id)
|
||||
user.lifetime = False
|
||||
domain = SLDomain.get_by(domain=sl_domain_name)
|
||||
domain.hidden = False
|
||||
domain.premium_only = False
|
||||
Session.flush()
|
||||
user_settings.set_default_alias_domain(user, sl_domain_name)
|
||||
assert user.default_alias_public_domain_id == domain.id
|
||||
assert user.default_alias_custom_domain_id is None
|
||||
|
||||
|
||||
def test_set_sl_premium_domain():
|
||||
user = User.get(user_id)
|
||||
user.lifetime = True
|
||||
domain = SLDomain.get_by(domain=sl_domain_name)
|
||||
domain.hidden = False
|
||||
domain.premium_only = True
|
||||
Session.flush()
|
||||
user_settings.set_default_alias_domain(user, sl_domain_name)
|
||||
assert user.default_alias_public_domain_id == domain.id
|
||||
assert user.default_alias_custom_domain_id is None
|
||||
|
||||
|
||||
def test_set_other_user_custom_domain():
|
||||
user = User.get(user_id)
|
||||
user.lifetime = True
|
||||
other_user_domain_name = CustomDomain.create(
|
||||
user_id=create_new_user().id,
|
||||
catch_all=True,
|
||||
domain=random_token() + ".com",
|
||||
verified=True,
|
||||
).domain
|
||||
Session.flush()
|
||||
with pytest.raises(user_settings.CannotSetAlias):
|
||||
user_settings.set_default_alias_domain(user, other_user_domain_name)
|
||||
|
||||
|
||||
def test_set_unverified_custom_domain():
|
||||
user = User.get(user_id)
|
||||
user.lifetime = True
|
||||
domain = CustomDomain.get_by(domain=custom_domain_name)
|
||||
domain.verified = False
|
||||
Session.flush()
|
||||
with pytest.raises(user_settings.CannotSetAlias):
|
||||
user_settings.set_default_alias_domain(user, custom_domain_name)
|
||||
|
||||
|
||||
def test_set_custom_domain():
|
||||
user = User.get(user_id)
|
||||
user.lifetime = True
|
||||
domain = CustomDomain.get_by(domain=custom_domain_name)
|
||||
domain.verified = True
|
||||
Session.flush()
|
||||
user_settings.set_default_alias_domain(user, custom_domain_name)
|
||||
assert user.default_alias_public_domain_id is None
|
||||
assert user.default_alias_custom_domain_id == domain.id
|
||||
|
||||
|
||||
def test_set_invalid_custom_domain():
|
||||
user = User.get(user_id)
|
||||
with pytest.raises(user_settings.CannotSetAlias):
|
||||
user_settings.set_default_alias_domain(user, "invalid_nop" + random_token())
|
Reference in New Issue
Block a user