2024-04-12 08:49:56 +00:00
|
|
|
from canaille.app import models
|
|
|
|
|
|
|
|
|
|
|
|
def test_model_references_set_unsaved_object(
|
|
|
|
testclient, logged_moderator, user, backend
|
|
|
|
):
|
|
|
|
"""LDAP groups can be inconsistent by containing members which doesn't
|
|
|
|
exist."""
|
|
|
|
group = models.Group(members=[user], display_name="foo")
|
2024-04-14 18:31:43 +00:00
|
|
|
backend.save(group)
|
2024-04-14 20:51:58 +00:00
|
|
|
backend.reload(user)
|
2024-04-12 08:49:56 +00:00
|
|
|
|
|
|
|
non_existent_user = models.User(
|
|
|
|
formatted_name="foo", family_name="bar", user_name="baz"
|
|
|
|
)
|
|
|
|
group.members = group.members + [non_existent_user]
|
|
|
|
assert group.members == [user, non_existent_user]
|
|
|
|
|
2024-04-14 18:31:43 +00:00
|
|
|
backend.save(group)
|
2024-04-12 08:49:56 +00:00
|
|
|
assert group.members == [user, non_existent_user]
|
|
|
|
|
2024-04-14 20:51:58 +00:00
|
|
|
backend.reload(group)
|
2024-04-12 08:49:56 +00:00
|
|
|
assert group.members == [user]
|
|
|
|
|
|
|
|
testclient.get("/groups/foo", status=200)
|
|
|
|
|
2024-04-14 18:37:52 +00:00
|
|
|
backend.delete(group)
|