diff --git a/tests/test_issues_server.py b/tests/test_issues_server.py index e9a93685cfd222000a50b399d44ec32692137e4f..4fe81cea62beb189133275fdbd5332ac183f892f 100644 --- a/tests/test_issues_server.py +++ b/tests/test_issues_server.py @@ -44,7 +44,7 @@ def setup_function(function): def teardown_function(function): """Deleting entities again.""" - setup_module() + pass #setup_module() # ########################### Issue tests start here ##################### @@ -704,3 +704,59 @@ def test_issue_221(): assert r2.get_property("B").value == 7 assert r2.get_property("B").datatype == db.INTEGER assert r2.get_property("B").id == p.id + + +def test_134_1(): + """CQL: Subproperties are not recognized in list of references. + + https://gitlab.com/caosdb/caosdb-server/-/issues/134 + """ + p_lng = db.Property(name="longitude", datatype=db.DOUBLE).insert() + p_lat = db.Property(name="latitude", datatype=db.DOUBLE).insert() + rt_ev = db.RecordType(name="Event").add_property(p_lng).add_property(p_lat).insert() + p_ev = db.Property(name="events", datatype=db.LIST(rt_ev)).insert() + rt_ds = db.RecordType(name="DataSet").add_property(p_ev).insert() + + r_ev_1 = db.Record().add_parent("Event").add_property("longitude", + 0.1).add_property("latitude", + 0.1).insert() + r_ev_2 = db.Record().add_parent("Event").add_property("longitude", + 0.2).add_property("latitude", + 0.2).insert() + + r_ds = db.Record().add_parent("DataSet").add_property("events", value=[r_ev_1, r_ev_2]).insert() + + + result = db.execute_query("SELECT events.latitude FROM RECORD DataSet", + unique=True) + print(result) + assert len(result.get_property("events").value) == 2 + assert result.get_property("events").value[0].get_property("latitude").value == 0.1 + assert result.get_property("events").value[1].get_property("latitude").value == 0.2 + +def test_134_2(): + """CQL: Subproperties are not recognized in list of references. + + https://gitlab.com/caosdb/caosdb-server/-/issues/134 + """ + p_lng = db.Property(name="longitude", datatype=db.DOUBLE).insert() + p_lat = db.Property(name="latitude", datatype=db.DOUBLE).insert() + rt_ev = db.RecordType(name="Event").add_property(p_lng).add_property(p_lat).insert() + rt_ds = db.RecordType(name="DataSet").add_property(name="Event", + datatype=db.LIST(rt_ev)).insert() + + r_ev_1 = db.Record().add_parent("Event").add_property("longitude", + 0.1).add_property("latitude", + 0.1).insert() + r_ev_2 = db.Record().add_parent("Event").add_property("longitude", + 0.2).add_property("latitude", + 0.2).insert() + + r_ds = db.Record().add_parent("DataSet").add_property("Event", datatype=db.LIST(rt_ev), value=[r_ev_1, r_ev_2]).insert() + + + result = db.execute_query("SELECT Event.latitude FROM RECORD DataSet", + unique=True) + assert len(result.get_property("Event").value) == 2 + assert result.get_property("Event").value[0].get_property("latitude").value == 0.1 + assert result.get_property("Event").value[1].get_property("latitude").value == 0.2