From: Aleš Date: Wed, 22 Dec 2021 00:37:13 +0000 (+0100) Subject: tests: datamodel: jinja2 view_macros tests and fixes X-Git-Tag: v6.0.0a1~69^2~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8be2ecc0c3cba6b1fa51c15e68e915567ffcf50d;p=thirdparty%2Fknot-resolver.git tests: datamodel: jinja2 view_macros tests and fixes --- diff --git a/manager/knot_resolver_manager/datamodel/templates/macros/view_macros.lua.j2 b/manager/knot_resolver_manager/datamodel/templates/macros/view_macros.lua.j2 index 293d45e8a..b829f2efb 100644 --- a/manager/knot_resolver_manager/datamodel/templates/macros/view_macros.lua.j2 +++ b/manager/knot_resolver_manager/datamodel/templates/macros/view_macros.lua.j2 @@ -1,7 +1,7 @@ {% macro view_tsig(tsig, rule) -%} -view:tsig('{{ tsig }}', {{ rule }}) +view:tsig('{{ tsig }}',{{ rule }}) {%- endmacro %} {% macro view_addr(addr, rule) -%} -view:addr('{{ addr }}', {{ rule }}) +view:addr('{{ addr }}',{{ rule }}) {%- endmacro %} \ No newline at end of file diff --git a/manager/tests/unit/datamodel/templates/test_view_macros.py b/manager/tests/unit/datamodel/templates/test_view_macros.py new file mode 100644 index 000000000..e42120e90 --- /dev/null +++ b/manager/tests/unit/datamodel/templates/test_view_macros.py @@ -0,0 +1,22 @@ +from knot_resolver_manager.datamodel.config_schema import template_from_str +from knot_resolver_manager.datamodel.types import IPAddressPort + + +def test_view_tsig(): + tsig: str = r"\5mykey" + rule = "policy.all(policy.DENY)" + tmpl_str = """{% from 'macros/view_macros.lua.j2' import view_tsig %} +{{ view_tsig(tsig, rule) }}""" + + tmpl = template_from_str(tmpl_str) + assert tmpl.render(tsig=tsig, rule=rule) == f"view:tsig('{tsig}',{rule})" + + +def test_view_addr(): + addr: IPAddressPort = IPAddressPort("10.0.0.1") + rule = "policy.all(policy.DENY)" + tmpl_str = """{% from 'macros/view_macros.lua.j2' import view_addr %} +{{ view_addr(addr, rule) }}""" + + tmpl = template_from_str(tmpl_str) + assert tmpl.render(addr=addr, rule=rule) == f"view:addr('{addr}',{rule})"