From 7153ab8cf819f8a7a07a14ee37741dfe22501803 Mon Sep 17 00:00:00 2001 From: Alexander Schlemmer <alexander@mail-schlemmer.de> Date: Thu, 27 Jan 2022 13:37:21 +0100 Subject: [PATCH] TST: fixed broken crawler unit test --- src/newcrawler/crawl.py | 2 +- unittests/test_tool.py | 25 ++++++++++++++++--------- unittests/test_tool_extended.py | 2 -- 3 files changed, 17 insertions(+), 12 deletions(-) diff --git a/src/newcrawler/crawl.py b/src/newcrawler/crawl.py index 1c1b4c16..141558f3 100644 --- a/src/newcrawler/crawl.py +++ b/src/newcrawler/crawl.py @@ -590,7 +590,7 @@ class Crawler(object): # in the converter object # -> rather store it in the variable storage than in the converter? converter.create_values(generalStore_copy, element) - + # Create an entry for this matched structure element: generalStore_copy[converter.name] = ( os.path.join(*(structure_elements_path + [element.get_name()]))) diff --git a/unittests/test_tool.py b/unittests/test_tool.py index 1b4798f2..b49f9683 100755 --- a/unittests/test_tool.py +++ b/unittests/test_tool.py @@ -69,19 +69,21 @@ def ident(crawler): .add_property(name="identifier")) return ident -# This one currently fails, because additional variables are created -# in the general store that have to be taken into account in assertions: -@pytest.mark.xfail + def test_record_structure_generation(crawler): subd = crawler.debug_tree[dircheckstr("DataAnalysis")] subc = crawler.debug_metadata["copied"][dircheckstr("DataAnalysis")] assert len(subd) == 2 - assert len(subd[0]) == 0 - assert len(subd[1]) == 0 + assert len(subd[0]) == 1 # variables store on Data Analysis node of debug tree + assert len(subd[1]) == 0 # record store on Data Analysis node of debug tree assert len(subc) == 2 - assert len(subc[0]) == 0 + assert len(subc[0]) == 1 assert len(subc[1]) == 0 + # The data analysis node creates one variable for the node itself: + assert subd[0]["DataAnalysis"] == "DataAnalysis" + assert subc[0]["DataAnalysis"] == False + subd = crawler.debug_tree[dircheckstr("DataAnalysis", "2020_climate-model-predict")] subc = crawler.debug_metadata["copied"][dircheckstr( "DataAnalysis", "2020_climate-model-predict")] @@ -92,13 +94,18 @@ def test_record_structure_generation(crawler): assert subd[1]["Project"].get_property("date").value == "2020" assert subd[1]["Project"].get_property("identifier").value == "climate-model-predict" - assert len(subd[0]) == 3 + assert len(subd[0]) == 5 assert subd[0]["date"] == "2020" assert subd[0]["identifier"] == "climate-model-predict" assert subd[0]["Project"].__class__ == db.Record + assert subd[0]["DataAnalysis"] == "DataAnalysis" + assert subc[0]["DataAnalysis"] == True + assert subd[0]["project_dir"] == "DataAnalysis/2020_climate-model-predict" + assert subc[0]["project_dir"] == False + # Check the copy flags for the first level in the hierarchy: - assert len(subc[0]) == 3 + assert len(subc[0]) == 5 assert len(subc[1]) == 1 assert subc[1]["Project"] is False assert subc[0]["Project"] is False @@ -111,7 +118,7 @@ def test_record_structure_generation(crawler): subc = crawler.debug_metadata["copied"][dircheckstr("DataAnalysis", "2020_climate-model-predict", "2020-02-08_prediction-errors")] - assert len(subd[0]) == 4 + assert len(subd[0]) == 7 assert subd[0]["date"] == "2020-02-08" assert subd[0]["identifier"] == "prediction-errors" assert subd[0]["Project"].__class__ == db.Record diff --git a/unittests/test_tool_extended.py b/unittests/test_tool_extended.py index 6abe8925..891c0c61 100644 --- a/unittests/test_tool_extended.py +++ b/unittests/test_tool_extended.py @@ -72,8 +72,6 @@ def crawler(): def test_file_structure_generation(crawler): - subd = crawler.debug_tree[dircheckstr("DataAnalysis")] - subc = crawler.debug_metadata["copied"][dircheckstr("DataAnalysis")] sd = crawler.debug_tree[dircheckstr("SimulationData", "2020_climate-model-predict", "2020-02-01", "README.md", structure_element_type="File")] -- GitLab