tests: move test_model_references_set_unsaved_object to the ldap tests directory

This commit is contained in:
Éloi Rivard 2024-04-12 10:49:56 +02:00
parent d8b5c837d7
commit 6e26656cc4
No known key found for this signature in database
GPG key ID: 7EDA204EA57DD184
3 changed files with 27 additions and 28 deletions

View file

@ -454,7 +454,6 @@ class LDAPObject(BackendModel, metaclass=LDAPObjectMetaclass):
for name, value in self.changes.items()
if name not in deletions and self.state.get(name) != value
}
print(deletions, changes)
formatted_changes = python_attrs_to_ldap(changes, null_allowed=False)
modlist = [(ldap.MOD_DELETE, name, None) for name in deletions] + [
(ldap.MOD_REPLACE, name, values)

View file

@ -0,0 +1,27 @@
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")
group.save()
user.reload()
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]
group.save()
assert group.members == [user, non_existent_user]
group.reload()
assert group.members == [user]
testclient.get("/groups/foo", status=200)
group.delete()

View file

@ -189,33 +189,6 @@ def test_model_references(testclient, user, foo_group, admin, bar_group, backend
assert bar_group not in user.groups
def test_model_references_set_unsaved_object(
testclient, logged_moderator, user, backend
):
if "sql" in backend.__class__.__module__:
pytest.skip()
group = models.Group(members=[user], display_name="foo")
group.save()
user.reload() # LDAP groups can be inconsistent by containing members which doesn't exist
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]
group.save()
assert group.members == [user, non_existent_user]
group.reload()
assert group.members == [user]
testclient.get("/groups/foo", status=200)
group.delete()
def test_model_creation_edition_datetime(testclient, backend):
if "ldap" in backend.__class__.__module__:
pytest.skip()