diff --git a/sapl/crispy_layout_mixin.py b/sapl/crispy_layout_mixin.py index 6c60c9b79..c6c4437a6 100644 --- a/sapl/crispy_layout_mixin.py +++ b/sapl/crispy_layout_mixin.py @@ -145,7 +145,6 @@ class CrispyLayoutFormMixin: def read_yaml_from_file(yaml_layout): - # TODO cache this at application level t = template.loader.get_template(yaml_layout) rendered = t.render() diff --git a/sapl/test_crispy_layout_mixin.py b/sapl/test_crispy_layout_mixin.py index 5ed4a910c..2c72a1b44 100644 --- a/sapl/test_crispy_layout_mixin.py +++ b/sapl/test_crispy_layout_mixin.py @@ -1,9 +1,13 @@ +from unittest import mock + +import rtyaml + from sapl.crispy_layout_mixin import read_layout_from_yaml def test_read_layout_from_yaml(tmpdir): - contents = ''' + stub_content = ''' ModelName: Cool Legend: - name:9 place tiny @@ -12,18 +16,17 @@ ModelName: More data: - equalA equalB equalC - highlander ''' - file = tmpdir.join('zzz.yaml') - file.write(contents) - expected = [ - ['Cool Legend', - [('name', 9), ('place', 2), ('tiny', 1)], - [('field', 10), ('nature', 2)], - [('kind', 1), ('date', 3), ('unit', 5), ('status', 3)], - ], - ['More data', - [('equalA', 4), ('equalB', 4), ('equalC', 4)], - [('highlander', 12)], - ], - ] - assert read_layout_from_yaml(file.strpath, 'ModelName') == expected + with mock.patch('sapl.crispy_layout_mixin.read_yaml_from_file') as ryff: + ryff.return_value = rtyaml.load(stub_content) + assert read_layout_from_yaml('....', 'ModelName') == [ + ['Cool Legend', + [('name', 9), ('place', 2), ('tiny', 1)], + [('field', 10), ('nature', 2)], + [('kind', 1), ('date', 3), ('unit', 5), ('status', 3)], + ], + ['More data', + [('equalA', 4), ('equalB', 4), ('equalC', 4)], + [('highlander', 12)], + ], + ]