forked from Github-Mirrors/canaille
Use LDAPObject.reload in tests instead of LDAPObject.get
This commit is contained in:
parent
b413344385
commit
c8b76dc845
7 changed files with 31 additions and 27 deletions
|
@ -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:
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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):
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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")
|
||||||
|
|
Loading…
Reference in a new issue