left4me/l4d2host/tests/test_status.py

28 lines
939 B
Python

import subprocess
import pytest
from l4d2host.status import get_instance_status, map_active_state
def test_status_mapping() -> None:
assert map_active_state("active") == "running"
assert map_active_state("inactive") == "stopped"
assert map_active_state("failed") == "stopped"
assert map_active_state("weird") == "unknown"
def test_get_instance_status_uses_systemctl_helper(monkeypatch: pytest.MonkeyPatch) -> None:
calls: list[list[str]] = []
def fake_run_command(cmd, **kwargs):
del kwargs
calls.append(list(cmd))
return subprocess.CompletedProcess(cmd, 0, stdout="ActiveState=active\nSubState=running\n", stderr="")
monkeypatch.setattr("l4d2host.service_control.run_command", fake_run_command)
status = get_instance_status("alpha")
assert calls == [["sudo", "-n", "/usr/local/libexec/left4me/left4me-systemctl", "show", "alpha"]]
assert status.state == "running"