Files

38 lines
1.3 KiB
Python

import subprocess
import sys
import tempfile
import unittest
from pathlib import Path
PROJECT_ROOT = Path("/Users/chick/.Hermes/workspace/DbusSmsForward")
CLI_ENV = {**(__import__("os").environ), "PYTHONPATH": str(PROJECT_ROOT / "src")}
class PackagingTests(unittest.TestCase):
def test_editable_install_exposes_dbussmsforward_command(self):
with tempfile.TemporaryDirectory() as tmpdir:
venv_dir = Path(tmpdir) / "venv"
subprocess.run([sys.executable, "-m", "venv", str(venv_dir)], check=True)
python_bin = venv_dir / "bin" / "python"
pip_bin = venv_dir / "bin" / "pip"
subprocess.run([str(python_bin), "-m", "pip", "install", "--upgrade", "pip"], check=True)
subprocess.run([str(pip_bin), "install", "-e", str(PROJECT_ROOT)], check=True)
result = subprocess.run(
[str(venv_dir / "bin" / "dbussmsforward"), "validate-config", "--config", "appsettings.python.json"],
cwd=str(PROJECT_ROOT),
env=CLI_ENV,
capture_output=True,
text=True,
check=False,
)
self.assertEqual(result.returncode, 0, msg=result.stderr)
self.assertIn("config ok", result.stdout)
if __name__ == "__main__":
unittest.main()