2026-05-24 11:55:39 +00:00
|
|
|
"""Coverage for cron/gateway guidance in the Tasks panel and Docker docs."""
|
|
|
|
|
|
|
|
|
|
from pathlib import Path
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ROOT = Path(__file__).resolve().parent.parent
|
|
|
|
|
INDEX_HTML = ROOT / "static" / "index.html"
|
|
|
|
|
PANELS_JS = ROOT / "static" / "panels.js"
|
|
|
|
|
DOCKER_DOC = ROOT / "docs" / "docker.md"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_tasks_panel_has_gateway_notice_container():
|
|
|
|
|
html = INDEX_HTML.read_text(encoding="utf-8")
|
|
|
|
|
|
|
|
|
|
assert 'id="cronGatewayNotice"' in html
|
|
|
|
|
assert "detail-alert" in html
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_cron_panel_loads_gateway_status_for_scheduling_guidance():
|
|
|
|
|
panels = PANELS_JS.read_text(encoding="utf-8")
|
|
|
|
|
|
|
|
|
|
assert "function _cronGatewayNoticeHtml" in panels
|
|
|
|
|
assert "function loadCronGatewayNotice" in panels
|
|
|
|
|
assert "api('/api/gateway/status')" in panels
|
|
|
|
|
assert "Gateway not configured" in panels
|
|
|
|
|
assert "Gateway not running" in panels
|
2026-06-04 22:21:41 +00:00
|
|
|
assert "Gateway endpoint not reachable" in panels
|
|
|
|
|
assert "configured gateway URL env var" in panels
|
|
|
|
|
assert "GATEWAY_HEALTH_URL" in panels
|
2026-05-24 11:55:39 +00:00
|
|
|
assert "scheduled jobs require the Hermes gateway daemon" in panels
|
|
|
|
|
assert "loadCronGatewayNotice()" in panels
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_docker_docs_explain_single_container_cron_gateway_boundary():
|
|
|
|
|
docs = DOCKER_DOC.read_text(encoding="utf-8")
|
|
|
|
|
|
|
|
|
|
assert "single-container setup runs the WebUI only" in docs
|
|
|
|
|
assert "scheduled jobs require the Hermes gateway daemon" in docs
|
|
|
|
|
assert "Gateway not configured" in docs
|
2026-06-04 22:21:41 +00:00
|
|
|
assert "Gateway metadata stale" in docs
|
|
|
|
|
assert "Gateway endpoint not reachable" in docs
|
|
|
|
|
assert "`gateway_state.json` can become stale" in docs
|
|
|
|
|
assert "HERMES_WEBUI_GATEWAY_BASE_URL" in docs
|
2026-05-24 11:55:39 +00:00
|
|
|
assert "docker-compose.two-container.yml" in docs
|