import subprocess import sys import unittest from pathlib import Path ROOT = Path(__file__).resolve().parents[2] SCRIPT = ROOT / "scripts" / "playbook.py" def run_cli(*args): return subprocess.run( [sys.executable, str(SCRIPT), *args], capture_output=True, text=True, ) class PlaybookCliTests(unittest.TestCase): def test_help_shows_usage(self): result = run_cli("-h") self.assertEqual(result.returncode, 0) self.assertIn("Usage:", result.stdout + result.stderr) def test_missing_config_is_error(self): result = run_cli() self.assertNotEqual(result.returncode, 0) self.assertIn("-config", result.stdout + result.stderr) if __name__ == "__main__": unittest.main()