mirror of
https://github.com/kiviktnm/decman.git
synced 2026-09-19 12:08:28 +00:00
42 lines
935 B
Python
42 lines
935 B
Python
import typing
|
|
|
|
import pytest
|
|
|
|
import decman
|
|
|
|
|
|
def test_sh_calls_prg_with_sh_command(monkeypatch: pytest.MonkeyPatch):
|
|
calls: dict[str, typing.Any] = {}
|
|
|
|
def fake_prg(
|
|
cmd,
|
|
user=None,
|
|
env_overrides=None,
|
|
mimic_login=False,
|
|
pty=True,
|
|
check=True,
|
|
):
|
|
calls["prg"] = (cmd, user, env_overrides, mimic_login, pty, check)
|
|
return "output-from-prg"
|
|
|
|
monkeypatch.setattr(decman, "prg", fake_prg)
|
|
|
|
out = decman.sh(
|
|
"echo test",
|
|
user="bob",
|
|
env_overrides={"X": "1"},
|
|
mimic_login=True,
|
|
pty=False,
|
|
check=False,
|
|
)
|
|
|
|
assert out == "output-from-prg"
|
|
|
|
cmd, user, env_overrides, mimic_login, pty, check = calls["prg"]
|
|
assert cmd == ["/bin/sh", "-c", "echo test"]
|
|
assert user == "bob"
|
|
assert env_overrides == {"X": "1"}
|
|
assert mimic_login is True
|
|
assert pty is False
|
|
assert check is False
|