From fbd31edb4a7231795129ce3b8a685e87841f5ade Mon Sep 17 00:00:00 2001 From: fspreck <f.spreckelsen@indiscale.com> Date: Mon, 18 Jan 2021 16:42:12 +0100 Subject: [PATCH] TST: Test error handling of update_acl function --- tests/test_error_stuff.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/tests/test_error_stuff.py b/tests/test_error_stuff.py index 5f06cae..d96d8ed 100644 --- a/tests/test_error_stuff.py +++ b/tests/test_error_stuff.py @@ -320,3 +320,29 @@ def test_double_insertion(): assert te.container == c2 # exactly 5 faulty entities in c2 assert len(te.entities) == 5 + + +def test_update_acl_errors(): + """Test the special cases of entity errors when using + `Entity.update_acl` + + """ + rec_ne = h.Record("TestRecordNonExisting") + + with pytest.raises(TransactionError) as te: + + rec_ne.update_acl() + + assert te.value.has_error(EntityDoesNotExistError) + assert te.value.errors[0].entity.name == rec_ne.name + + rt = h.RecordType(name="TestType").insert() + rec = h.Record(name="TestRecord").add_parent(rt).insert() + h.Record(name=rec.name).add_parent(rt).insert(unique=False) + + with pytest.raises(TransactionError) as te: + + h.Record(name=rec.name).update_acl() + + assert te.value.has_error(AmbiguousEntityError) + -- GitLab