Use LDAPObject.reload in tests instead of LDAPObject.get

This commit is contained in:
Éloi Rivard 2023-04-08 21:34:09 +02:00
parent b413344385
commit c8b76dc845
7 changed files with 31 additions and 27 deletions

View file

@ -129,6 +129,10 @@ class User(LDAPObject):
password.encode("utf-8"), password.encode("utf-8"),
) )
def reload(self):
super().reload()
self._groups = None
@property @property
def groups(self): def groups(self):
if self._groups is None: if self._groups is None:

View file

@ -171,7 +171,7 @@ def test_client_edit(testclient, client, logged_admin, other_client):
) not in res.flashes ) not in res.flashes
assert ("success", "The client has been edited.") in res.flashes assert ("success", "The client has been edited.") in res.flashes
client = Client.get(client.id) client.reload()
data["audience"] = [client, other_client] data["audience"] = [client, other_client]
for k, v in data.items(): for k, v in data.items():
client_value = getattr(client, k) client_value = getattr(client, k)
@ -246,7 +246,7 @@ def test_client_edit_preauth(testclient, client, logged_admin, other_client):
res = res.forms["clientaddform"].submit(name="action", value="edit") res = res.forms["clientaddform"].submit(name="action", value="edit")
assert ("success", "The client has been edited.") in res.flashes assert ("success", "The client has been edited.") in res.flashes
client = Client.get(client.id) client.reload()
assert client.preconsent assert client.preconsent
res = testclient.get("/admin/client/edit/" + client.client_id) res = testclient.get("/admin/client/edit/" + client.client_id)
@ -254,7 +254,7 @@ def test_client_edit_preauth(testclient, client, logged_admin, other_client):
res = res.forms["clientaddform"].submit(name="action", value="edit") res = res.forms["clientaddform"].submit(name="action", value="edit")
assert ("success", "The client has been edited.") in res.flashes assert ("success", "The client has been edited.") in res.flashes
client = Client.get(client.id) client.reload()
assert not client.preconsent assert not client.preconsent

View file

@ -65,7 +65,7 @@ def test_group_deletion(testclient, slapd_server, slapd_connection):
assert user.groups == [group] assert user.groups == [group]
group.delete() group.delete()
user = User.get(id=user.id) user.reload()
assert not user.groups assert not user.groups
user.delete() user.delete()
@ -93,15 +93,15 @@ def test_set_groups(app, user, foo_group, bar_group):
user.load_groups() user.load_groups()
user.groups = [foo_group, bar_group] user.groups = [foo_group, bar_group]
bar_group = Group.get(bar_group.id) bar_group.reload()
assert user in bar_group.members assert user in bar_group.members
assert user.groups[1] == bar_group assert user.groups[1] == bar_group
user.load_groups() user.load_groups()
user.groups = [foo_group] user.groups = [foo_group]
foo_group = Group.get(foo_group.id) foo_group.reload()
bar_group = Group.get(bar_group.id) bar_group.reload()
assert user in foo_group.members assert user in foo_group.members
assert user not in bar_group.members assert user not in bar_group.members
@ -123,7 +123,7 @@ def test_set_groups_with_leading_space_in_user_id_attribute(app, foo_group):
user.load_groups() user.load_groups()
user.groups = [] user.groups = []
foo_group = Group.get(foo_group.id) foo_group.reload()
assert user.id not in foo_group.members assert user.id not in foo_group.members
user.delete() user.delete()
@ -227,7 +227,7 @@ def test_edition_failed(testclient, logged_moderator, foo_group):
form["display_name"] = "" form["display_name"] = ""
res = form.submit(name="action", value="edit") res = form.submit(name="action", value="edit")
res.mustcontain("Group edition failed.") res.mustcontain("Group edition failed.")
foo_group = Group.get(foo_group.id) foo_group.reload()
assert foo_group.display_name == "foo" assert foo_group.display_name == "foo"

View file

@ -16,7 +16,7 @@ def test_preferred_language(slapd_server, testclient, logged_user):
res = res.form.submit(name="action", value="edit") res = res.form.submit(name="action", value="edit")
assert res.flashes == [("success", "Le profil a été mis à jour avec succès.")] assert res.flashes == [("success", "Le profil a été mis à jour avec succès.")]
res = res.follow() res = res.follow()
logged_user = User.get(id=logged_user.id) logged_user.reload()
assert logged_user.preferred_language == "fr" assert logged_user.preferred_language == "fr"
assert res.form["preferred_language"].value == "fr" assert res.form["preferred_language"].value == "fr"
assert res.pyquery("html")[0].attrib["lang"] == "fr" assert res.pyquery("html")[0].attrib["lang"] == "fr"
@ -27,7 +27,7 @@ def test_preferred_language(slapd_server, testclient, logged_user):
res = res.form.submit(name="action", value="edit") res = res.form.submit(name="action", value="edit")
assert res.flashes == [("success", "Profile updated successfuly.")] assert res.flashes == [("success", "Profile updated successfuly.")]
res = res.follow() res = res.follow()
logged_user = User.get(id=logged_user.id) logged_user.reload()
assert logged_user.preferred_language == "en" assert logged_user.preferred_language == "en"
assert res.form["preferred_language"].value == "en" assert res.form["preferred_language"].value == "en"
assert res.pyquery("html")[0].attrib["lang"] == "en" assert res.pyquery("html")[0].attrib["lang"] == "en"
@ -38,7 +38,7 @@ def test_preferred_language(slapd_server, testclient, logged_user):
res = res.form.submit(name="action", value="edit") res = res.form.submit(name="action", value="edit")
assert res.flashes == [("success", "Profile updated successfuly.")] assert res.flashes == [("success", "Profile updated successfuly.")]
res = res.follow() res = res.follow()
logged_user = User.get(id=logged_user.id) logged_user.reload()
assert logged_user.preferred_language is None assert logged_user.preferred_language is None
assert res.form["preferred_language"].value == "auto" assert res.form["preferred_language"].value == "auto"
assert res.pyquery("html")[0].attrib["lang"] == "en" assert res.pyquery("html")[0].attrib["lang"] == "en"

View file

@ -127,7 +127,7 @@ def test_edition(
], res.text ], res.text
res = res.follow() res = res.follow()
logged_user = User.get(id=logged_user.id) logged_user.reload()
assert logged_user.given_name == ["given_name"] assert logged_user.given_name == ["given_name"]
assert logged_user.family_name == ["family_name"] assert logged_user.family_name == ["family_name"]
@ -192,8 +192,8 @@ def test_field_permissions_none(testclient, slapd_server, logged_user):
"csrf_token": res.form["csrf_token"].value, "csrf_token": res.form["csrf_token"].value,
}, },
) )
user = User.get(id=logged_user.id) logged_user.reload()
assert user.phone_number == ["555-666-777"] assert logged_user.phone_number == ["555-666-777"]
def test_field_permissions_read(testclient, slapd_server, logged_user): def test_field_permissions_read(testclient, slapd_server, logged_user):
@ -217,8 +217,8 @@ def test_field_permissions_read(testclient, slapd_server, logged_user):
"csrf_token": res.form["csrf_token"].value, "csrf_token": res.form["csrf_token"].value,
}, },
) )
user = User.get(id=logged_user.id) logged_user.reload()
assert user.phone_number == ["555-666-777"] assert logged_user.phone_number == ["555-666-777"]
def test_field_permissions_write(testclient, slapd_server, logged_user): def test_field_permissions_write(testclient, slapd_server, logged_user):
@ -242,8 +242,8 @@ def test_field_permissions_write(testclient, slapd_server, logged_user):
"csrf_token": res.form["csrf_token"].value, "csrf_token": res.form["csrf_token"].value,
}, },
) )
user = User.get(id=logged_user.id) logged_user.reload()
assert user.phone_number == ["000-000-000"] assert logged_user.phone_number == ["000-000-000"]
def test_simple_user_cannot_edit_other(testclient, logged_user): def test_simple_user_cannot_edit_other(testclient, logged_user):

View file

@ -7,7 +7,7 @@ from webtest import Upload
def test_photo(testclient, user, jpeg_photo): def test_photo(testclient, user, jpeg_photo):
user.photo = [jpeg_photo] user.photo = [jpeg_photo]
user.save() user.save()
user = User.get(id=user.id) user.reload()
res = testclient.get("/profile/user/photo") res = testclient.get("/profile/user/photo")
assert res.body == jpeg_photo assert res.body == jpeg_photo
@ -61,7 +61,7 @@ def test_photo_on_profile_edition(
assert ("success", "Profile updated successfuly.") in res.flashes assert ("success", "Profile updated successfuly.") in res.flashes
res = res.follow() res = res.follow()
logged_user = User.get(id=logged_user.id) logged_user.reload()
assert [jpeg_photo] == logged_user.photo assert [jpeg_photo] == logged_user.photo
@ -72,7 +72,7 @@ def test_photo_on_profile_edition(
assert ("success", "Profile updated successfuly.") in res.flashes assert ("success", "Profile updated successfuly.") in res.flashes
res = res.follow() res = res.follow()
logged_user = User.get(id=logged_user.id) logged_user.reload()
assert [jpeg_photo] == logged_user.photo assert [jpeg_photo] == logged_user.photo
@ -83,9 +83,9 @@ def test_photo_on_profile_edition(
assert ("success", "Profile updated successfuly.") in res.flashes assert ("success", "Profile updated successfuly.") in res.flashes
res = res.follow() res = res.follow()
logged_user = User.get(id=logged_user.id) logged_user.reload()
assert [] == logged_user.photo assert logged_user.photo == []
# Photo deletion AND upload, this should never happen # Photo deletion AND upload, this should never happen
res = testclient.get("/profile/user", status=200) res = testclient.get("/profile/user", status=200)
@ -95,7 +95,7 @@ def test_photo_on_profile_edition(
assert ("success", "Profile updated successfuly.") in res.flashes assert ("success", "Profile updated successfuly.") in res.flashes
res = res.follow() res = res.follow()
logged_user = User.get(id=logged_user.id) logged_user.reload()
assert [] == logged_user.photo assert [] == logged_user.photo

View file

@ -27,7 +27,7 @@ def test_edition(
assert res.flashes == [("success", "Profile updated successfuly.")] assert res.flashes == [("success", "Profile updated successfuly.")]
res = res.follow() res = res.follow()
logged_user = User.get(id=logged_user.id) logged_user.reload()
logged_user.load_groups() logged_user.load_groups()
assert logged_user.user_name == ["user"] assert logged_user.user_name == ["user"]
@ -73,7 +73,7 @@ def test_edition_without_groups(
assert res.flashes == [("success", "Profile updated successfuly.")] assert res.flashes == [("success", "Profile updated successfuly.")]
res = res.follow() res = res.follow()
logged_user = User.get(id=logged_user.id) logged_user.reload()
assert logged_user.user_name == ["user"] assert logged_user.user_name == ["user"]
assert logged_user.check_password("correct horse battery staple") assert logged_user.check_password("correct horse battery staple")