diff --git a/unittests/test_issues.py b/unittests/test_issues.py index 2c45a6d77ba61c3f948e403f708994c0fe31481a..3fb48416511ba654d6f998442319c4ff29ac2956 100644 --- a/unittests/test_issues.py +++ b/unittests/test_issues.py @@ -37,3 +37,30 @@ def test_issue_100(): with raises(TypeError) as exc_info: db.common.models._parse_single_xml_element(xml_el) assert "Invalid datatype: List valued properties" in str(exc_info.value) + + +def test_issue_156(): + """Does parse_value make a mistake with entities? + + https://gitlab.indiscale.com/caosdb/src/caosdb-pylib/-/issues/156 + """ + project = db.Record(name="foo") + project.add_parent(name="RTName") + # <Record name="foo"> + # <Parent name="RTName"/> + # </Record> + experiment = db.Record() + experiment.add_property(name="RTName", value=project) + # <Record> + # <Property name="RTName" importance="FIX" flag="inheritance:FIX">foo</Property> + # </Record> + value = experiment.get_property("RTName").value + # <Record name="foo"> + # <Parent name="RTName"/> + # </Record> + parents = value.get_parents() + # <ParentList> + # <Parent name="RTName"/> + # </ParentList> + assert value is project + assert parents[0].name == "RTName"