forked from Github-Mirrors/canaille
tests: move test_model_references_set_unsaved_object to the ldap tests directory
This commit is contained in:
parent
d8b5c837d7
commit
6e26656cc4
3 changed files with 27 additions and 28 deletions
|
@ -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)
|
||||
|
|
27
tests/backends/ldap/test_models.py
Normal file
27
tests/backends/ldap/test_models.py
Normal 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()
|
|
@ -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()
|
||||
|
|
Loading…
Reference in a new issue