from __future__ import annotations from sshctl.operations.executor import ExecResult def test_exec_result_dataclass() -> None: r = ExecResult(alias="server1", returncode=0, stdout="ok", stderr="") assert r.alias == "server1" assert r.returncode == 0 assert r.stdout == "ok" assert r.error == "" def test_exec_result_error() -> None: r = ExecResult(alias="server1", returncode=None, error="Timeout") assert r.returncode is None assert r.error == "Timeout" def test_exec_result_defaults() -> None: r = ExecResult(alias="test", returncode=0) assert r.stdout == "" assert r.stderr == "" assert r.error == ""