From 03b1d0aab27e4d20e824f9b3c2de307c5145bca2 Mon Sep 17 00:00:00 2001 From: florian <f.spreckelsen@inidscale.com> Date: Thu, 5 May 2022 16:27:21 +0200 Subject: [PATCH] TST: Add unittest for loading identifiables from a yaml file --- .../single_file_test_data/identifiables.yml | 7 +++++ unittests/test_identifiable_adapters.py | 28 ++++++++++++++++++- 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 unittests/test_directories/single_file_test_data/identifiables.yml diff --git a/unittests/test_directories/single_file_test_data/identifiables.yml b/unittests/test_directories/single_file_test_data/identifiables.yml new file mode 100644 index 00000000..e32746d5 --- /dev/null +++ b/unittests/test_directories/single_file_test_data/identifiables.yml @@ -0,0 +1,7 @@ +Person: + - full_name +Keyword: + - name +Project: + - project_id + - title diff --git a/unittests/test_identifiable_adapters.py b/unittests/test_identifiable_adapters.py index 4a3ae786..df311f1b 100644 --- a/unittests/test_identifiable_adapters.py +++ b/unittests/test_identifiable_adapters.py @@ -27,8 +27,10 @@ test identifiable_adapters module """ +import os from datetime import datetime -from newcrawler.identifiable_adapters import IdentifiableAdapter +from newcrawler.identifiable_adapters import ( + CaosDBIdentifiableAdapter, IdentifiableAdapter) import caosdb as db @@ -57,3 +59,27 @@ def test_create_query_for_identifiable(): query = IdentifiableAdapter.create_query_for_identifiable( db.Record(name="TestRecord").add_parent("TestType")) assert query.lower() == "find record testtype with name='testrecord'" + + +def test_load_from_yaml_file(): + ident = CaosDBIdentifiableAdapter() + ident.load_from_yaml_definition( + os.path.join(os.path.dirname(__file__), "test_directories", + "single_file_test_data", "identifiables.yml") + ) + + person_i = ident.get_registered_identifiable( + db.Record().add_parent("Person")) + assert person_i is not None + assert person_i.get_property("full_name") is not None + + keyword_i = ident.get_registered_identifiable( + db.Record().add_parent("Keyword")) + assert keyword_i is not None + assert keyword_i.get_property("name") is not None + + project_i = ident.get_registered_identifiable( + db.Record().add_parent("Project")) + assert project_i is not None + assert project_i.get_property("project_id") is not None + assert project_i.get_property("title") is not None -- GitLab