hermes-agent/tests/tools/test_heartbeat_stale_thresholds.py
kshitijk4poor 66827f8947 chore: prune unused imports and duplicate import redefinitions
Remove unused imports (F401) and duplicate/shadowed import
redefinitions (F811) across the codebase using ruff's safe
autofixes. No behavioral changes -- imports only.

- ~1400 safe autofixes applied across 644 files (net -1072 lines)
- __init__.py re-exports preserved (excluded from F401 removal so
  public re-export surfaces stay intact)
- Re-exports that are imported or monkeypatched by tests but look
  unused in their defining module are kept with explicit # noqa:
  F401 (gateway/run.py load_dotenv; run_agent re-exports from
  agent.message_sanitization, agent.context_compressor,
  agent.retry_utils, agent.prompt_builder, agent.process_bootstrap,
  agent.codex_responses_adapter)
- Unsafe F841 (unused-variable) fixes deliberately skipped -- those
  can change behavior when the RHS has side effects
- ruff lints remain disabled in pyproject.toml (only PLW1514 is
  selected); this is a one-time cleanup, not a config change

Verification:
- python -m compileall: clean
- pytest --collect-only: all 27161 tests collect (zero import errors)
- core entry points import clean (run_agent, model_tools, cli,
  toolsets, hermes_state, batch_runner, gateway)
- static scan: every name any test imports directly from an edited
  module still resolves
2026-05-28 22:26:25 -07:00

34 lines
1.5 KiB
Python

"""Tests for delegate heartbeat stale threshold configuration."""
class TestHeartbeatStaleThresholds:
"""Verify the heartbeat stale threshold constants are correct."""
def test_idle_cycles_value(self):
"""IDLE stale cycles should be 15 (15 * 30s = 450s)."""
from tools.delegate_tool import _HEARTBEAT_STALE_CYCLES_IDLE
assert _HEARTBEAT_STALE_CYCLES_IDLE == 15
def test_in_tool_cycles_value(self):
"""IN_TOOL stale cycles should be 40 (40 * 30s = 1200s)."""
from tools.delegate_tool import _HEARTBEAT_STALE_CYCLES_IN_TOOL
assert _HEARTBEAT_STALE_CYCLES_IN_TOOL == 40
def test_idle_timeout_seconds(self):
"""Effective idle stale timeout: 15 * 30 = 450s (> typical LLM response time)."""
from tools.delegate_tool import _HEARTBEAT_STALE_CYCLES_IDLE, _HEARTBEAT_INTERVAL
effective = _HEARTBEAT_STALE_CYCLES_IDLE * _HEARTBEAT_INTERVAL
assert effective == 450
assert effective > 300 # Must be > 5 minutes for slow LLM responses
def test_in_tool_timeout_seconds(self):
"""Effective in-tool stale timeout: 40 * 30 = 1200s (= 20 minutes)."""
from tools.delegate_tool import _HEARTBEAT_STALE_CYCLES_IN_TOOL, _HEARTBEAT_INTERVAL
effective = _HEARTBEAT_STALE_CYCLES_IN_TOOL * _HEARTBEAT_INTERVAL
assert effective == 1200
def test_interval_unchanged(self):
"""Heartbeat interval should remain 30s."""
from tools.delegate_tool import _HEARTBEAT_INTERVAL
assert _HEARTBEAT_INTERVAL == 30