mirror of
https://github.com/simple-login/app.git
synced 2024-09-29 21:21:29 +02:00
add argument commit= to create()
This commit is contained in:
parent
bb6a5bf0b3
commit
d6d686c4c3
@ -67,8 +67,14 @@ class ModelMixin(object):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def create(cls, **kw):
|
def create(cls, **kw):
|
||||||
|
# whether should call db.session.commit
|
||||||
|
commit = kw.pop("commit", False)
|
||||||
|
|
||||||
r = cls(**kw)
|
r = cls(**kw)
|
||||||
db.session.add(r)
|
db.session.add(r)
|
||||||
|
|
||||||
|
if commit:
|
||||||
|
db.session.commit()
|
||||||
return r
|
return r
|
||||||
|
|
||||||
def save(self):
|
def save(self):
|
||||||
@ -882,6 +888,9 @@ class Alias(db.Model, ModelMixin):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def create(cls, **kw):
|
def create(cls, **kw):
|
||||||
|
# whether should call db.session.commit
|
||||||
|
commit = kw.pop("commit", False)
|
||||||
|
|
||||||
r = cls(**kw)
|
r = cls(**kw)
|
||||||
|
|
||||||
email = kw["email"]
|
email = kw["email"]
|
||||||
@ -896,6 +905,8 @@ class Alias(db.Model, ModelMixin):
|
|||||||
raise AliasInTrashError
|
raise AliasInTrashError
|
||||||
|
|
||||||
db.session.add(r)
|
db.session.add(r)
|
||||||
|
if commit:
|
||||||
|
db.session.commit()
|
||||||
return r
|
return r
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
@ -7,9 +7,12 @@ from app.models import User, ApiKey, Alias, Contact, EmailLog, Mailbox
|
|||||||
|
|
||||||
def test_get_aliases_error_without_pagination(flask_client):
|
def test_get_aliases_error_without_pagination(flask_client):
|
||||||
user = User.create(
|
user = User.create(
|
||||||
email="a@b.c", password="password", name="Test User", activated=True
|
email="a@b.c",
|
||||||
|
password="password",
|
||||||
|
name="Test User",
|
||||||
|
activated=True,
|
||||||
|
commit=True,
|
||||||
)
|
)
|
||||||
db.session.commit()
|
|
||||||
|
|
||||||
# create api_key
|
# create api_key
|
||||||
api_key = ApiKey.create(user.id, "for test")
|
api_key = ApiKey.create(user.id, "for test")
|
||||||
@ -25,9 +28,12 @@ def test_get_aliases_error_without_pagination(flask_client):
|
|||||||
|
|
||||||
def test_get_aliases_with_pagination(flask_client):
|
def test_get_aliases_with_pagination(flask_client):
|
||||||
user = User.create(
|
user = User.create(
|
||||||
email="a@b.c", password="password", name="Test User", activated=True
|
email="a@b.c",
|
||||||
|
password="password",
|
||||||
|
name="Test User",
|
||||||
|
activated=True,
|
||||||
|
commit=True,
|
||||||
)
|
)
|
||||||
db.session.commit()
|
|
||||||
|
|
||||||
# create api_key
|
# create api_key
|
||||||
api_key = ApiKey.create(user.id, "for test")
|
api_key = ApiKey.create(user.id, "for test")
|
||||||
|
@ -6,9 +6,12 @@ from app.models import User, ApiKey, AliasUsedOn, Alias
|
|||||||
|
|
||||||
def test_different_scenarios(flask_client):
|
def test_different_scenarios(flask_client):
|
||||||
user = User.create(
|
user = User.create(
|
||||||
email="a@b.c", password="password", name="Test User", activated=True
|
email="a@b.c",
|
||||||
|
password="password",
|
||||||
|
name="Test User",
|
||||||
|
activated=True,
|
||||||
|
commit=True,
|
||||||
)
|
)
|
||||||
db.session.commit()
|
|
||||||
|
|
||||||
# create api_key
|
# create api_key
|
||||||
api_key = ApiKey.create(user.id, "for test")
|
api_key = ApiKey.create(user.id, "for test")
|
||||||
|
@ -5,13 +5,18 @@ from app.models import User, Alias, DeletedAlias
|
|||||||
|
|
||||||
def test_delete_alias(flask_client):
|
def test_delete_alias(flask_client):
|
||||||
user = User.create(
|
user = User.create(
|
||||||
email="a@b.c", password="password", name="Test User", activated=True
|
email="a@b.c",
|
||||||
|
password="password",
|
||||||
|
name="Test User",
|
||||||
|
activated=True,
|
||||||
|
commit=True,
|
||||||
)
|
)
|
||||||
db.session.commit()
|
|
||||||
alias = Alias.create(
|
alias = Alias.create(
|
||||||
user_id=user.id, email="first@d1.test", mailbox_id=user.default_mailbox_id
|
user_id=user.id,
|
||||||
|
email="first@d1.test",
|
||||||
|
mailbox_id=user.default_mailbox_id,
|
||||||
|
commit=True,
|
||||||
)
|
)
|
||||||
db.session.commit()
|
|
||||||
assert Alias.get_by(email="first@d1.test")
|
assert Alias.get_by(email="first@d1.test")
|
||||||
|
|
||||||
delete_alias(alias, user)
|
delete_alias(alias, user)
|
||||||
@ -22,13 +27,18 @@ def test_delete_alias(flask_client):
|
|||||||
def test_delete_alias_already_in_trash(flask_client):
|
def test_delete_alias_already_in_trash(flask_client):
|
||||||
"""delete an alias that's already in alias trash"""
|
"""delete an alias that's already in alias trash"""
|
||||||
user = User.create(
|
user = User.create(
|
||||||
email="a@b.c", password="password", name="Test User", activated=True
|
email="a@b.c",
|
||||||
|
password="password",
|
||||||
|
name="Test User",
|
||||||
|
activated=True,
|
||||||
|
commit=True,
|
||||||
)
|
)
|
||||||
db.session.commit()
|
|
||||||
alias = Alias.create(
|
alias = Alias.create(
|
||||||
user_id=user.id, email="first@d1.test", mailbox_id=user.default_mailbox_id
|
user_id=user.id,
|
||||||
|
email="first@d1.test",
|
||||||
|
mailbox_id=user.default_mailbox_id,
|
||||||
|
commit=True,
|
||||||
)
|
)
|
||||||
db.session.commit()
|
|
||||||
|
|
||||||
# add the alias to global trash
|
# add the alias to global trash
|
||||||
db.session.add(DeletedAlias(email=alias.email))
|
db.session.add(DeletedAlias(email=alias.email))
|
||||||
|
@ -28,9 +28,12 @@ def test_generate_email(flask_client):
|
|||||||
|
|
||||||
def test_profile_picture_url(flask_client):
|
def test_profile_picture_url(flask_client):
|
||||||
user = User.create(
|
user = User.create(
|
||||||
email="a@b.c", password="password", name="Test User", activated=True
|
email="a@b.c",
|
||||||
|
password="password",
|
||||||
|
name="Test User",
|
||||||
|
activated=True,
|
||||||
|
commit=True,
|
||||||
)
|
)
|
||||||
db.session.commit()
|
|
||||||
|
|
||||||
assert user.profile_picture_url() == "http://sl.test/static/default-avatar.png"
|
assert user.profile_picture_url() == "http://sl.test/static/default-avatar.png"
|
||||||
|
|
||||||
@ -43,10 +46,9 @@ def test_suggested_emails_for_user_who_cannot_create_new_alias(flask_client):
|
|||||||
name="Test User",
|
name="Test User",
|
||||||
activated=True,
|
activated=True,
|
||||||
trial_end=None,
|
trial_end=None,
|
||||||
|
commit=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
db.session.commit()
|
|
||||||
|
|
||||||
# make sure user runs out of quota to create new email
|
# make sure user runs out of quota to create new email
|
||||||
for i in range(MAX_NB_EMAIL_FREE_PLAN):
|
for i in range(MAX_NB_EMAIL_FREE_PLAN):
|
||||||
Alias.create_new(user=user, prefix="test")
|
Alias.create_new(user=user, prefix="test")
|
||||||
@ -64,9 +66,12 @@ def test_suggested_emails_for_user_who_cannot_create_new_alias(flask_client):
|
|||||||
|
|
||||||
def test_alias_create_random(flask_client):
|
def test_alias_create_random(flask_client):
|
||||||
user = User.create(
|
user = User.create(
|
||||||
email="a@b.c", password="password", name="Test User", activated=True
|
email="a@b.c",
|
||||||
|
password="password",
|
||||||
|
name="Test User",
|
||||||
|
activated=True,
|
||||||
|
commit=True,
|
||||||
)
|
)
|
||||||
db.session.commit()
|
|
||||||
|
|
||||||
alias = Alias.create_new_random(user)
|
alias = Alias.create_new_random(user)
|
||||||
assert alias.email.endswith(EMAIL_DOMAIN)
|
assert alias.email.endswith(EMAIL_DOMAIN)
|
||||||
@ -74,9 +79,12 @@ def test_alias_create_random(flask_client):
|
|||||||
|
|
||||||
def test_website_send_to(flask_client):
|
def test_website_send_to(flask_client):
|
||||||
user = User.create(
|
user = User.create(
|
||||||
email="a@b.c", password="password", name="Test User", activated=True
|
email="a@b.c",
|
||||||
|
password="password",
|
||||||
|
name="Test User",
|
||||||
|
activated=True,
|
||||||
|
commit=True,
|
||||||
)
|
)
|
||||||
db.session.commit()
|
|
||||||
|
|
||||||
alias = Alias.create_new_random(user)
|
alias = Alias.create_new_random(user)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
@ -104,9 +112,12 @@ def test_website_send_to(flask_client):
|
|||||||
|
|
||||||
def test_new_addr(flask_client):
|
def test_new_addr(flask_client):
|
||||||
user = User.create(
|
user = User.create(
|
||||||
email="a@b.c", password="password", name="Test User", activated=True
|
email="a@b.c",
|
||||||
|
password="password",
|
||||||
|
name="Test User",
|
||||||
|
activated=True,
|
||||||
|
commit=True,
|
||||||
)
|
)
|
||||||
db.session.commit()
|
|
||||||
|
|
||||||
alias = Alias.create_new_random(user)
|
alias = Alias.create_new_random(user)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
@ -118,8 +129,8 @@ def test_new_addr(flask_client):
|
|||||||
website_email="abcd@example.com",
|
website_email="abcd@example.com",
|
||||||
reply_email="rep@SL",
|
reply_email="rep@SL",
|
||||||
name="First Last",
|
name="First Last",
|
||||||
|
commit=True,
|
||||||
)
|
)
|
||||||
db.session.commit()
|
|
||||||
assert c1.new_addr() == '"abcd@example.com via SimpleLogin" <rep@SL>'
|
assert c1.new_addr() == '"abcd@example.com via SimpleLogin" <rep@SL>'
|
||||||
|
|
||||||
# set sender_format = AT
|
# set sender_format = AT
|
||||||
@ -144,14 +155,22 @@ def test_new_addr(flask_client):
|
|||||||
|
|
||||||
def test_mailbox_delete(flask_client):
|
def test_mailbox_delete(flask_client):
|
||||||
user = User.create(
|
user = User.create(
|
||||||
email="a@b.c", password="password", name="Test User", activated=True
|
email="a@b.c",
|
||||||
|
password="password",
|
||||||
|
name="Test User",
|
||||||
|
activated=True,
|
||||||
|
commit=True,
|
||||||
)
|
)
|
||||||
db.session.commit()
|
|
||||||
|
|
||||||
m1 = Mailbox.create(user_id=user.id, email="m1@example.com", verified=True)
|
m1 = Mailbox.create(
|
||||||
m2 = Mailbox.create(user_id=user.id, email="m2@example.com", verified=True)
|
user_id=user.id, email="m1@example.com", verified=True, commit=True
|
||||||
m3 = Mailbox.create(user_id=user.id, email="m3@example.com", verified=True)
|
)
|
||||||
db.session.commit()
|
m2 = Mailbox.create(
|
||||||
|
user_id=user.id, email="m2@example.com", verified=True, commit=True
|
||||||
|
)
|
||||||
|
m3 = Mailbox.create(
|
||||||
|
user_id=user.id, email="m3@example.com", verified=True, commit=True
|
||||||
|
)
|
||||||
|
|
||||||
# alias has 2 mailboxes
|
# alias has 2 mailboxes
|
||||||
alias = Alias.create_new(user, "prefix", mailbox_id=m1.id)
|
alias = Alias.create_new(user, "prefix", mailbox_id=m1.id)
|
||||||
|
Loading…
Reference in New Issue
Block a user