26 lines
839 B
Python
26 lines
839 B
Python
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
|