# tests/unit/test_metrics.py from prometheus_client import Counter, Gauge 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', }