fix(alerts): restore alertmanager webhook route [metadata-only]
All checks were successful
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 1m5s
CD Pipeline / build-and-deploy (push) Has been skipped
CD Pipeline / post-deploy-checks (push) Has been skipped
All checks were successful
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 1m5s
CD Pipeline / build-and-deploy (push) Has been skipped
CD Pipeline / post-deploy-checks (push) Has been skipped
This commit is contained in:
39
scripts/ops/tests/test_alertmanager_webhook_config.py
Normal file
39
scripts/ops/tests/test_alertmanager_webhook_config.py
Normal file
@@ -0,0 +1,39 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
import yaml
|
||||
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[3]
|
||||
ALERTMANAGER_CONFIG = ROOT / "ops" / "alertmanager" / "alertmanager.yml"
|
||||
|
||||
|
||||
def _config() -> dict:
|
||||
return yaml.safe_load(ALERTMANAGER_CONFIG.read_text(encoding="utf-8"))
|
||||
|
||||
|
||||
def _receiver(name: str) -> dict:
|
||||
return next(item for item in _config()["receivers"] if item["name"] == name)
|
||||
|
||||
|
||||
def test_awoooi_webhook_uses_public_api_route_not_dead_vip() -> None:
|
||||
receiver = _receiver("awoooi-webhook")
|
||||
urls = [
|
||||
item["url"]
|
||||
for item in receiver.get("webhook_configs", [])
|
||||
if item.get("url")
|
||||
]
|
||||
|
||||
assert urls == ["https://awoooi.wooo.work/api/v1/webhooks/alertmanager"]
|
||||
assert all("192.168.0.125:32334" not in url for url in urls)
|
||||
assert all("/api/v1/webhooks/alertmanager" in url for url in urls)
|
||||
|
||||
|
||||
def test_emergency_direct_telegram_stays_limited_to_alert_chain() -> None:
|
||||
receiver = _receiver("telegram-direct")
|
||||
assert receiver.get("telegram_configs")
|
||||
|
||||
route_text = str(_config()["route"])
|
||||
assert "AWOOOIApiDown" in route_text
|
||||
assert 'severity="critical"' in route_text
|
||||
Reference in New Issue
Block a user