Add support for systemd and postfix config files
All checks were successful
CI / test (push) Successful in 50s
Lint / test (push) Successful in 29s
Trivy / test (push) Successful in 23s

This commit is contained in:
Miguel Jacq 2026-01-06 11:57:50 +11:00
parent 8f7f48dc91
commit 2f77cd4d80
Signed by: mig5
GPG key ID: 59B3F0C24135C6A9
10 changed files with 521 additions and 8 deletions

View file

@ -0,0 +1,26 @@
from __future__ import annotations
from pathlib import Path
import jinjaturtle.core as core
def test_systemd_unit_repeated_keys(tmp_path: Path) -> None:
p = tmp_path / "demo.service"
p.write_text(
"[Service]\n" "ExecStart=/bin/echo one\n" "ExecStart=/bin/echo two\n",
encoding="utf-8",
)
fmt, parsed = core.parse_config(p)
assert fmt == "systemd"
flat = core.flatten_config(fmt, parsed)
assert (("Service", "ExecStart", "0"), "/bin/echo one") in flat
assert (("Service", "ExecStart", "1"), "/bin/echo two") in flat
template = core.generate_jinja2_template(
fmt, parsed, role_prefix="role", original_text=p.read_text(encoding="utf-8")
)
assert "ExecStart={{ role_service_execstart_0 }}" in template
assert "ExecStart={{ role_service_execstart_1 }}" in template