Skip to content

Commit 198c028

Browse files
authored
move assert_metric_compare & assert_metric_not_equal out of base class (#388)
1 parent 035927f commit 198c028

File tree

3 files changed

+43
-39
lines changed

3 files changed

+43
-39
lines changed

django_prometheus/tests/end2end/testapp/test_db.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
from django_prometheus.testutils import (
77
PrometheusTestCaseMixin,
8+
assert_metric_compare,
89
get_metric,
910
save_registry,
1011
)
@@ -112,7 +113,7 @@ def test_counters(self):
112113
for _ in range(20):
113114
cursor.execute("SELECT 1")
114115

115-
self.assertMetricCompare(
116+
assert_metric_compare(
116117
registry,
117118
lambda a, b: a + 20 <= b < a + 25,
118119
"django_db_execute_total",
@@ -139,7 +140,7 @@ def test_counters(self):
139140
for _ in range(20):
140141
cursor.execute("SELECT 1")
141142

142-
self.assertMetricCompare(
143+
assert_metric_compare(
143144
registry,
144145
lambda a, b: a + 20 <= b < a + 25,
145146
"django_db_execute_total",
@@ -166,7 +167,7 @@ def test_counters(self):
166167
for _ in range(20):
167168
cursor.execute("SELECT 1")
168169

169-
self.assertMetricCompare(
170+
assert_metric_compare(
170171
r,
171172
lambda a, b: a + 20 <= b < a + 25,
172173
"django_db_execute_total",

django_prometheus/tests/test_testutils.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
from django_prometheus.testutils import (
88
PrometheusTestCaseMixin,
9+
assert_metric_not_equal,
910
get_metric,
1011
get_metric_from_frozen_registry,
1112
get_metrics_vector,
@@ -73,10 +74,10 @@ def testAssertMetricEquals(self):
7374
# First we test that a scalar metric can be tested.
7475
self.test_case.assertMetricEquals(42, "some_gauge", registry=self.registry)
7576
assert self.test_case.passes is True
76-
self.test_case.assertMetricNotEquals(43, "some_gauge", registry=self.registry)
77+
assert_metric_not_equal(43, "some_gauge", registry=self.registry)
7778

7879
# Here we test that assertMetricEquals fails on nonexistent gauges.
79-
self.test_case.assertMetricNotEquals(42, "some_nonexistent_gauge", registry=self.registry)
80+
assert_metric_not_equal(42, "some_nonexistent_gauge", registry=self.registry)
8081

8182
# Here we test that labelled metrics can be tested.
8283
self.test_case.assertMetricEquals(
@@ -87,7 +88,7 @@ def testAssertMetricEquals(self):
8788
labelblue="indigo",
8889
)
8990
assert self.test_case.passes is True
90-
self.test_case.assertMetricNotEquals(
91+
assert_metric_not_equal(
9192
1,
9293
"some_labelled_gauge",
9394
registry=self.registry,

django_prometheus/testutils.py

Lines changed: 35 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -44,19 +44,6 @@ def assertMetricEquals(self, expected_value, metric_name, registry=REGISTRY, **l
4444
)
4545
self.assertEqual(expected_value, value, assert_err)
4646

47-
def assertMetricNotEquals(self, expected_value, metric_name, registry=REGISTRY, **labels):
48-
"""Asserts that metric_name{**labels} == expected_value."""
49-
value = get_metric(metric_name, registry=registry, **labels)
50-
assert_err = METRIC_EQUALS_ERR_EXPLANATION % (
51-
metric_name,
52-
format_labels(labels),
53-
value,
54-
expected_value,
55-
metric_name,
56-
format_vector(get_metrics_vector(metric_name)),
57-
)
58-
assert expected_value != value, assert_err
59-
6047
def assertMetricDiff(self, frozen_registry, expected_diff, metric_name, registry=REGISTRY, **labels):
6148
"""Asserts that metric_name{**labels} changed by expected_diff between
6249
the frozen registry and now. A frozen registry can be obtained
@@ -82,26 +69,41 @@ def assertMetricDiff(self, frozen_registry, expected_diff, metric_name, registry
8269
)
8370
self.assertEqual(expected_diff, diff, assert_err)
8471

85-
def assertMetricCompare(self, frozen_registry, predicate, metric_name, registry=REGISTRY, **labels):
86-
"""Asserts that metric_name{**labels} changed according to a provided
87-
predicate function between the frozen registry and now. A
88-
frozen registry can be obtained by calling save_registry,
89-
typically at the beginning of a test case.
90-
"""
91-
saved_value = get_metric_from_frozen_registry(metric_name, frozen_registry, **labels)
92-
current_value = get_metric(metric_name, registry=registry, **labels)
93-
assert current_value is not None, METRIC_DIFF_ERR_NONE_EXPLANATION % (
94-
metric_name,
95-
format_labels(labels),
96-
saved_value,
97-
current_value,
98-
)
99-
assert predicate(saved_value, current_value) is True, METRIC_COMPARE_ERR_EXPLANATION % (
100-
metric_name,
101-
format_labels(labels),
102-
saved_value,
103-
current_value,
104-
)
72+
73+
def assert_metric_not_equal(expected_value, metric_name, registry=REGISTRY, **labels):
74+
"""Asserts that metric_name{**labels} == expected_value."""
75+
value = get_metric(metric_name, registry=registry, **labels)
76+
assert_err = METRIC_EQUALS_ERR_EXPLANATION % (
77+
metric_name,
78+
format_labels(labels),
79+
value,
80+
expected_value,
81+
metric_name,
82+
format_vector(get_metrics_vector(metric_name)),
83+
)
84+
assert expected_value != value, assert_err
85+
86+
87+
def assert_metric_compare(frozen_registry, predicate, metric_name, registry=REGISTRY, **labels):
88+
"""Asserts that metric_name{**labels} changed according to a provided
89+
predicate function between the frozen registry and now. A
90+
frozen registry can be obtained by calling save_registry,
91+
typically at the beginning of a test case.
92+
"""
93+
saved_value = get_metric_from_frozen_registry(metric_name, frozen_registry, **labels)
94+
current_value = get_metric(metric_name, registry=registry, **labels)
95+
assert current_value is not None, METRIC_DIFF_ERR_NONE_EXPLANATION % (
96+
metric_name,
97+
format_labels(labels),
98+
saved_value,
99+
current_value,
100+
)
101+
assert predicate(saved_value, current_value) is True, METRIC_COMPARE_ERR_EXPLANATION % (
102+
metric_name,
103+
format_labels(labels),
104+
saved_value,
105+
current_value,
106+
)
105107

106108

107109
def save_registry(registry=REGISTRY):

0 commit comments

Comments
 (0)