Skip to content

Commit 6277336

Browse files
committed
reset registry state
1 parent 585be56 commit 6277336

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

src/common/test_tools/plugin.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,30 @@
1+
from typing import Generator
2+
13
import prometheus_client
24
import pytest
35

46
from common.test_tools.types import AssertMetricFixture
57

68

79
@pytest.fixture
8-
def assert_metric() -> AssertMetricFixture:
10+
def assert_metric() -> Generator[AssertMetricFixture, None, None]:
11+
registry = prometheus_client.REGISTRY
12+
collectors = [*registry._collector_to_names]
13+
914
def _assert_metric(
1015
*,
1116
name: str,
1217
labels: dict[str, str],
1318
value: float | int,
1419
) -> None:
15-
registry = prometheus_client.REGISTRY
1620
metric_value = registry.get_sample_value(name, labels)
1721
assert metric_value == value, (
1822
f"Metric {name} not found in registry:\n"
1923
f"{prometheus_client.generate_latest(registry).decode()}"
2024
)
2125

22-
return _assert_metric
26+
yield _assert_metric
27+
28+
# Reset registry state
29+
for collector in collectors:
30+
registry.unregister(collector)

0 commit comments

Comments
 (0)