Files
myagents/tests/test_upgrade.py
T
Zhengshou Lai d99c5534cb refactor: drop workspace sync launcher path; simplify upgrade/switch
Align with xiaohe wheel/pip install: remove sync_workspace and desktop
launcher coupling from upgrade/switch flows.
2026-07-25 12:43:24 +08:00

27 lines
961 B
Python

"""Tests for myagents.commands.upgrade (forwards to xiaohe upgrade)."""
from unittest.mock import patch
from click.testing import CliRunner
from myagents.commands import upgrade as up_mod
class TestUpgradeCommand:
def test_forwards_to_xiaohe(self) -> None:
with (
patch.object(up_mod.shutil, "which", return_value="/bin/xiaohe"),
patch.object(up_mod.subprocess, "call", return_value=0) as call,
):
result = CliRunner().invoke(up_mod.upgrade_cmd, ["0.5.1", "--force"])
assert result.exit_code == 0
call.assert_called_once_with(
["/bin/xiaohe", "upgrade", "0.5.1", "--force"]
)
def test_missing_xiaohe(self) -> None:
with patch.object(up_mod.shutil, "which", return_value=None):
result = CliRunner().invoke(up_mod.upgrade_cmd, [])
assert result.exit_code != 0
assert "xiaohe upgrade" in result.output