Files
Nexus/tests/test_agent_heartbeat_stop.py.bak-20260707-063825
2026-07-08 22:31:31 +08:00

37 lines
1001 B
Plaintext

"""Agent heartbeat 401 / discarded stop policy (A-05)."""
import sys
from pathlib import Path
import pytest
_AGENT_DIR = Path(__file__).resolve().parents[1] / "web" / "agent"
if str(_AGENT_DIR) not in sys.path:
sys.path.insert(0, str(_AGENT_DIR))
from heartbeat_policy import heartbeat_should_stop # noqa: E402
from server.utils.agent_version import get_central_agent_version # noqa: E402
def test_stop_on_401():
assert heartbeat_should_stop(401) is True
assert heartbeat_should_stop(401, {}) is True
def test_stop_on_discarded():
assert heartbeat_should_stop(200, {"status": "discarded", "reason": "missing server_id"}) is True
def test_continue_on_success():
assert heartbeat_should_stop(200, {"status": "ok"}) is False
def test_continue_on_transient_errors():
assert heartbeat_should_stop(500) is False
assert heartbeat_should_stop(502, None) is False
def test_central_agent_version_matches_constant():
assert get_central_agent_version() == "2.0.0"