From 2b178e0dcb166f043a59d6d2c9a90d840d0b9222 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20tom=20W=C3=B6rden?= <h.tomwoerden@indiscale.com>
Date: Fri, 17 May 2024 12:26:04 +0200
Subject: [PATCH] TST: add tests for get_entity...

---
 tests/test_query.py | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/tests/test_query.py b/tests/test_query.py
index 87500c4..604871d 100644
--- a/tests/test_query.py
+++ b/tests/test_query.py
@@ -32,6 +32,7 @@ import random
 
 import caosdb as db
 from caosdb.connection.connection import get_connection
+from linkahead.utils import get_entity_by_name, get_entity_by_id, get_entity_by_path
 from caosdb.exceptions import EmptyUniqueQueryError, TransactionError
 from lxml import etree
 from pytest import mark, raises
@@ -1470,3 +1471,25 @@ def test_find_id():
     assert db.execute_query("FIND TestRT3 WITH TestRT1", unique=True).id == rt3.id
     assert db.execute_query(f"FIND {rt2.id} WITH TestRT1", unique=True).id == rt3.id
     assert db.execute_query(f"FIND {rt3.id} WITH TestRT1", unique=True).id == rt3.id
+
+
+def test_get_entity():
+    person = db.RecordType("TestPerson").insert()
+    db.Property("TestFirstName", datatype=db.TEXT).insert()
+    con = db.Property("TestConductor", datatype=db.REFERENCE).insert()
+    db.RecordType("TestConductor").insert(unique=False)
+
+    # create testfile
+    f = open("test.dat", "w")
+    f.write("hello world\n")
+    f.close()
+
+    ''' prepare file record '''
+    f = db.File(name="TestFile", path='testfiles/testfile', file="test.dat")
+    f.insert()
+
+    assert get_entity_by_id(person.id).id == person.id
+    assert get_entity_by_name(person.name).id == person.id
+    assert get_entity_by_id(person.id, role="RecordType").id == person.id
+    assert get_entity_by_name("TestConductor", role="Property").id == con.id
+    assert get_entity_by_path(f.path).id == f.id
-- 
GitLab