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"),
)
def reload(self):
super().reload()
self._groups = None
@property
def groups(self):
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
assert ("success", "The client has been edited.") in res.flashes
client = Client.get(client.id)
client.reload()
data["audience"] = [client, other_client]
for k, v in data.items():
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")
assert ("success", "The client has been edited.") in res.flashes
client = Client.get(client.id)
client.reload()
assert client.preconsent
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")
assert ("success", "The client has been edited.") in res.flashes
client = Client.get(client.id)
client.reload()
assert not client.preconsent

View file

@ -65,7 +65,7 @@ def test_group_deletion(testclient, slapd_server, slapd_connection):
assert user.groups == [group]
group.delete()
user = User.get(id=user.id)
user.reload()
assert not user.groups
user.delete()
@ -93,15 +93,15 @@ def test_set_groups(app, user, foo_group, bar_group):
user.load_groups()
user.groups = [foo_group, bar_group]
bar_group = Group.get(bar_group.id)
bar_group.reload()
assert user in bar_group.members
assert user.groups[1] == bar_group
user.load_groups()
user.groups = [foo_group]
foo_group = Group.get(foo_group.id)
bar_group = Group.get(bar_group.id)
foo_group.reload()
bar_group.reload()
assert user in foo_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.groups = []
foo_group = Group.get(foo_group.id)
foo_group.reload()
assert user.id not in foo_group.members
user.delete()
@ -227,7 +227,7 @@ def test_edition_failed(testclient, logged_moderator, foo_group):
form["display_name"] = ""
res = form.submit(name="action", value="edit")
res.mustcontain("Group edition failed.")
foo_group = Group.get(foo_group.id)
foo_group.reload()
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")
assert res.flashes == [("success", "Le profil a été mis à jour avec succès.")]
res = res.follow()
logged_user = User.get(id=logged_user.id)
logged_user.reload()
assert logged_user.preferred_language == "fr"
assert res.form["preferred_language"].value == "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")
assert res.flashes == [("success", "Profile updated successfuly.")]
res = res.follow()
logged_user = User.get(id=logged_user.id)
logged_user.reload()
assert logged_user.preferred_language == "en"
assert res.form["preferred_language"].value == "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")
assert res.flashes == [("success", "Profile updated successfuly.")]
res = res.follow()
logged_user = User.get(id=logged_user.id)
logged_user.reload()
assert logged_user.preferred_language is None
assert res.form["preferred_language"].value == "auto"
assert res.pyquery("html")[0].attrib["lang"] == "en"

View file

@ -127,7 +127,7 @@ def test_edition(
], res.text
res = res.follow()
logged_user = User.get(id=logged_user.id)
logged_user.reload()
assert logged_user.given_name == ["given_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,
},
)
user = User.get(id=logged_user.id)
assert user.phone_number == ["555-666-777"]
logged_user.reload()
assert logged_user.phone_number == ["555-666-777"]
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,
},
)
user = User.get(id=logged_user.id)
assert user.phone_number == ["555-666-777"]
logged_user.reload()
assert logged_user.phone_number == ["555-666-777"]
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,
},
)
user = User.get(id=logged_user.id)
assert user.phone_number == ["000-000-000"]
logged_user.reload()
assert logged_user.phone_number == ["000-000-000"]
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):
user.photo = [jpeg_photo]
user.save()
user = User.get(id=user.id)
user.reload()
res = testclient.get("/profile/user/photo")
assert res.body == jpeg_photo
@ -61,7 +61,7 @@ def test_photo_on_profile_edition(
assert ("success", "Profile updated successfuly.") in res.flashes
res = res.follow()
logged_user = User.get(id=logged_user.id)
logged_user.reload()
assert [jpeg_photo] == logged_user.photo
@ -72,7 +72,7 @@ def test_photo_on_profile_edition(
assert ("success", "Profile updated successfuly.") in res.flashes
res = res.follow()
logged_user = User.get(id=logged_user.id)
logged_user.reload()
assert [jpeg_photo] == logged_user.photo
@ -83,9 +83,9 @@ def test_photo_on_profile_edition(
assert ("success", "Profile updated successfuly.") in res.flashes
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
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
res = res.follow()
logged_user = User.get(id=logged_user.id)
logged_user.reload()
assert [] == logged_user.photo

View file

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