From c1b70f544880e5e9cd9bcfe8de21189ce84635d2 Mon Sep 17 00:00:00 2001 From: Timm Fitschen <t.fitschen@indiscale.com> Date: Thu, 13 Feb 2020 15:35:20 +0100 Subject: [PATCH] WIP: tests for empty and null values --- tests/test_empty_text_value.py | 78 +++++++++++++++++++++++++++------- 1 file changed, 63 insertions(+), 15 deletions(-) diff --git a/tests/test_empty_text_value.py b/tests/test_empty_text_value.py index 19cdfab..9df0651 100644 --- a/tests/test_empty_text_value.py +++ b/tests/test_empty_text_value.py @@ -20,15 +20,15 @@ # import pytest -from nose.tools import assert_equals, with_setup import caosdb as db def setup(): - rt = db.RecordType("Test") + teardown() + rt = db.RecordType("TestRT") rt.insert() - p = db.Property("te", datatype=db.TEXT) + p = db.Property("TestProp", datatype=db.TEXT) p.insert() @@ -37,24 +37,72 @@ def teardown(): db.execute_query("FIND Test*").delete() except Exception as e: print(e) - try: - db.execute_query("FIND te").delete() - except Exception as e: - print(e) -@pytest.mark.skip(reason="this is the confirmation for https://gitlab.com/caosdb/caosdb-server/issues/33") -@with_setup(setup, teardown) def test_empty_string(): r = db.Record() - r.add_parent("Test") - r.add_property("te", value="leer") + r.add_parent("TestRT") + r.add_property("TestProp", value="leer") + r.insert() + assert db.execute_query("FIND TestRT with TestProp='leer'", unique=True).id == r.id + r.delete() + r = db.Record() + r.add_parent("TestRT") + r.add_property("TestProp", value="") + r.insert() + assert db.execute_query("FIND Record TestRT", unique=True).value == "" + # assert db.execute_query("FIND TestRT with TestProp=''", unique=True).id == r.id + r.delete() + +def test_null_value(): + r = db.Record() + r.add_parent("TestRT") + r.add_property("TestProp", value="null") + r.insert() + assert db.execute_query("FIND TestRT with TestProp='null'", unique=True).id == r.id + r.delete() + r = db.Record() + r.add_parent("TestRT") + r.add_property("TestProp", value=None) r.insert() - assert_equals(db.execute_query("FIND Test with te='leer'")[0].id, r.id) + assert db.execute_query("FIND Record TestRT", unique=True).value == None + # assert db.execute_query("FIND TestRT WHERE TestProp IS NULL", unique=True).id == r.id r.delete() + + +def test_list_with_empty_string(): r = db.Record() - r.add_parent("Test") - r.add_property("te", value="") + r.add_parent("TestRT") + r.add_property("TestProp", datatype=db.LIST(db.TEXT), value=["leer"]) r.insert() - assert_equals(db.execute_query("FIND Test with te=''")[0].id, r.id) + assert len(db.execute_query("FIND Record TestRT", unique=True).value) == 1 + assert db.execute_query("FIND Record TestRT", unique=True).value[0] == "leer" + # assert db.execute_query("FIND TestRT with TestProp='leer'", unique=True).id == r.id r.delete() + r = db.Record() + r.add_parent("TestRT") + r.add_property("TestProp", datatype=db.LIST(db.TEXT), value=[""]) + r.insert() + assert len(db.execute_query("FIND Record TestRT", unique=True).value) == 1 + assert db.execute_query("FIND Record TestRT", unique=True).value[0] == "" + # assert db.execute_query("FIND TestRT with TestProp=''", unique=True).id == r.id + r.delete() + +def test_list_with_null_value(): + r = db.Record() + r.add_parent("TestRT") + r.add_property("TestProp", datatype=db.LIST(db.TEXT), value=["null"]) + r.insert() + assert len(db.execute_query("FIND Record TestRT", unique=True).value) == 1 + assert db.execute_query("FIND Record TestRT", unique=True).value[0] == "null" + assert db.execute_query("FIND TestRT with TestProp='null'", unique=True).id == r.id + r.delete() + r = db.Record() + r.add_parent("TestRT") + r.add_property("TestProp", datatype=db.LIST(db.TEXT), value=[None]) + r.insert() + assert len(db.execute_query("FIND Record TestRT", unique=True).value) == 1 + assert db.execute_query("FIND Record TestRT", unique=True).value[0] == None + # assert db.execute_query("FIND TestRT WHERE TestProp IS NULL", unique=True).id == r.id + r.delete() + -- GitLab