feat(ui): audit, alert rules and the rule form say things in words (#5212)
#5212 "Plain labels: no raw ids, scopes, metric keys or unexplained jargon", batch 1: - Audit log: each action reads as a sentence ("paused monitor"), with the code as its tooltip. Detail shows flags as yes/no, lists joined, a run's scope by name, spans as spans, and no ids the entity column already gives. The filter is now a picker of areas. - Alert rules, history and Status say the condition in words: "is down", "Fullest disk >= 85%". Readings use metric_value, and history times use |ago. - Rule form: sources and metrics by name, the threshold's unit, "fires when it is down/up" for an up/down metric instead of 0.5, and a metric reference built from the catalog. - Schedules and Maintenance: viewers no longer see Run now, Pause, Edit, Delete or New. Intervals and next runs read as "every 2h" and "in 3h"; a scope reads "Every alert on Host agent". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -68,9 +68,9 @@ def test_a_viewer_reads_the_alert_history(app):
|
||||
page = await resp.get_data(as_text=True)
|
||||
assert "Alert History" in page and 'href="/alerts/"' in page # crumbs back to Alerts
|
||||
assert f"hot {tag}" in page and f"cold-note-{tag}" in page and f"old-{tag}" not in page
|
||||
assert "cpu_pct = 97.5" in page and "rule: > 90" in page
|
||||
assert "CPU 98%" in page and "fires when CPU > 90%" in page
|
||||
assert "email failed" in page and f"mx-{tag}: timed out" in page and "webhook sent" in page
|
||||
assert f"muted · patch-{tag}" in page and "cpu_pct = no data" in page
|
||||
assert f"muted · patch-{tag}" in page and "No CPU reading" in page
|
||||
|
||||
resp = await client.get(f"/alerts/history?range=24h&rule={hot_id}", headers={"HX-Request": "true"})
|
||||
rows = await resp.get_data(as_text=True)
|
||||
@@ -84,7 +84,7 @@ def test_a_viewer_reads_the_alert_history(app):
|
||||
"range": "24h", "rule": hot_id, "before": cursor(now - timedelta(minutes=3), "")})
|
||||
older = await resp.get_data(as_text=True)
|
||||
assert resp.status_code == 200 and "<table" not in older
|
||||
assert "cpu_pct = 97.5" in older and f"old-{tag}" in older and f"patch-{tag}" not in older
|
||||
assert "CPU 98%" in older and f"old-{tag}" in older and f"patch-{tag}" not in older
|
||||
assert "End of the list." in older and "data-scroll-more" not in older
|
||||
|
||||
# The rules list links each rule to its history.
|
||||
|
||||
Reference in New Issue
Block a user