Skip to content
Snippets Groups Projects

F refactor apiutils

Merged Alexander Schlemmer requested to merge f-refactor-apiutils into dev
+ 44
6
@@ -35,6 +35,8 @@ from caosdb.apiutils import (apply_to_ids, compare_entities, create_id_query,
from .test_property import testrecord
import pytest
def test_convert_object():
r2 = db.apiutils.convert_to_python_object(testrecord)
@@ -201,8 +203,6 @@ def test_compare_special_properties():
setattr(r2, set_key, 1)
diff_r1, diff_r2 = compare_entities(r1, r2)
print(diff_r1)
print(diff_r2)
assert key not in diff_r1
assert key not in diff_r2
assert len(diff_r1["parents"]) == 0
@@ -216,10 +216,6 @@ def test_compare_special_properties():
setattr(r2, set_key, 2)
diff_r1, diff_r2 = compare_entities(r1, r2)
print(r1)
print(r2)
print(diff_r1)
print(diff_r2)
assert key in diff_r1
assert key in diff_r2
if key not in INTS:
@@ -230,3 +226,45 @@ def test_compare_special_properties():
assert diff_r2[key] == 2
assert len(diff_r1["properties"]) == 0
assert len(diff_r2["properties"]) == 0
@pytest.mark.xfail
def test_compare_properties():
p1 = db.Property()
p2 = db.Property()
diff_r1, diff_r2 = compare_entities(p1, p2)
assert len(diff_r1["parents"]) == 0
assert len(diff_r2["parents"]) == 0
assert len(diff_r1["properties"]) == 0
assert len(diff_r2["properties"]) == 0
p1.importance = "SUGGESTED"
diff_r1, diff_r2 = compare_entities(p1, p2)
assert len(diff_r1["parents"]) == 0
assert len(diff_r2["parents"]) == 0
assert len(diff_r1["properties"]) == 0
assert len(diff_r2["properties"]) == 0
assert "importance" in diff_r1
assert diff_r1["importance"] == "SUGGESTED"
# TODO: I'm not sure why it is not like this:
# assert diff_r2["importance"] is None
# ... but:
assert "importance" not in diff_r2
p2.importance = "SUGGESTED"
p1.value = 42
p2.value = 4
diff_r1, diff_r2 = compare_entities(p1, p2)
assert len(diff_r1["parents"]) == 0
assert len(diff_r2["parents"]) == 0
assert len(diff_r1["properties"]) == 0
assert len(diff_r2["properties"]) == 0
# Comparing values currently does not seem to be implemented:
assert "value" in diff_r1
assert diff_r1["value"] == 42
assert "value" in diff_r2
assert diff_r2["value"] == 4
Loading