Skip to content
Snippets Groups Projects
Commit 89ebc765 authored by Henrik tom Wörden's avatar Henrik tom Wörden
Browse files

TST: add test for setting parents on multiple levels of a cfood

parent 919cd0b5
No related branches found
No related tags found
1 merge request!160STY: styling
Pipeline #40980 passed with warnings
---
metadata:
crawler-version: 0.6.1
---
Definitions:
type: Definitions
data:
type: Dict
match_name: '.*'
records:
Experiment:
name: "e"
Projekt:
parents: ["project"]
name: "p"
Campaign:
name: "c"
subtree:
Experiment:
type: DictElement
match: '.*'
records:
Experiment:
parents: ["Exp"]
Projekt:
parents: ["Projekt"]
Campaign:
parents: ["Cap"]
Experiment2:
type: DictElement
match: '.*'
records:
Campaign:
parents: ["Cap2"]
...@@ -276,3 +276,28 @@ def test_variable_deletion_problems(): ...@@ -276,3 +276,28 @@ def test_variable_deletion_problems():
assert record.get_property("var2").value == "test" assert record.get_property("var2").value == "test"
else: else:
raise RuntimeError("Wrong name") raise RuntimeError("Wrong name")
def test_record_parents():
""" Test the correct list of returned records by the scanner """
data = {
'Experiments': {}
}
crawler_definition = load_definition(UNITTESTDIR / "test_parent_cfood.yml")
converter_registry = create_converter_registry(crawler_definition)
records = scan_structure_elements(DictElement(name="", value=data), crawler_definition,
converter_registry)
assert len(records)==3
for rec in records:
if rec.name == 'e':
assert rec.parents[0].name == 'Exp' # default parent was overwritten
assert len(rec.parents)==1
elif rec.name == 'c':
assert rec.parents[0].name == 'Cap2' # default parent was overwritten by second
# converter
assert len(rec.parents)==1
elif rec.name == 'p':
assert rec.parents[0].name == 'Projekt' # top level set parent was overwritten
assert len(rec.parents)==1
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment