From 1113100ca409bc76ec17a4684ddaaae65247e7e8 Mon Sep 17 00:00:00 2001
From: florian <f.spreckelsen@inidscale.com>
Date: Mon, 21 Sep 2020 15:32:09 +0200
Subject: [PATCH] WIP: Remove TransactionError.get_errors() function

---
 tests/test_affiliation.py          | 20 ++++++++++----------
 tests/test_datatype.py             | 11 +++++------
 tests/test_datatype_inheritance.py |  2 +-
 tests/test_error_stuff.py          | 10 +++++-----
 tests/test_file.py                 |  2 +-
 tests/test_list.py                 | 28 ++++++++++++++--------------
 tests/test_misc.py                 |  6 +++---
 tests/test_permissions.py          |  2 +-
 tests/test_query_template.py       | 12 ++++++------
 tests/test_tickets.py              |  2 +-
 tests/test_tickets_300.py          |  2 +-
 11 files changed, 48 insertions(+), 49 deletions(-)

diff --git a/tests/test_affiliation.py b/tests/test_affiliation.py
index df5d897..2ce28b3 100644
--- a/tests/test_affiliation.py
+++ b/tests/test_affiliation.py
@@ -91,7 +91,7 @@ def test_rec_prop_is_invalid():
     assert cm.value.has_error(db.UnqualifiedParentsError)
     # TransactionError with UnqualifiedParentsError with EntityError
     # caused by wrong affiliation
-    ee = cm.value.get_errors()[0].get_errors()[0]
+    ee = cm.value.errors[0].errors[0]
     assert ee.msg == "Affiliation is not defined for this child-parent constellation."
 
 
@@ -100,7 +100,7 @@ def test_rec_file_is_invalid():
     with raises(db.TransactionError) as cm:
         db.Record(name="TestRecordChild").add_parent(name=file_name).insert()
     assert cm.value.has_error(db.UnqualifiedParentsError)
-    ee = cm.value.get_errors()[0].get_errors()[0]
+    ee = cm.value.errors[0].errors[0]
     assert ee.msg == "Affiliation is not defined for this child-parent constellation."
 
 
@@ -111,7 +111,7 @@ def test_rt_rec_is_invalid():
             name="TestRecordTypeChild").add_parent(
             name=rec_name).insert()
     assert cm.value.has_error(db.UnqualifiedParentsError)
-    ee = cm.value.get_errors()[0].get_errors()[0]
+    ee = cm.value.errors[0].errors[0]
     assert ee.msg == "Affiliation is not defined for this child-parent constellation."
 
 
@@ -129,7 +129,7 @@ def test_rt_prop_is_invalid():
             name="TestRecordTypeChild").add_parent(
             name=prop_name).insert()
     assert cm.value.has_error(db.UnqualifiedParentsError)
-    ee = cm.value.get_errors()[0].get_errors()[0]
+    ee = cm.value.errors[0].errors[0]
     assert ee.msg == "Affiliation is not defined for this child-parent constellation."
 
 
@@ -140,7 +140,7 @@ def test_rt_file_is_invalid():
             name="TestRecordTypeChild").add_parent(
             name=file_name).insert()
     assert cm.value.has_error(db.UnqualifiedParentsError)
-    ee = cm.value.get_errors()[0].get_errors()[0]
+    ee = cm.value.errors[0].errors[0]
     assert ee.msg == "Affiliation is not defined for this child-parent constellation."
 
 
@@ -152,7 +152,7 @@ def test_prop_rec_is_invalid():
             datatype=db.TEXT).add_parent(
             name=rec_name).insert()
     assert cm.value.has_error(db.UnqualifiedParentsError)
-    ee = cm.value.get_errors()[0].get_errors()[0]
+    ee = cm.value.errors[0].errors[0]
     assert ee.msg == "Affiliation is not defined for this child-parent constellation."
 
 
@@ -164,7 +164,7 @@ def test_prop_rt_is_invalid():
             datatype=db.TEXT).add_parent(
             name=recty_name).insert()
     assert cm.value.has_error(db.UnqualifiedParentsError)
-    ee = cm.value.get_errors()[0].get_errors()[0]
+    ee = cm.value.errors[0].errors[0]
     assert ee.msg == "Affiliation is not defined for this child-parent constellation."
 
 
@@ -185,7 +185,7 @@ def test_prop_file_is_invalid():
             datatype=db.TEXT).add_parent(
             name=file_name).insert()
     assert cm.value.has_error(db.UnqualifiedParentsError)
-    ee = cm.value.get_errors()[0].get_errors()[0]
+    ee = cm.value.errors[0].errors[0]
     assert ee.msg == "Affiliation is not defined for this child-parent constellation."
 
 
@@ -218,7 +218,7 @@ def test_file_prop_is_invalid():
             path="testfilechild.dat").add_parent(
             name=prop_name).insert()
     assert cm.value.has_error(db.UnqualifiedParentsError)
-    ee = cm.value.get_errors()[0].get_errors()[0]
+    ee = cm.value.errors[0].errors[0]
     assert ee.msg == "Affiliation is not defined for this child-parent constellation."
 
 
@@ -231,7 +231,7 @@ def test_file_file_is_invalid():
             path="testfilechild.dat").add_parent(
             name=file_name).insert()
     assert cm.value.has_error(db.UnqualifiedParentsError)
-    ee = cm.value.get_errors()[0].get_errors()[0]
+    ee = cm.value.errors[0].errors[0]
     assert ee.msg == "Affiliation is not defined for this child-parent constellation."
 
 
diff --git a/tests/test_datatype.py b/tests/test_datatype.py
index 196d13b..56dd247 100644
--- a/tests/test_datatype.py
+++ b/tests/test_datatype.py
@@ -55,7 +55,7 @@ def test_override_with_non_existing_ref():
             datatype=rt2,
             value="Non-Existing").add_parent(rt1).insert()
     assert cm.value.has_error(db.UnqualifiedPropertiesError)
-    assert (cm.value.get_errors()[0].get_errors()[0].msg ==
+    assert (cm.value.errors[0].errors[0].msg ==
             "Referenced entity does not exist.")
 
 
@@ -143,21 +143,21 @@ def test_unknown_datatype1():
     p = db.Property(name="TestP", datatype="Non-Existing")
     with raises(db.TransactionError) as te:
         p.insert()
-    assert te.value.get_errors()[0].msg == "Unknown datatype."
+    assert te.value.errors[0].msg == "Unknown datatype."
 
 
 def test_unknown_datatype2():
     p = db.Property(name="TestP", datatype="12345687654334567")
     with raises(db.TransactionError) as te:
         p.insert()
-    assert te.value.get_errors()[0].msg == "Unknown datatype."
+    assert te.value.errors[0].msg == "Unknown datatype."
 
 
 def test_unknown_datatype3():
     p = db.Property(name="TestP", datatype="-134")
     with raises(db.TransactionError) as te:
         p.insert()
-    assert te.value.get_errors()[0].msg == "Unknown datatype."
+    assert te.value.errors[0].msg == "Unknown datatype."
 
 
 def test_wrong_refid():
@@ -204,5 +204,4 @@ def test_datatype_mismatch_in_response():
     with raises(db.TransactionError) as exc:
         # should not raise ValueError but transaction error.
         rt.insert()
-    assert exc.value.get_errors()[0].get_errors(
-    )[0].msg == "Cannot parse value to double."
+    assert exc.value.errors[0].errors[0].msg == "Cannot parse value to double."
diff --git a/tests/test_datatype_inheritance.py b/tests/test_datatype_inheritance.py
index 71c8176..307d6c4 100644
--- a/tests/test_datatype_inheritance.py
+++ b/tests/test_datatype_inheritance.py
@@ -155,7 +155,7 @@ def test_datatype_overriding_update():
             p.datatype = "INT"
             p.update()
 
-        assert "Unknown datatype." == te.value.get_errors()[0].msg
+        assert "Unknown datatype." == te.value.errors[0].msg
 
         p.datatype = "INTEGER"
         p.update()
diff --git a/tests/test_error_stuff.py b/tests/test_error_stuff.py
index c21c41e..7323d62 100644
--- a/tests/test_error_stuff.py
+++ b/tests/test_error_stuff.py
@@ -73,8 +73,8 @@ def test_retrieval_exception_raised():
     with pytest.raises(TransactionError) as te:
         h.Property(name="TestNon-ExistentProperty").retrieve(unique=True,
                                                              raise_exception_on_error=True)
-    assert len(te.value.get_errors()) == 1
-    ee = te.value.get_errors()[0]
+    assert len(te.value.errors) == 1
+    ee = te.value.errors[0]
     # Check for type incl. inheritance
     assert isinstance(ee, EntityDoesNotExistError)
     assert isinstance(ee, EntityError)
@@ -109,7 +109,7 @@ def test_insertion_with_invalid_parents():
             datatype="Text").add_parent(
             id=-1)
         p.insert(raise_exception_on_error=True)
-    upe = te.value.get_errors()[0]
+    upe = te.value.errors[0]
     print(upe)
     assert isinstance(upe, UnqualifiedParentsError)
     assert upe.entity is not None
@@ -128,7 +128,7 @@ def test_insertion_with_invalid_properties():
             datatype="Text").add_property(
             id=-1)
         p.insert(raise_exception_on_error=True)
-    upe = te.value.get_errors()[0]
+    upe = te.value.errors[0]
     assert isinstance(upe, UnqualifiedPropertiesError)
     assert upe.entity is not None
     assert upe.entity.name == p.name
@@ -222,7 +222,7 @@ def test_insert_existent_entity():
         c.insert(unique=True)
     te = te.value
     assert te.has_error(UniqueNamesError)
-    une = te.get_errors()[0]
+    une = te.errors[0]
     assert une.entity is not None
     assert pe.name == une.entity.name
     for p in (p1, p2, p3):
diff --git a/tests/test_file.py b/tests/test_file.py
index f842860..51f7fc9 100644
--- a/tests/test_file.py
+++ b/tests/test_file.py
@@ -243,7 +243,7 @@ def test_file6():
 
             with raises(TransactionError) as te:
                 folder_.insert()
-            cm = te.value.get_errors()[0]
+            cm = te.value.errors[0]
             errors = cm.entity.get_errors()
             assert errors[0].description == 'This target path does already exist.'
     finally:
diff --git a/tests/test_list.py b/tests/test_list.py
index a62d489..1ce1706 100644
--- a/tests/test_list.py
+++ b/tests/test_list.py
@@ -75,7 +75,7 @@ def test_list_of_files():
                 value=[
                     p.id]).insert()
     assert tr_err.value.has_error(UnqualifiedPropertiesError)
-    assert (tr_err.value.get_errors()[0].get_errors()[0].msg ==
+    assert (tr_err.value.errors[0].errors[0].msg ==
             "Reference not qualified. The value of this Reference Property is to be a child of its data type.")
 
 
@@ -212,7 +212,7 @@ def test_error_on_wrong_value():
                 name="TestListProperty",
                 value=["this is not an int"]).insert()
     assert tr_err.value.has_error(UnqualifiedPropertiesError)
-    assert (tr_err.value.get_errors()[0].get_errors()[0].msg ==
+    assert (tr_err.value.errors[0].errors[0].msg ==
             "Cannot parse value to integer.")
 
 
@@ -220,7 +220,7 @@ def test_data_type_with_non_existing_ref1():
     with raises(TransactionError) as tr_err:
         db.Property(name="TestListProperty",
                     datatype=db.LIST("non_existing")).insert()
-    assert tr_err.value.get_errors()[0].msg == "Unknown datatype."
+    assert tr_err.value.errors[0].msg == "Unknown datatype."
 
 
 def test_data_type_with_non_existing_ref2():
@@ -228,13 +228,13 @@ def test_data_type_with_non_existing_ref2():
         db.Property(
             name="TestListProperty",
             datatype=db.LIST(234233234)).insert()
-    assert tr_err.value.get_errors()[0].msg == "Unknown datatype."
+    assert tr_err.value.errors[0].msg == "Unknown datatype."
 
 
 def test_data_type_with_non_existing_ref3():
     with raises(TransactionError) as tr_err:
         db.Property(name="TestListProperty", datatype=db.LIST(-2341)).insert()
-    assert tr_err.value.get_errors()[0].msg == "Unknown datatype."
+    assert tr_err.value.errors[0].msg == "Unknown datatype."
 
 
 def test_data_type_with_existing_ref1():
@@ -379,7 +379,7 @@ def test_single_ref_value_scope_error():
                 name="TestProp",
                 value=[rec]).insert()
     assert tr_err.value.has_error(UnqualifiedPropertiesError)
-    assert (tr_err.value.get_errors()[0].get_errors()[0].msg ==
+    assert (tr_err.value.errors[0].errors[0].msg ==
             "Reference not qualified. The value of this Reference " +
             "Property is to be a child of its data type.")
 
@@ -394,7 +394,7 @@ def test_error_single_non_existing_ref_value():
                 name="TestProp",
                 value=["non_existing"]).insert()
     assert tr_err.value.has_error(UnqualifiedPropertiesError)
-    assert (tr_err.value.get_errors()[0].get_errors()[0].msg ==
+    assert (tr_err.value.errors[0].errors[0].msg ==
             "Referenced entity does not exist.")
 
     with raises(TransactionError) as tr_err:
@@ -403,14 +403,14 @@ def test_error_single_non_existing_ref_value():
                 name="TestProp",
                 value=[213425234234]).insert()
     assert tr_err.value.has_error(UnqualifiedPropertiesError)
-    assert (tr_err.value.get_errors()[0].get_errors()[0].msg ==
+    assert (tr_err.value.errors[0].errors[0].msg ==
             "Referenced entity does not exist.")
 
     with raises(TransactionError) as tr_err:
         db.RecordType(name="TestRT2").add_property(
             name="TestProp", value=[-1234]).insert()
     assert tr_err.value.has_error(UnqualifiedPropertiesError)
-    assert (tr_err.value.get_errors()[0].get_errors()[0].msg ==
+    assert (tr_err.value.errors[0].errors[0].msg ==
             "Referenced entity does not exist.")
 
 
@@ -429,7 +429,7 @@ def test_error_multi_non_existing_ref_value():
                     "non_existing",
                     "TestRec2"]).insert()
     assert tr_err.value.has_error(UnqualifiedPropertiesError)
-    assert (tr_err.value.get_errors()[0].get_errors()[0].msg ==
+    assert (tr_err.value.errors[0].errors[0].msg ==
             "Referenced entity does not exist.")
 
     with raises(TransactionError) as tr_err:
@@ -441,7 +441,7 @@ def test_error_multi_non_existing_ref_value():
                     "TestRec2",
                     "TestRec1"]).insert()
     assert tr_err.value.has_error(UnqualifiedPropertiesError)
-    assert (tr_err.value.get_errors()[0].get_errors()[0].msg ==
+    assert (tr_err.value.errors[0].errors[0].msg ==
             "Referenced entity does not exist.")
 
     with raises(TransactionError) as tr_err:
@@ -450,7 +450,7 @@ def test_error_multi_non_existing_ref_value():
                 name="TestProp", value=[
                     "TestRec1", "TestRec2", -1234]).insert()
     assert tr_err.value.has_error(UnqualifiedPropertiesError)
-    assert (tr_err.value.get_errors()[0].get_errors()[0].msg ==
+    assert (tr_err.value.errors[0].errors[0].msg ==
             "Referenced entity does not exist.")
 
 
@@ -472,7 +472,7 @@ def test_multi_ref_value_scope_error():
                     "TestRec1",
                     "TestRec2"]).insert()
     assert tr_err.value.has_error(UnqualifiedPropertiesError)
-    assert (tr_err.value.get_errors()[0].get_errors()[0].msg ==
+    assert (tr_err.value.errors[0].errors[0].msg ==
             "Reference not qualified. The value of this Reference " +
             "Property is to be a child of its data type.")
 
@@ -656,7 +656,7 @@ def test_list_of_references():
                 value=[rt1rec1]).insert()
     print(tr_err.value)
     assert tr_err.value.has_error(UnqualifiedPropertiesError)
-    assert (tr_err.value.get_errors()[0].get_errors()[0].msg ==
+    assert (tr_err.value.errors[0].errors[0].msg ==
             'This datatype does not accept collections of values (e.g. Lists).')
     rt2rec = db.Record(name="Test_RT2_Rec").add_parent("Test_RT2").add_property(
         name="Test_RT1", datatype=db.LIST("Test_RT1"), value=[rt1rec1]).insert()
diff --git a/tests/test_misc.py b/tests/test_misc.py
index 09755dc..3bc9236 100644
--- a/tests/test_misc.py
+++ b/tests/test_misc.py
@@ -145,7 +145,7 @@ def test_error_no_such_role():
     c = Container._response_to_entities(r)
     with raises(db.TransactionError) as cm:
         db.raise_errors(c)
-    assert (cm.value.get_errors()[0].msg ==
+    assert (cm.value.errors[0].msg ==
             "There is no such role 'Entity'.")
 
     xml = "<Insert><ASDF name='test'/></Insert>"
@@ -153,7 +153,7 @@ def test_error_no_such_role():
     c = Container._response_to_entities(r)
     with raises(db.TransactionError) as cm:
         db.raise_errors(c)
-    assert (cm.value.get_errors()[0].msg ==
+    assert (cm.value.errors[0].msg ==
             "There is no such role 'ASDF'.")
 
 
@@ -187,7 +187,7 @@ def test_parent_duplicate_2():
     assert len(rt2.get_parents()) == 2
     with raises(db.TransactionError) as cm:
         rt2.insert()
-    assert (cm.value.get_errors()[0].msg ==
+    assert (cm.value.errors[0].msg ==
             "This entity had parent duplicates. Parent duplicates are meaningless and would be ignored (and inserted only once). But these parents had diverging inheritance instructions which cannot be processed.")
 
 
diff --git a/tests/test_permissions.py b/tests/test_permissions.py
index 2281a5a..18687b7 100644
--- a/tests/test_permissions.py
+++ b/tests/test_permissions.py
@@ -1210,7 +1210,7 @@ def test_check_entity_acl_roles():
     with raises(db.TransactionError) as cm:
         grant_permission(p, "USE:AS_PARENT", username="asdf-non-existing",
                          switch=False)
-    errors = cm.value.entity.get_errors()
+    errors = cm.value.entity.errors
     assert errors[0].description == "User Role does not exist."
     db.administration.set_server_property(
         "CHECK_ENTITY_ACL_ROLES_MODE", "SHOULD")
diff --git a/tests/test_query_template.py b/tests/test_query_template.py
index 52bc2c9..92c9c1d 100644
--- a/tests/test_query_template.py
+++ b/tests/test_query_template.py
@@ -111,7 +111,7 @@ def test_insertion_failure_syntax():
     with raises(db.TransactionError) as cm:
         q.insert()
     print(cm.value)
-    assert (cm.value.get_errors()[0].msg ==
+    assert (cm.value.errors[0].msg ==
             "An error occured during the parsing of this query. Maybe you use a wrong syntax?")
 
 
@@ -123,7 +123,7 @@ def test_insertion_failure_count_query_not_allowed():
         query="COUNT something")
     with raises(db.TransactionError) as cm:
         q.insert()
-    assert (cm.value.get_errors()[0].msg ==
+    assert (cm.value.errors[0].msg ==
             "QueryTemplates may not be defined by 'COUNT...' queries for consistency reasons.")
 
 
@@ -136,7 +136,7 @@ def test_insertion_failure_select_query_not_allowed():
         query=query_def)
     with raises(db.TransactionError) as cm:
         q.insert()
-    assert (cm.value.get_errors()[0].msg ==
+    assert (cm.value.errors[0].msg ==
             "QueryTemplates may not be defined by 'SELECT... FROM...' queries for consistency reasons.")
 
 
@@ -185,7 +185,7 @@ def test_update_failure_syntax():
     q.query = "ashdjfkasjdf"
     with raises(db.TransactionError) as cm:
         q.update()
-    assert(cm.value.get_errors()[0].msg ==
+    assert(cm.value.errors[0].msg ==
            "An error occured during the parsing of this query. Maybe you use a wrong syntax?")
 
 
@@ -195,7 +195,7 @@ def test_update_failure_count_query_not_allowed():
     q.query = "COUNT somethingNew"
     with raises(db.TransactionError) as cm:
         q.update()
-    assert (cm.value.get_errors()[0].msg ==
+    assert (cm.value.errors[0].msg ==
             "QueryTemplates may not be defined by 'COUNT...' queries for consistency reasons.")
 
 
@@ -205,7 +205,7 @@ def test_update_failure_select_query_not_allowed():
     q.query = "SELECT TestAnimal FROM TestExperiment WHICH HAS A TestAnimal = Pig"
     with raises(db.TransactionError) as cm:
         q.update()
-    assert (cm.value.get_errors()[0].msg ==
+    assert (cm.value.errors[0].msg ==
             "QueryTemplates may not be defined by 'SELECT... FROM...' queries for consistency reasons.")
 
 
diff --git a/tests/test_tickets.py b/tests/test_tickets.py
index 1651e25..a81031a 100644
--- a/tests/test_tickets.py
+++ b/tests/test_tickets.py
@@ -586,7 +586,7 @@ def test_ticket_39():
         with pytest.raises(TransactionError) as te:
             f = db.File(
                 path="testfiles/file1", pickup=testfile).insert()
-        e = te.value.get_errors()[0]
+        e = te.value.errors[0]
         assert e.msg == "Insufficient read permission for this file. Please make it readable."
 
     finally:
diff --git a/tests/test_tickets_300.py b/tests/test_tickets_300.py
index 36fa9a6..43fbd97 100644
--- a/tests/test_tickets_300.py
+++ b/tests/test_tickets_300.py
@@ -63,5 +63,5 @@ def test_ticket_350_insert_with_invalid_ref():
     with raises(db.TransactionError) as cm:
         c.insert()
     assert any(
-        [x.msg == "There is no such role 'Entity'." for x in cm.value.get_errors()])
+        [x.msg == "There is no such role 'Entity'." for x in cm.value.errors])
     assert cm.value.has_error(db.UnqualifiedPropertiesError)
-- 
GitLab