Skip to content
Snippets Groups Projects
Verified Commit 1b67f748 authored by Timm Fitschen's avatar Timm Fitschen
Browse files

WIP: pipeline

parent 1711bea3
No related branches found
No related tags found
1 merge request!26pipeline
Pipeline #19038 failed
......@@ -542,3 +542,52 @@ def test_issue_130():
query = 'SELECT "TestWrapper With Spaces".name FROM RECORD TestRT_B'
row = db.execute_query(query).get_property_values(("TestWrapper With Spaces", "name"))
assert row == [("ReferencedRecord",)] #FAILS
def test_issue_132():
"""Query: Parenthesis around subproperties.
https://gitlab.com/caosdb/caosdb-server/-/issues/132
"""
db.RecordType("TestRT").insert()
db.RecordType("TestRT_Foo").insert()
db.Property("TestP_Bar", datatype=db.TEXT).insert()
db.Property("TestP_Baz", datatype=db.TEXT).insert()
rt1 = db.Record().add_parent("TestRT_Foo").add_property("TestP_Bar", "val1").add_property("TestP_Baz", "the other baz").insert()
rt2 = db.Record().add_parent("TestRT").add_property("TestP_Baz", "val2").add_property("TestRT_Foo", rt1).insert()
query = "FIND RECORD TestRT_Foo"
assert db.execute_query(query, unique=True).id == rt1.id
query = "FIND RECORD TestRT"
assert db.execute_query(query, unique=True).id == rt2.id
query = "FIND RECORD TestRT WITH TestRT_Foo"
assert db.execute_query(query, unique=True).id == rt2.id
query = "FIND RECORD TestRT WITH TestRT_Foo.TestP_Bar"
assert db.execute_query(query, unique=True).id == rt2.id
query = "FIND RECORD TestRT WITH TestRT_Foo.TestP_Bar = val1"
assert db.execute_query(query, unique=True).id == rt2.id
query = "FIND RECORD TestRT WITH (TestRT_Foo.TestP_Bar = val1)"
assert db.execute_query(query, unique=True).id == rt2.id
query = "FIND RECORD TestRT WITH ( TestRT_Foo.TestP_Bar = val1 )"
assert db.execute_query(query, unique=True).id == rt2.id
query = "FIND RECORD TestRT WITH (TestRT_Foo.TestP_Bar = val1) AND TestP_Baz = val2"
assert db.execute_query(query, unique=True).id == rt2.id
query = "FIND RECORD TestRT WITH (TestRT_Foo WITH (TestP_Bar = val1 AND TestP_Baz = 'the other baz')) AND TestP_Baz = val2"
assert db.execute_query(query, unique=True).id == rt2.id
query = "FIND RECORD TestRT WITH TestRT_Foo WITH (TestP_Bar = val1 AND TestP_Baz = 'the other baz') AND TestP_Baz = val2"
assert db.execute_query(query, unique=True).id == rt2.id
# this one has the wront scope of the conjunction.
query = "FIND RECORD TestRT WITH TestRT_Foo.TestP_Bar = val1 AND TestP_Baz = 'the other one'"
assert len(db.execute_query(query)) == 0
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment