6720ca3474
主服务器列表操作列一键登录宝塔;SSH 健康检查写入 Redis 心跳并刷新在线状态。 Co-authored-by: Cursor <cursoragent@cursor.com>
28 lines
827 B
Python
28 lines
827 B
Python
"""Server list status field derived from is_online + agent_version."""
|
|
from server.api.servers import _derive_server_status
|
|
|
|
|
|
def test_online_with_agent():
|
|
assert _derive_server_status(True, "2.0.0") == "online"
|
|
|
|
|
|
def test_offline_with_agent():
|
|
assert _derive_server_status(False, "2.0.0") == "offline"
|
|
|
|
|
|
def test_unknown_without_agent():
|
|
assert _derive_server_status(False, None) == "unknown"
|
|
assert _derive_server_status(False, "") == "unknown"
|
|
|
|
|
|
def test_offline_with_agent_key_only():
|
|
assert _derive_server_status(False, None, has_agent=True) == "offline"
|
|
|
|
|
|
def test_offline_with_ssh_heartbeat_only():
|
|
assert _derive_server_status(False, None, has_heartbeat=True) == "offline"
|
|
|
|
|
|
def test_online_with_ssh_heartbeat_only():
|
|
assert _derive_server_status(True, None, has_heartbeat=True) == "online"
|