ariadne/tests/test_metrics.py

36 lines
993 B
Python

from __future__ import annotations
from datetime import datetime, timezone
from ariadne.metrics.metrics import (
record_schedule_state,
record_task_run,
set_access_request_counts,
set_cluster_state_metrics,
)
def test_record_task_run_accepts_missing_duration() -> None:
record_task_run("demo", "ok", None)
def test_record_task_run_records_duration() -> None:
record_task_run("demo", "ok", 1.5)
def test_record_schedule_state_tracks_success_and_failure() -> None:
record_schedule_state("demo", 10.0, 8.0, 20.0, True)
record_schedule_state("demo", 11.0, None, None, False)
def test_set_access_request_counts() -> None:
set_access_request_counts({"pending": 2, "approved": 1})
def test_set_cluster_state_metrics() -> None:
set_cluster_state_metrics(datetime.now(timezone.utc), 4, 3, 12.0, 1)
def test_set_cluster_state_metrics_allows_missing_values() -> None:
set_cluster_state_metrics(datetime.now(timezone.utc), None, None, None, None)