diff --git a/tests/test_issues_server.py b/tests/test_issues_server.py index 4c4df4dc83352b09e5300c1273d0a6658a3e878a..e231428a5505d463cdda16e3667490029661debb 100644 --- a/tests/test_issues_server.py +++ b/tests/test_issues_server.py @@ -1444,7 +1444,7 @@ def test_235_long_name(): try: rt1.insert() except Exception as exc: - assert type(exc) is not db.HTTPServerError + assert not isinstance(exc, db.HTTPServerError) # TODO more specific error should be asserted rt2 = db.RecordType(name="Short") @@ -1453,5 +1453,5 @@ def test_235_long_name(): try: rt2.update() except Exception as exc: - assert type(exc) is not db.HTTPServerError + assert not isinstance(exc, db.HTTPServerError) # TODO more specific error should be asserted diff --git a/tests/test_messages.py b/tests/test_messages.py index d1522d996f488823b8ad469cdc6d87f2904bf75c..79430422d37000700454d1d70b97fbf353f733dc 100644 --- a/tests/test_messages.py +++ b/tests/test_messages.py @@ -28,6 +28,7 @@ import caosdb as db + def test_messages_dict_behavior(): from caosdb.common.models import Message, Messages @@ -71,6 +72,7 @@ def test_messages_dict_behavior(): msgs["HelloWorld"] = "Hello!" assert msgs["HelloWorld"] == "Hello!" + def test_info(): a = str(db.Info()) assert a.startswith("Connection to") diff --git a/tests/test_query.py b/tests/test_query.py index c9a1fa6ad52abd7d2e88f48b99fea3630d2771b5..81e1501bd5b3fabad4bed4f8643011d17924220c 100644 --- a/tests/test_query.py +++ b/tests/test_query.py @@ -1411,3 +1411,43 @@ def test_query_paging(): for entity in page: assert entity.description is not None # don't: entity.update() + + +def test_greatest_smallest_id(): + rt1 = db.RecordType("TestRT1").insert() + rt2 = db.RecordType("TestRT2").insert() + + # assumptions + assert rt1.id < rt2.id + + # actual testing + assert db.execute_query( + "FIND RECORDTYPE Test* WITH ID>99 AND THE SMALLEST ID", + unique=True).id == rt1.id + assert db.execute_query("FIND RECORDTYPE Test* WITH THE GREATEST ID", unique=True).id == rt2.id + + assert db.execute_query("FIND ENTITY Test* WITH THE SMALLEST ID", unique=True).id == rt1.id + assert db.execute_query("FIND ENTITY Test* WITH THE GREATEST ID", unique=True).id == rt2.id + + +@mark.xfail(reason="Issue: https://gitlab.com/linkahead/linkahead-server/-/issues/237") +def test_greatest_smallest_id_over_roles(): + rt1 = db.RecordType("TestRT1").insert() + rt2 = db.RecordType("TestRT2").insert() + p1 = db.Property("TestProp1", datatype=db.TEXT).insert() + p2 = db.Property("TestProp2", datatype=db.TEXT).insert() + + # assumptions + assert rt1.id < rt2.id + assert rt2.id < p1.id + assert p1.id < p2.id + + # actual testing + assert db.execute_query("FIND RECORDTYPE WITH THE SMALLEST ID", unique=True).id == rt1.id + assert db.execute_query("FIND RECORDTYPE WITH THE GREATEST ID", unique=True).id == rt2.id + + assert db.execute_query("FIND PROPERTY WITH THE SMALLEST ID", unique=True).id == p1.id + assert db.execute_query("FIND PROPERTY WITH THE GREATEST ID", unique=True).id == p2.id + + assert db.execute_query("FIND ENTITY WITH THE SMALLEST ID", unique=True).id == rt1.id + assert db.execute_query("FIND ENTITY WITH THE GREATEST ID", unique=True).id == p2.id