Skip to content
Snippets Groups Projects

Better error message

Merged Alexander Schlemmer requested to merge f-better-error-message into dev
All threads resolved!
1 file
+ 2
3
Compare changes
  • Side-by-side
  • Inline
+ 36
1
@@ -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
@@ -318,6 +319,40 @@ def test_record_parents():
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)
with pytest.raises(RuntimeError, match="Definition of converter \"EmptyConverter\" is empty"):
scan_structure_elements(DictElement(name="", value=data),
broken_definition, converter_registry)
broken_yaml = """
Converter:
type: DictElement
records:
TestRecord: "42"
"""
broken_definition = _load_definition_from_yaml_dict(
[yaml.load(broken_yaml, Loader=yaml.SafeLoader)])
converter_registry = create_converter_registry(broken_definition)
with pytest.raises(RuntimeError, match="dict expected, but found str: 42"):
scan_structure_elements(DictElement(name="", value=data),
broken_definition, converter_registry)
def test_units():
"""Test the correct setting of units."""
crawler_definition = load_definition(UNITTESTDIR / "test_unit_cfood.yml")
Loading