# tests/unit/test_metrics.py import pytest from prometheus_client import Counter, Gauge, Histogram import scouter.metrics as metrics # --- Test Functions for Each Metric (Corrected for v0.22.0 _name behavior) --- def test_scouter_laborious_data_written_count(): """Verify the definition of LABORIOUS_DATA_WRITTEN_COUNT.""" assert metrics.LABORIOUS_DATA_WRITTEN_COUNT is not None assert isinstance(metrics.LABORIOUS_DATA_WRITTEN_COUNT, Counter) assert metrics.LABORIOUS_DATA_WRITTEN_COUNT._name == "scouter_laborious_data_written_count" assert set(metrics.LABORIOUS_DATA_WRITTEN_COUNT._labelnames) == { "pod_id", "model_name", "pipeline_name"} def test_scouter_tag_changes_monitor(): """Verify the definition of TAG_CHANGES_MONITOR.""" assert metrics.TAG_CHANGES_MONITOR is not None assert isinstance(metrics.TAG_CHANGES_MONITOR, Gauge) assert metrics.TAG_CHANGES_MONITOR._name == "scouter_tag_changes_monitor" assert set(metrics.TAG_CHANGES_MONITOR._labelnames) == { "pod_id", "model_name", "pipeline_name", "tag_name"}