diff --git a/tests/test_error_stuff.py b/tests/test_error_stuff.py index 5f06cae51b045f059722a817aae5a3b502c97dd4..d96d8ed9e1814d59e25e747fd57cdc7a60b2bc69 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) +