streamlined
This commit is contained in:
parent
d1dd3213dc
commit
ab1d29b203
23 changed files with 853 additions and 22 deletions
58
tests/unit/test_runs_summary.py
Normal file
58
tests/unit/test_runs_summary.py
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
from __future__ import annotations
|
||||
|
||||
from app.services.runs import extract_run_summary
|
||||
|
||||
|
||||
def test_extract_run_summary_includes_extended_metrics() -> None:
|
||||
error_log = {
|
||||
"summary": {
|
||||
"succeeded_count": 3,
|
||||
"failed_count": 1,
|
||||
"partial_count": 2,
|
||||
"failed_state_counts": {"network_error": 1},
|
||||
"failed_reason_counts": {"network_timeout": 1},
|
||||
"scrape_failure_counts": {"network_error": 1},
|
||||
"retry_counts": {
|
||||
"retries_scheduled_count": 4,
|
||||
"scholars_with_retries_count": 2,
|
||||
"retry_exhausted_count": 1,
|
||||
},
|
||||
"alert_thresholds": {
|
||||
"blocked_failure_threshold": 1,
|
||||
"network_failure_threshold": 2,
|
||||
"retry_scheduled_threshold": 3,
|
||||
},
|
||||
"alert_flags": {
|
||||
"blocked_failure_threshold_exceeded": False,
|
||||
"network_failure_threshold_exceeded": True,
|
||||
"retry_scheduled_threshold_exceeded": True,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
summary = extract_run_summary(error_log)
|
||||
|
||||
assert summary["succeeded_count"] == 3
|
||||
assert summary["failed_count"] == 1
|
||||
assert summary["partial_count"] == 2
|
||||
assert summary["failed_state_counts"] == {"network_error": 1}
|
||||
assert summary["failed_reason_counts"] == {"network_timeout": 1}
|
||||
assert summary["scrape_failure_counts"] == {"network_error": 1}
|
||||
assert summary["retry_counts"]["retries_scheduled_count"] == 4
|
||||
assert summary["retry_counts"]["scholars_with_retries_count"] == 2
|
||||
assert summary["retry_counts"]["retry_exhausted_count"] == 1
|
||||
assert summary["alert_thresholds"]["retry_scheduled_threshold"] == 3
|
||||
assert summary["alert_flags"]["network_failure_threshold_exceeded"] is True
|
||||
|
||||
|
||||
def test_extract_run_summary_defaults_extended_metrics() -> None:
|
||||
summary = extract_run_summary({})
|
||||
|
||||
assert summary["scrape_failure_counts"] == {}
|
||||
assert summary["retry_counts"] == {
|
||||
"retries_scheduled_count": 0,
|
||||
"scholars_with_retries_count": 0,
|
||||
"retry_exhausted_count": 0,
|
||||
}
|
||||
assert summary["alert_thresholds"] == {}
|
||||
assert summary["alert_flags"] == {}
|
||||
Loading…
Add table
Add a link
Reference in a new issue