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

Merge branch 'dev' into f-220

parents e87044ca dd05c68e
Branches
Tags
2 merge requests!31Tests for caosdb-server#223,!30F parse acl
......@@ -603,13 +603,104 @@ def test_issue_132():
def test_issue_217():
"""Server gets list property datatype wrong if description is updated."""
# @review Florian Spreckelsen 2022-03-15
rt = db.RecordType(name="TestRT").insert()
# prop = db.Property(name="LP", datatype=db.LIST("TestRT")).insert()
r = db.Record().add_parent(id=rt.id).add_property(name=rt.name,
datatype=db.LIST(db.INTEGER),
value=[1, 2]).insert()
datatype=db.LIST(
db.INTEGER),
value=[10001, 10002])
assert r.get_property(rt.name).datatype == db.LIST(db.INTEGER)
assert r.get_property(rt.name).value == [10001, 10002]
r.insert()
assert r.get_property(rt.name).datatype == db.LIST(db.INTEGER)
assert r.get_property(rt.name).value == [10001, 10002]
r.retrieve()
assert r.get_property(rt.name).datatype == db.LIST(db.INTEGER)
assert r.get_property(rt.name).value == [10001, 10002]
r.retrieve(flags={"cache": "false"})
assert r.get_property(rt.name).datatype == db.LIST(db.INTEGER)
assert r.get_property(rt.name).value == [10001, 10002]
r.description = "Changed description"
r.update()
r.retrieve() # This line fails in the bug report with invalid XML.
assert r.get_property(rt.name).datatype == db.LIST(db.INTEGER)
assert r.get_property(rt.name).value == [10001, 10002]
# This line fails in the bug report with invalid XML.
r.retrieve()
assert r.get_property(rt.name).datatype == db.LIST(db.INTEGER)
assert r.get_property(rt.name).value == [10001, 10002]
def test_issue_217_2():
"""Server gets overridden name of property wrong when the description of record is being updated."""
# @review Florian Spreckelsen 2022-03-15
rt = db.RecordType(name="TestRT").insert()
# prop = db.Property(name="LP", datatype=db.LIST("TestRT")).insert()
overridden_name = "TestRT-overridden"
r = db.Record().add_parent(id=rt.id).add_property(name=overridden_name,
id=rt.id)
assert r.get_property(overridden_name) is not None
assert r.get_property(overridden_name).id == rt.id
r.insert()
assert r.get_property(overridden_name) is not None
assert r.get_property(overridden_name).id == rt.id
r.retrieve()
assert r.get_property(overridden_name) is not None
assert r.get_property(overridden_name).id == rt.id
r.retrieve(flags={"cache": "false"})
assert r.get_property(overridden_name) is not None
assert r.get_property(overridden_name).id == rt.id
r.description = "Changed description" # change description of the record
r.update()
assert r.get_property(overridden_name) is not None
assert r.get_property(overridden_name).id == rt.id
r.retrieve()
assert r.get_property(overridden_name) is not None
assert r.get_property(overridden_name).id == rt.id
def test_issue_217_3():
"""Server gets overridden description of property wrong when the description of record is being updated."""
# @review Florian Spreckelsen 2022-03-15
rt = db.RecordType(name="TestRT", description="Desc").insert()
# prop = db.Property(name="LP", datatype=db.LIST("TestRT")).insert()
r = db.Record().add_parent(id=rt.id).add_property(description="Desc-overridden",
id=rt.id)
r.insert()
assert r.get_property(rt.name).id == rt.id
assert r.get_property(rt.name).description == "Desc-overridden"
r.retrieve()
assert r.get_property(rt.name).id == rt.id
assert r.get_property(rt.name).description == "Desc-overridden"
r.retrieve(flags={"cache": "false"})
assert r.get_property(rt.name).id == rt.id
assert r.get_property(rt.name).description == "Desc-overridden"
r.description = "Changed description" # change description of the record
r.update()
assert r.get_property(rt.name).id == rt.id
assert r.get_property(rt.name).description == "Desc-overridden"
r.retrieve()
assert r.get_property(rt.name).id == rt.id
assert r.get_property(rt.name).description == "Desc-overridden"
def test_issue_221():
"""Unknown error during update of property leaving out datatype"""
rt = db.RecordType("A")
r = db.Record()
r.add_parent(rt)
p = db.Property(name="B", datatype=db.INTEGER)
r.add_property(name="B", value=5)
db.Container().extend([rt, r, p]).insert()
r2 = db.Record(id=r.id).retrieve()
r2.remove_property("B")
r2.add_property(p, value=7)
r2.update()
assert r2.get_property("B").value == 7
assert r2.get_property("B").datatype == db.INTEGER
assert r2.get_property("B").id == p.id
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment