From ad0f2a8db9a9b1111705394fa6e4d632a0d8a517 Mon Sep 17 00:00:00 2001 From: fspreck <f.spreckelsen@indiscale.com> Date: Thu, 25 May 2023 18:20:33 +0200 Subject: [PATCH] TST: Add tests for new identifiable-query quotation --- unittests/test_identifiable_adapters.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/unittests/test_identifiable_adapters.py b/unittests/test_identifiable_adapters.py index 57f1459d..5c338f0e 100644 --- a/unittests/test_identifiable_adapters.py +++ b/unittests/test_identifiable_adapters.py @@ -44,7 +44,7 @@ UNITTESTDIR = Path(__file__).parent def test_create_query_for_identifiable(): query = IdentifiableAdapter.create_query_for_identifiable( Identifiable(record_type="Person", properties={"first_name": "A", "last_name": "B"})) - assert query.lower() == "find record person with 'first_name'='a' and 'last_name'='b' " + assert query.lower() == "find record 'person' with 'first_name'='a' and 'last_name'='b' " query = IdentifiableAdapter.create_query_for_identifiable( Identifiable(name="A", record_type="B", properties={ @@ -56,31 +56,31 @@ def test_create_query_for_identifiable(): "h": db.Record(id=1111), "i": db.File(id=1112), "j": [2222, db.Record(id=3333)]})) - assert (query == "FIND RECORD B WITH name='A' AND 'c'='c' AND 'd'='5' AND 'e'='5.5'" + assert (query == "FIND RECORD 'B' WITH name='A' AND 'c'='c' AND 'd'='5' AND 'e'='5.5'" " AND 'f'='2020-10-10T00:00:00' AND 'g'='TRUE' AND 'h'='1111' AND 'i'='1112' AND " "'j'='2222' AND 'j'='3333' ") # The name can be the only identifiable query = IdentifiableAdapter.create_query_for_identifiable( Identifiable(name="TestRecord", record_type="TestType")) - assert query.lower() == "find record testtype with name='testrecord'" + assert query.lower() == "find record 'testtype' with name='testrecord'" # With referencing entity (backref) query = IdentifiableAdapter.create_query_for_identifiable( Identifiable(record_type="Person", backrefs=[14433], properties={'last_name': "B"})) - assert query.lower() == ("find record person which is referenced by 14433 and with " + assert query.lower() == ("find record 'person' which is referenced by 14433 and with " "'last_name'='b' ") # With two referencing entities (backref) query = IdentifiableAdapter.create_query_for_identifiable( Identifiable(record_type="Person", backrefs=[14433, 333], properties={'last_name': "B"})) - assert query.lower() == ("find record person which is referenced by 14433 and which is " + assert query.lower() == ("find record 'person' which is referenced by 14433 and which is " "referenced by 333 and with 'last_name'='b' ") # With single quote in string query = IdentifiableAdapter.create_query_for_identifiable( Identifiable(record_type="Person", backrefs=[], properties={'last_name': "B'Or"})) - assert query == ("FIND RECORD Person WITH 'last_name'='B\\'Or' ") + assert query == ("FIND RECORD 'Person' WITH 'last_name'='B\\'Or' ") # With only backref query = IdentifiableAdapter.create_query_for_identifiable( @@ -92,6 +92,10 @@ def test_create_query_for_identifiable(): Identifiable(backrefs=[160], name='lo', properties={})) assert query == ("FIND RECORD WHICH IS REFERENCED BY 160 AND WITH name='lo'") + query = IdentifiableAdapter.create_query_for_identifiable( + Identifiable(record_type="record type", name="it's weird")) + assert query == ("FIND RECORD 'record type' WITH name='it\\'s weird'") + def test_load_from_yaml_file(): ident = CaosDBIdentifiableAdapter() -- GitLab