]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
manager: datamodel: template: macro for TAGS_ASSIGN
authorAleš Mrázek <ales.mrazek@nic.cz>
Fri, 31 Mar 2023 12:56:46 +0000 (14:56 +0200)
committerAleš Mrázek <ales.mrazek@nic.cz>
Fri, 9 Jun 2023 11:54:07 +0000 (11:54 +0000)
manager/knot_resolver_manager/datamodel/templates/macros/policy_macros.lua.j2
manager/tests/unit/datamodel/templates/test_policy_macros.py

index 8ffd83a52497a0b943c3c888973dac591bc3e07e..aa81ddd26ab8b49d9e961ace8504e6c2ba1ad158 100644 (file)
@@ -48,6 +48,13 @@ policy.FLAGS({
 {%- endmacro %}
 
 
+{# Tags assign #}
+
+{% macro policy_tags_assign(tags) -%}
+policy.TAGS_ASSIGN({{ string_table(tags) }})
+{%- endmacro %}
+
+
 {# Filters #}
 
 {% macro policy_all(action) -%}
index 28f8d5aa62f581aaa9c062d0d42ef23223a8dcc5..1ed97c9987bc3c695d71393d0c6695c8779d0f68 100644 (file)
@@ -28,6 +28,16 @@ def test_policy_flags():
     )
 
 
+def test_policy_tags_assign():
+    tags: List[str] = ["t01", "t02", "t03"]
+    tmpl_str = """{% from 'macros/policy_macros.lua.j2' import policy_tags_assign %}
+{{ policy_tags_assign(tags) }}"""
+
+    tmpl = template_from_str(tmpl_str)
+    assert tmpl.render(tags=tags[1]) == f"policy.TAGS_ASSIGN('{tags[1]}')"
+    assert tmpl.render(tags=tags) == "policy.TAGS_ASSIGN({" + ",".join([f"'{x}'" for x in tags]) + ",})"
+
+
 # Filters