4.21.3
This commit is contained in:
0
app/tests/models/__init__.py
Normal file
0
app/tests/models/__init__.py
Normal file
25
app/tests/models/test_partner_api_token.py
Normal file
25
app/tests/models/test_partner_api_token.py
Normal file
@ -0,0 +1,25 @@
|
||||
from app.models import Partner, PartnerApiToken
|
||||
from app.utils import random_string
|
||||
|
||||
|
||||
def test_generate_partner_api_token(flask_client):
|
||||
partner = Partner.create(
|
||||
name=random_string(10),
|
||||
contact_email="{s}@{s}.com".format(s=random_string(10)),
|
||||
commit=True,
|
||||
)
|
||||
|
||||
partner_api_token, token = PartnerApiToken.generate(partner.id, None)
|
||||
|
||||
assert token is not None
|
||||
assert len(token) > 0
|
||||
|
||||
assert partner_api_token.partner_id == partner.id
|
||||
assert partner_api_token.expiration_time is None
|
||||
|
||||
hmaced = PartnerApiToken.hmac_token(token)
|
||||
assert hmaced == partner_api_token.token
|
||||
|
||||
retrieved_partner = Partner.find_by_token(token)
|
||||
assert retrieved_partner is not None
|
||||
assert retrieved_partner.id == partner.id
|
39
app/tests/models/test_partner_subscription.py
Normal file
39
app/tests/models/test_partner_subscription.py
Normal file
@ -0,0 +1,39 @@
|
||||
from arrow import Arrow
|
||||
from app.models import Partner, PartnerUser, PartnerSubscription
|
||||
from app.utils import random_string
|
||||
from tests.utils import create_new_user, random_email
|
||||
|
||||
|
||||
def test_generate_partner_subscription(flask_client):
|
||||
external_user_id = random_string()
|
||||
partner = Partner.create(
|
||||
name=random_string(10),
|
||||
contact_email=random_email(),
|
||||
commit=True,
|
||||
)
|
||||
user = create_new_user()
|
||||
partner_user = PartnerUser.create(
|
||||
user_id=user.id,
|
||||
partner_id=partner.id,
|
||||
partner_email=random_email(),
|
||||
external_user_id=external_user_id,
|
||||
commit=True,
|
||||
)
|
||||
|
||||
subs = PartnerSubscription.create(
|
||||
partner_user_id=partner_user.id,
|
||||
end_at=Arrow.utcnow().shift(hours=1),
|
||||
commit=True,
|
||||
)
|
||||
|
||||
retrieved_subscription = PartnerSubscription.find_by_user_id(user.id)
|
||||
|
||||
assert retrieved_subscription is not None
|
||||
assert retrieved_subscription.id == subs.id
|
||||
|
||||
assert user.lifetime_or_active_subscription() is True
|
||||
|
||||
|
||||
def test_partner_subscription_for_not_partner_subscription_user(flask_client):
|
||||
unexistant_subscription = PartnerSubscription.find_by_user_id(999999)
|
||||
assert unexistant_subscription is None
|
31
app/tests/models/test_user.py
Normal file
31
app/tests/models/test_user.py
Normal file
@ -0,0 +1,31 @@
|
||||
from app import config
|
||||
from app.db import Session
|
||||
from app.models import User, Job
|
||||
from tests.utils import create_new_user, random_email
|
||||
|
||||
|
||||
def test_available_sl_domains(flask_client):
|
||||
user = create_new_user()
|
||||
|
||||
assert set(user.available_sl_domains()) == {"d1.test", "d2.test", "sl.local"}
|
||||
|
||||
|
||||
def test_create_from_partner(flask_client):
|
||||
user = User.create(email=random_email(), from_partner=True)
|
||||
assert User.FLAG_CREATED_FROM_PARTNER == (
|
||||
user.flags & User.FLAG_CREATED_FROM_PARTNER
|
||||
)
|
||||
assert user.notification is False
|
||||
assert user.trial_end is None
|
||||
job = Session.query(Job).order_by(Job.id.desc()).first()
|
||||
assert job is not None
|
||||
assert job.name == config.JOB_SEND_PROTON_WELCOME_1
|
||||
assert job.payload.get("user_id") == user.id
|
||||
|
||||
|
||||
def test_user_created_by_partner(flask_client):
|
||||
user_from_partner = User.create(email=random_email(), from_partner=True)
|
||||
assert user_from_partner.created_by_partner is True
|
||||
|
||||
regular_user = User.create(email=random_email())
|
||||
assert regular_user.created_by_partner is False
|
Reference in New Issue
Block a user