diff --git a/unittests/test_scanner.py b/unittests/test_scanner.py index 226b5040547f0e003729dba63622edf836552f18..71149c545215e2cbd2532c4c93761a22be81afe9 100644 --- a/unittests/test_scanner.py +++ b/unittests/test_scanner.py @@ -37,7 +37,8 @@ import yaml from caoscrawler.crawl import Crawler from caoscrawler.debug_tree import DebugTree from caoscrawler.scanner import (create_converter_registry, load_definition, - scan_directory, scan_structure_elements) + scan_directory, scan_structure_elements, + _load_definition_from_yaml_dict) from caoscrawler.structure_elements import (DictElement, DictListElement, DictTextElement, File) from pytest import raises @@ -316,3 +317,22 @@ def test_record_parents(): assert rec.parents[0].name == 'Stuff' # default parent stays if no parent is given on # lower levels assert len(rec.parents) == 1 + + +def test_error_messages(): + data = { + 'Experiments': {} + } + + broken_yaml = """ +EmptyConverter: + """ + broken_definition = _load_definition_from_yaml_dict( + [yaml.load(broken_yaml, Loader=yaml.SafeLoader)]) + + converter_registry = create_converter_registry(broken_definition) + + scan_structure_elements(DictElement(name="", value=data), broken_definition, converter_registry) + + # TODO: this already raises the correct error message. This needs to be checked. +