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