diff --git a/tests/test_query_version.py b/tests/test_query_version.py index 78a58e60626f5f2af903fab0d48dd2c863b1d020..223773d10822927a143f82fece47afb0da446549 100644 --- a/tests/test_query_version.py +++ b/tests/test_query_version.py @@ -58,10 +58,19 @@ TEST_REC_1 = db.Record( TEST_PROP_TEXT_2 = db.Property("TestPropertyText2", datatype=db.TEXT) TEST_BACKREF_RT = db.RecordType("TestBackRefRecordType") -TEST_BACKREF_0 = db.Record("TestBackRef0", description="bref0").add_parent(TEST_BACKREF_RT).add_property(TEST_RT_1, "TestRecord1").add_property(TEST_PROP_TEXT_2, "val0") -TEST_BACKREF_1 = db.Record("TestBackRef1", description="bref1").add_parent(TEST_BACKREF_RT).add_property(TEST_PROP_TEXT_2, "val1") -TEST_BACKREF_2 = db.Record("TestBackRef2", description="bref2").add_parent(TEST_BACKREF_RT).add_property(TEST_PROP_TEXT_2, "val2") -TEST_BACKREF_3 = db.Record("TestBackRef3", description="bref3").add_parent(TEST_BACKREF_RT).add_property(TEST_PROP_TEXT_2, "val3") +TEST_BACKREF_0 = db.Record( + "TestBackRef0", + description="bref0").add_parent(TEST_BACKREF_RT).add_property( + TEST_RT_1, + "TestRecord1").add_property( + TEST_PROP_TEXT_2, + "val0") +TEST_BACKREF_1 = db.Record("TestBackRef1", description="bref1").add_parent( + TEST_BACKREF_RT).add_property(TEST_PROP_TEXT_2, "val1") +TEST_BACKREF_2 = db.Record("TestBackRef2", description="bref2").add_parent( + TEST_BACKREF_RT).add_property(TEST_PROP_TEXT_2, "val2") +TEST_BACKREF_3 = db.Record("TestBackRef3", description="bref3").add_parent( + TEST_BACKREF_RT).add_property(TEST_PROP_TEXT_2, "val3") def teardown_module(): @@ -73,9 +82,11 @@ def setup_module(): TEST_PROP_INTEGER, TEST_PROP_DATETIME, TEST_PROP_DATE, TEST_REF_RT, TEST_REF_1, TEST_REF_2, TEST_REF_3, TEST_BACKREF_RT, TEST_BACKREF_0, TEST_PROP_TEXT_2, - ]).insert() + ]).insert() CONTAINER.append(TEST_BACKREF_1) - TEST_BACKREF_1.add_property(TEST_RT_1, str(TEST_REC_1.id)+"@HEAD").insert() + TEST_BACKREF_1.add_property( + TEST_RT_1, str( + TEST_REC_1.id) + "@HEAD").insert() # update test_rec_1 two times TEST_REC_1.description = "v2" @@ -88,7 +99,9 @@ def setup_module(): TEST_REC_1.update() CONTAINER.append(TEST_BACKREF_2) - TEST_BACKREF_2.add_property(TEST_RT_1, str(TEST_REC_1.id)+"@HEAD").insert() + TEST_BACKREF_2.add_property( + TEST_RT_1, str( + TEST_REC_1.id) + "@HEAD").insert() TEST_REC_1.description = "v3" TEST_REC_1.get_property(TEST_PROP_TEXT).value = "val3" @@ -100,7 +113,9 @@ def setup_module(): TEST_REC_1.update() CONTAINER.append(TEST_BACKREF_3) - TEST_BACKREF_3.add_property(TEST_RT_1, str(TEST_REC_1.id)+"@HEAD").insert() + TEST_BACKREF_3.add_property( + TEST_RT_1, str( + TEST_REC_1.id) + "@HEAD").insert() def test_normal_find_record(): @@ -186,14 +201,16 @@ def test_normal_find_record(): result = query("FIND RECORD TestRefRecordType WITH NOT TestPropertyText") assert len(result) == 3 - assert set(["ref1", "ref2", "ref3"]) == set([r.description for r in result]) + assert set(["ref1", "ref2", "ref3"]) == set( + [r.description for r in result]) result = query("FIND RECORD TestRecord1 WITH NOT TestPropertyText") assert len(result) == 0 result = query("FIND RECORD WITH NOT TestPropertyText") assert len(result) == 7 - assert set(["ref1", "ref2", "ref3", "bref0", "bref1", "bref2", "bref3",]) == set([r.description for r in result]) + assert set(["ref1", "ref2", "ref3", "bref0", "bref1", "bref2", + "bref3", ]) == set([r.description for r in result]) result = query("FIND RECORD WHICH IS REFERENCED BY TestBackRefRecordType") assert len(result) == 1 @@ -203,12 +220,14 @@ def test_normal_find_record(): assert len(result) == 1 assert result[0].description == "v3" - result = query("FIND RECORD WHICH IS REFERENCED BY TestBackRefRecordType WITH TestPropertyText2=val0") + result = query( + "FIND RECORD WHICH IS REFERENCED BY TestBackRefRecordType WITH TestPropertyText2=val0") assert len(result) == 1 assert result[0].description == "v3" -@pytest.mark.xfail(reason="Find queries which respect the version of the references are not supported yet and return false positives.") +@pytest.mark.xfail( + reason="Find queries which respect the version of the references are not supported yet and return false positives.") def test_normal_find_with_versioned_reference(): # current version is not referenced result = query("FIND RECORD WHICH IS REFERENCED BY TestBackRef1") @@ -416,71 +435,88 @@ def test_find_any_version_of_record_with_simple_reference_filter(): def test_find_any_version_of_record_with_conjunction_filter(): - result = query("FIND ANY VERSION OF RECORD WITH TestRefRecordType AND TestPropertyText") + result = query( + "FIND ANY VERSION OF RECORD WITH TestRefRecordType AND TestPropertyText") assert len(result) == 3 assert set(["v3", "v2", "v1"]) == set([r.description for r in result]) - result = query("FIND ANY VERSION OF RECORD WITH TestRefRecordType = TestRef3 AND TestPropertyText") + result = query( + "FIND ANY VERSION OF RECORD WITH TestRefRecordType = TestRef3 AND TestPropertyText") assert len(result) == 1 assert result[0].description == "v3" - result = query("FIND ANY VERSION OF RECORD WITH TestRefRecordType = TestRef3 AND TestPropertyText = val3") + result = query( + "FIND ANY VERSION OF RECORD WITH TestRefRecordType = TestRef3 AND TestPropertyText = val3") assert len(result) == 1 assert result[0].description == "v3" - result = query("FIND ANY VERSION OF RECORD WITH TestRefRecordType = TestRef2 AND TestPropertyText = val2") + result = query( + "FIND ANY VERSION OF RECORD WITH TestRefRecordType = TestRef2 AND TestPropertyText = val2") assert len(result) == 1 assert result[0].description == "v2" - result = query("FIND ANY VERSION OF RECORD WITH TestRefRecordType = TestRef3 AND TestPropertyText = val2") + result = query( + "FIND ANY VERSION OF RECORD WITH TestRefRecordType = TestRef3 AND TestPropertyText = val2") assert len(result) == 0 def test_find_any_version_of_record_with_disjunction_filter(): - result = query("FIND ANY VERSION OF RECORD WITH TestRefRecordType OR TestPropertyText") + result = query( + "FIND ANY VERSION OF RECORD WITH TestRefRecordType OR TestPropertyText") assert len(result) == 3 assert set(["v3", "v2", "v1"]) == set([r.description for r in result]) - result = query("FIND ANY VERSION OF RECORD WITH TestRefRecordType = TestRef3 OR TestPropertyText") + result = query( + "FIND ANY VERSION OF RECORD WITH TestRefRecordType = TestRef3 OR TestPropertyText") assert len(result) == 3 assert set(["v3", "v2", "v1"]) == set([r.description for r in result]) - result = query("FIND ANY VERSION OF RECORD WITH TestRefRecordType = TestRef2 OR TestPropertyText") + result = query( + "FIND ANY VERSION OF RECORD WITH TestRefRecordType = TestRef2 OR TestPropertyText") assert len(result) == 3 assert set(["v3", "v2", "v1"]) == set([r.description for r in result]) - result = query("FIND ANY VERSION OF RECORD WITH TestRefRecordType = TestRef3 OR TestPropertyText = val3") + result = query( + "FIND ANY VERSION OF RECORD WITH TestRefRecordType = TestRef3 OR TestPropertyText = val3") assert len(result) == 1 assert result[0].description == "v3" - result = query("FIND ANY VERSION OF RECORD WITH TestRefRecordType = TestRef2 OR TestPropertyText = val2") + result = query( + "FIND ANY VERSION OF RECORD WITH TestRefRecordType = TestRef2 OR TestPropertyText = val2") assert len(result) == 1 assert result[0].description == "v2" - result = query("FIND ANY VERSION OF TestRecord1 WITH TestRefRecordType = TestRef2 OR TestPropertyText = val2") + result = query( + "FIND ANY VERSION OF TestRecord1 WITH TestRefRecordType = TestRef2 OR TestPropertyText = val2") assert len(result) == 1 assert result[0].description == "v2" - result = query("FIND ANY VERSION OF RECORD WITH TestRefRecordType = TestRef2 OR TestPropertyText = val3") + result = query( + "FIND ANY VERSION OF RECORD WITH TestRefRecordType = TestRef2 OR TestPropertyText = val3") assert len(result) == 2 assert set(["v3", "v2"]) == set([r.description for r in result]) - result = query("FIND ANY VERSION OF RECORD WITH TestRefRecordType = TestRef2 OR TestPropertyText = val3 OR TestPropertyInteger = 200") + result = query( + "FIND ANY VERSION OF RECORD WITH TestRefRecordType = TestRef2 OR TestPropertyText = val3 OR TestPropertyInteger = 200") assert len(result) == 2 assert set(["v3", "v2"]) == set([r.description for r in result]) def test_find_any_version_of_record_with_negation_filter(): - result = query("FIND ANY VERSION OF RECORD WHICH DOES NOT HAVE A TestPropertyText") + result = query( + "FIND ANY VERSION OF RECORD WHICH DOES NOT HAVE A TestPropertyText") assert len(result) == 7 - assert set(["ref1", "ref2", "ref3", "bref0", "bref1", "bref2", "bref3",]) == set([r.description for r in result]) + assert set(["ref1", "ref2", "ref3", "bref0", "bref1", "bref2", + "bref3", ]) == set([r.description for r in result]) - result = query("FIND ANY VERSION OF RECORD WHICH DOES NOT HAVE A TestPropertyText=val2") + result = query( + "FIND ANY VERSION OF RECORD WHICH DOES NOT HAVE A TestPropertyText=val2") assert len(result) == 9 assert set(["ref1", "ref2", "ref3", "bref0", "bref1", "bref2", "bref3", "v1", "v3"]) == set([r.description for r in result]) - result = query("FIND ANY VERSION OF RECORD TestRecord1 WHICH DOES NOT HAVE A TestPropertyText=val2") + result = query( + "FIND ANY VERSION OF RECORD TestRecord1 WHICH DOES NOT HAVE A TestPropertyText=val2") assert len(result) == 2 assert set(["v1", "v3"]) == set([r.description for r in result]) @@ -492,48 +528,60 @@ def test_find_any_version_of_record_with_complex_filter(): def test_find_any_version_of_record_with_backref_filter(): - result = query("FIND ANY VERSION OF RECORD WHICH IS REFERENCED BY TestBackRefRecordType") + result = query( + "FIND ANY VERSION OF RECORD WHICH IS REFERENCED BY TestBackRefRecordType") assert len(result) == 3 assert set(["v1", "v2", "v3"]) == set([r.description for r in result]) - result = query("FIND ANY VERSION OF RECORD TestRecord1 WHICH IS REFERENCED BY TestBackRefRecordType") + result = query( + "FIND ANY VERSION OF RECORD TestRecord1 WHICH IS REFERENCED BY TestBackRefRecordType") assert len(result) == 3 assert set(["v1", "v2", "v3"]) == set([r.description for r in result]) - result = query("FIND ANY VERSION OF TestRecord1 WHICH IS REFERENCED BY TestBackRefRecordType") + result = query( + "FIND ANY VERSION OF TestRecord1 WHICH IS REFERENCED BY TestBackRefRecordType") assert len(result) == 3 assert set(["v1", "v2", "v3"]) == set([r.description for r in result]) - result = query("FIND ANY VERSION OF TestRecord1 WHICH IS REFERENCED BY TestBackRef0") + result = query( + "FIND ANY VERSION OF TestRecord1 WHICH IS REFERENCED BY TestBackRef0") assert len(result) == 3 assert set(["v1", "v2", "v3"]) == set([r.description for r in result]) - result = query("FIND ANY VERSION OF TestRecord1 WHICH IS REFERENCED BY TestBackRef0") + result = query( + "FIND ANY VERSION OF TestRecord1 WHICH IS REFERENCED BY TestBackRef0") assert len(result) == 3 assert set(["v1", "v2", "v3"]) == set([r.description for r in result]) - result = query("FIND ANY VERSION OF TestRecord1 WHICH IS REFERENCED BY TestBackRef1") + result = query( + "FIND ANY VERSION OF TestRecord1 WHICH IS REFERENCED BY TestBackRef1") assert len(result) == 1 assert set(["v1"]) == set([r.description for r in result]) - result = query("FIND ANY VERSION OF TestRecord1 WHICH IS REFERENCED BY TestBackRef2") + result = query( + "FIND ANY VERSION OF TestRecord1 WHICH IS REFERENCED BY TestBackRef2") assert len(result) == 1 assert set(["v2"]) == set([r.description for r in result]) - result = query("FIND ANY VERSION OF TestRecord1 WHICH IS REFERENCED BY TestBackRef3") + result = query( + "FIND ANY VERSION OF TestRecord1 WHICH IS REFERENCED BY TestBackRef3") assert len(result) == 1 assert set(["v3"]) == set([r.description for r in result]) -@pytest.mark.xfail(reason="versioned queries with subqueries are not supported yet") +@pytest.mark.xfail( + reason="versioned queries with subqueries are not supported yet") def test_find_any_version_of_record_with_backref_and_subquery(): - assert query("FIND ANY VERSION OF RECORD WHICH IS REFERENCED BY TestBackRefRecordType WITH name = TestBackRef0") + assert query( + "FIND ANY VERSION OF RECORD WHICH IS REFERENCED BY TestBackRefRecordType WITH name = TestBackRef0") assert len(result) == 1 assert set(["v3"]) == set([r.description for r in result]) -@pytest.mark.xfail(reason="versioned queries with subqueries are not supported yet") +@pytest.mark.xfail( + reason="versioned queries with subqueries are not supported yet") def test_find_any_version_of_record_with_ref_and_subquery(): - assert query("FIND ANY VERSION OF RECORD WHICH REFERENCES TestRefRecordType WITH name = TestRef2") + assert query( + "FIND ANY VERSION OF RECORD WHICH REFERENCES TestRefRecordType WITH name = TestRef2") assert len(result) == 1 assert set(["v3"]) == set([r.description for r in result])