Files
computer-playbook/tests/unit/cli/deploy/dedicated/test_proc.py
T
kevinveenbirkenbach 71c541ee05 test(cli): use unittest.mock.patch consistently
- Remove direct imports of unittest.mock alias
- Use unittest.mock.patch via unittest for all test decorators
- Keep behavior identical while simplifying imports
2025-12-21 11:10:03 +01:00

40 lines
1.2 KiB
Python

from __future__ import annotations
import subprocess
import unittest
from cli.deploy.dedicated import proc
class TestProcRun(unittest.TestCase):
@unittest.mock.patch("subprocess.run")
def test_run_passes_through_cwd_and_check(self, mock_run):
mock_run.return_value = subprocess.CompletedProcess(["echo", "hi"], 0)
proc.run(["echo", "hi"], cwd="/tmp", check=False)
mock_run.assert_called_once()
args, kwargs = mock_run.call_args
self.assertEqual(args[0], ["echo", "hi"])
self.assertEqual(kwargs["cwd"], "/tmp")
self.assertEqual(kwargs["check"], False)
# Ensure passthrough
self.assertIn("stdout", kwargs)
self.assertIn("stderr", kwargs)
@unittest.mock.patch("subprocess.run")
def test_run_make_builds_correct_command(self, mock_run):
mock_run.return_value = subprocess.CompletedProcess(["make", "clean"], 0)
proc.run_make("/repo", "clean", "setup")
mock_run.assert_called_once()
args, kwargs = mock_run.call_args
self.assertEqual(args[0], ["make", "clean", "setup"])
self.assertEqual(kwargs["cwd"], "/repo")
self.assertTrue(kwargs["check"])
if __name__ == "__main__":
unittest.main()