Files
decman/tests/test_decman_init.py

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