"""Agent upgrade shell fragments stay aligned with install.sh.""" from server.utils.agent_deploy import ( AGENT_INSTALL_DIR, AGENT_PIP_PACKAGES, agent_kill_port_cmd, build_agent_upgrade_cmd, ) def test_pip_packages_match_install_sh_versions(): joined = " ".join(AGENT_PIP_PACKAGES) assert "fastapi==0.115.6" in joined assert "uvicorn==0.34.0" in joined assert "httpx==0.28.1" in joined assert "python-multipart==0.0.19" in joined def test_upgrade_cmd_uses_install_dir_and_port(): cmd = build_agent_upgrade_cmd( base_url="https://api.example.com", ssh_user="deploy", install_dir=AGENT_INSTALL_DIR, agent_port=8602, ) assert "/opt/nexus-agent/.venv/bin/python" in cmd assert "heartbeat_policy.py" in cmd assert agent_kill_port_cmd(8602) in cmd assert "upgrade_ok" in cmd assert "sudo systemctl restart nexus-agent" in cmd