diff --git a/src/newcrawler/crawl.py b/src/newcrawler/crawl.py index 1c1b4c168c1e806b8e0115af1018ac0060ff36c5..141558f3c64f0aefa9289dd95bf880e761b486f7 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 1b4798f205f11494a90077e8650f1bbbe518adf6..b49f9683546cbeb10d62b98d91aae391d712c23a 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 6abe8925c22734230bcbfd7b6cb6cc2db7bf2186..891c0c610476806063ccfe350f3263762421b754 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")]