diff --git a/tests/test_misc.py b/tests/test_misc.py index 4e9d21d9f6f0542e773d1006430371eb96490445..9893a5a41d003ae93859bef9e527c021b57f8fca 100644 --- a/tests/test_misc.py +++ b/tests/test_misc.py @@ -32,6 +32,10 @@ from pytest import raises, mark, fixture set_test_key("_CAOSDB_PYINTTEST_SUITE") +def setup_function(function): + d = db.execute_query("SELECT id FROM ENTITY") + if len(d) > 0: + d.delete() def teardown_function(function): assert len(db.execute_query("FIND Entity with id>99")) == 0 @@ -366,51 +370,62 @@ def test_overrides_in_subdomains(clear_database): pov1 = Property( id=p1.id, + value="pov1", name="TestPropertyov1", description="desc1ov1") pov2 = Property( id=p2.id, + value="pov2", name="TestPropertyov2", - description="desc1ov2") + description="desc2ov2") pov3 = Property( id=p3.id, + value="pov3", name="TestPropertyov3", - description="desc1ov3") + description="desc3ov3") pov21 = Property( id=p1.id, + value="pov21", name="TestPropertyov21", description="desc1ov21") pov22 = Property( id=p2.id, + value="pov22", name="TestPropertyov22", - description="desc1ov22") + description="desc2ov22") pov31 = Property( id=p1.id, + value="pov31", name="TestPropertyov31", description="desc1ov31") pov32 = Property( id=p2.id, + value="pov32", name="TestPropertyov32", - description="desc1ov32") + description="desc2ov32") pov33 = Property( id=p3.id, + value="pov33", name="TestPropertyov33", - description="desc1ov33") + description="desc3ov33") pov321 = Property( id=p1.id, + value="pov321", name="TestPropertyov321", description="desc1ov321") pov322 = Property( id=p2.id, + value="pov322", name="TestPropertyov322", - description="desc1ov322") + description="desc2ov322") pov323 = Property( id=p3.id, + value="pov323", name="TestPropertyov323", - description="desc1ov323") + description="desc3ov323") pov32.add_property(pov321).add_property( pov322).add_property(pov323) @@ -418,8 +433,55 @@ def test_overrides_in_subdomains(clear_database): pov2.add_property(pov21).add_property(pov22) rt1 = RecordType(name="TestRT1").add_property( - pov1).add_property(pov2).add_property(pov3).insert() + pov1).add_property(pov2).add_property(pov3) + + rt1.insert() assert rt1.is_valid() is True + rt1 = db.execute_query(f"FIND ENTITY WITH id={rt1.id}", unique=True) + + assert len(rt1.get_properties()) == 3 + assert rt1.get_property("TestPropertyov1").description == "desc1ov1" + assert rt1.get_property("TestPropertyov1").value == "pov1" + assert rt1.get_property("TestPropertyov2").description == "desc2ov2" + assert rt1.get_property("TestPropertyov2").value == "pov2" + assert rt1.get_property("TestPropertyov3").description == "desc3ov3" + assert rt1.get_property("TestPropertyov3").value == "pov3" + + p1o = rt1.get_property("TestPropertyov1") + assert len(p1o.get_properties()) == 0 + + p2o = rt1.get_property("TestPropertyov2") + assert len(p2o.get_properties()) == 2 + assert p2o.get_property("TestPropertyov21").description == "desc1ov21" + assert p2o.get_property("TestPropertyov21").value == "pov21" + assert p2o.get_property("TestPropertyov22").description == "desc2ov22" + assert p2o.get_property("TestPropertyov22").value == "pov22" + assert len(p2o.get_property("TestPropertyov21").get_properties()) == 0 + assert len(p2o.get_property("TestPropertyov22").get_properties()) == 0 + + p3o = rt1.get_property("TestPropertyov3") + assert len(p3o.get_properties()) == 3 + assert p3o.get_property("TestPropertyov31").description == "desc1ov31" + assert p3o.get_property("TestPropertyov31").value == "pov31" + assert p3o.get_property("TestPropertyov32").description == "desc2ov32" + assert p3o.get_property("TestPropertyov32").value == "pov32" + assert p3o.get_property("TestPropertyov33").description == "desc3ov33" + assert p3o.get_property("TestPropertyov33").value == "pov33" + assert len(p3o.get_property("TestPropertyov31").get_properties()) == 0 + assert len(p3o.get_property("TestPropertyov32").get_properties()) == 3 + assert len(p3o.get_property("TestPropertyov33").get_properties()) == 0 + + p32o = p3o.get_property("TestPropertyov32") + assert p32o.get_property("TestPropertyov321").description == "desc1ov321" + assert p32o.get_property("TestPropertyov321").value == "pov321" + assert p32o.get_property("TestPropertyov322").description == "desc2ov322" + assert p32o.get_property("TestPropertyov322").value == "pov322" + assert p32o.get_property("TestPropertyov323").description == "desc3ov323" + assert p32o.get_property("TestPropertyov323").value == "pov323" + assert len(p32o.get_property("TestPropertyov321").get_properties()) == 0 + assert len(p32o.get_property("TestPropertyov322").get_properties()) == 0 + assert len(p32o.get_property("TestPropertyov323").get_properties()) == 0 + def test_role_after_retrieve(clear_database):