feat: publish dbussmsforward refactor
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
import os
|
||||
import subprocess
|
||||
import sys
|
||||
import unittest
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
PROJECT_ROOT = Path("/Users/chick/.Hermes/workspace/DbusSmsForward")
|
||||
CLI_ENV = {**os.environ, "PYTHONPATH": str(PROJECT_ROOT / "src")}
|
||||
|
||||
|
||||
class DeploymentArtifactsTests(unittest.TestCase):
|
||||
def test_debian_systemd_unit_uses_forever_polling_and_pythonpath(self):
|
||||
service_path = PROJECT_ROOT / "deploy" / "debian" / "dbussmsforward.service"
|
||||
content = service_path.read_text(encoding="utf-8")
|
||||
|
||||
self.assertIn("WorkingDirectory=/opt/dbussmsforward", content)
|
||||
self.assertIn("Environment=PYTHONPATH=/opt/dbussmsforward/src", content)
|
||||
self.assertIn("--iterations 0", content)
|
||||
self.assertIn("/etc/dbussmsforward/appsettings.json", content)
|
||||
|
||||
def test_openwrt_init_script_uses_procd_and_forever_polling(self):
|
||||
init_path = PROJECT_ROOT / "deploy" / "openwrt" / "dbussmsforward.init"
|
||||
content = init_path.read_text(encoding="utf-8")
|
||||
|
||||
self.assertIn("USE_PROCD=1", content)
|
||||
self.assertIn("PYTHONPATH=\"$APP_DIR/src\"", content)
|
||||
self.assertIn("--iterations 0", content)
|
||||
self.assertIn('CONFIG_FILE="/etc/dbussmsforward/appsettings.json"', content)
|
||||
|
||||
def test_deploy_config_validates(self):
|
||||
result = subprocess.run(
|
||||
[
|
||||
sys.executable,
|
||||
"-m",
|
||||
"dbussmsforward.cli",
|
||||
"validate-config",
|
||||
"--config",
|
||||
"deploy/common/appsettings.deploy.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()
|
||||
Reference in New Issue
Block a user