Files
crypto_monitor_user/tests/test_instance_pm2_lib.py
dekun 53863559f4 Initialize crypto_monitor_user (user edition) from monitor codebase.
Retarget git remote, install path, and deploy docs from crypto_monitor to crypto_monitor_user.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 16:18:13 +08:00

36 lines
1.2 KiB
Python

from unittest.mock import MagicMock, patch
from lib.instance.instance_pm2_lib import restart_instance_pm2, schedule_pm2_restart
@patch("lib.instance.instance_pm2_lib.sys.platform", "linux")
@patch("lib.instance.instance_pm2_lib.subprocess.Popen")
def test_schedule_pm2_restart_returns_before_pm2(mock_popen):
result = schedule_pm2_restart("crypto_okx")
assert result["ok"] is True
assert result["deferred"] is True
mock_popen.assert_called_once()
@patch("lib.instance.instance_pm2_lib.sys.platform", "linux")
@patch("lib.instance.instance_pm2_lib.schedule_pm2_restart")
def test_restart_instance_pm2_defer_uses_schedule(mock_schedule):
mock_schedule.return_value = {"ok": True, "app": "crypto_okx", "deferred": True}
result = restart_instance_pm2("okx", defer=True)
mock_schedule.assert_called_once_with("crypto_okx")
assert result["deferred"] is True
@patch("lib.instance.instance_pm2_lib.sys.platform", "linux")
@patch("lib.instance.instance_pm2_lib.subprocess.run")
def test_restart_instance_pm2_sync_runs_pm2(mock_run):
mock_run.return_value = MagicMock(returncode=0, stdout="ok", stderr="")
result = restart_instance_pm2("okx", defer=False)
mock_run.assert_called_once()
assert result["ok"] is True