Skip to content

Commit 035927f

Browse files
authored
Move test utils out of base class (#384)
* Move test utils out of base class
1 parent 142bb24 commit 035927f

File tree

7 files changed

+134
-117
lines changed

7 files changed

+134
-117
lines changed

django_prometheus/tests/end2end/testapp/test_caches.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from django.test import TestCase
33
from redis import RedisError
44

5-
from django_prometheus.testutils import PrometheusTestCaseMixin
5+
from django_prometheus.testutils import PrometheusTestCaseMixin, get_metric
66

77

88
class TestCachesMetrics(PrometheusTestCaseMixin, TestCase):
@@ -22,9 +22,9 @@ def test_counters(self):
2222
tested_cache = caches[supported_cache]
2323
backend = supported_cache.split(".")[0]
2424

25-
total_before = self.getMetric("django_cache_get_total", backend=backend) or 0
26-
hit_before = self.getMetric("django_cache_get_hits_total", backend=backend) or 0
27-
miss_before = self.getMetric("django_cache_get_misses_total", backend=backend) or 0
25+
total_before = get_metric("django_cache_get_total", backend=backend) or 0
26+
hit_before = get_metric("django_cache_get_hits_total", backend=backend) or 0
27+
miss_before = get_metric("django_cache_get_misses_total", backend=backend) or 0
2828

2929
tested_cache.set("foo1", "bar")
3030
tested_cache.get("foo1")
@@ -47,10 +47,10 @@ def test_redis_cache_fail(self):
4747
# Note: test use fake service config (like if server was stopped)
4848
supported_cache = "redis"
4949

50-
total_before = self.getMetric("django_cache_get_total", backend=supported_cache) or 0
51-
fail_before = self.getMetric("django_cache_get_fail_total", backend=supported_cache) or 0
52-
hit_before = self.getMetric("django_cache_get_hits_total", backend=supported_cache) or 0
53-
miss_before = self.getMetric("django_cache_get_misses_total", backend=supported_cache) or 0
50+
total_before = get_metric("django_cache_get_total", backend=supported_cache) or 0
51+
fail_before = get_metric("django_cache_get_fail_total", backend=supported_cache) or 0
52+
hit_before = get_metric("django_cache_get_hits_total", backend=supported_cache) or 0
53+
miss_before = get_metric("django_cache_get_misses_total", backend=supported_cache) or 0
5454

5555
tested_cache = caches["stopped_redis_ignore_exception"]
5656
tested_cache.get("foo1")

django_prometheus/tests/end2end/testapp/test_db.py

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@
33
from django.db import connections
44
from django.test import TestCase
55

6-
from django_prometheus.testutils import PrometheusTestCaseMixin
6+
from django_prometheus.testutils import (
7+
PrometheusTestCaseMixin,
8+
get_metric,
9+
save_registry,
10+
)
711

812

913
class BaseDbMetricTest(PrometheusTestCaseMixin, TestCase):
@@ -48,8 +52,8 @@ def test_counters(self):
4852
vendor="sqlite",
4953
type="OperationalError",
5054
)
51-
assert self.getMetric("django_db_execute_total", alias="test_db_1", vendor="sqlite") > 0
52-
assert self.getMetric("django_db_execute_total", alias="test_db_2", vendor="sqlite") >= 200
55+
assert get_metric("django_db_execute_total", alias="test_db_1", vendor="sqlite") > 0
56+
assert get_metric("django_db_execute_total", alias="test_db_2", vendor="sqlite") >= 200
5357

5458
def test_histograms(self):
5559
cursor_db1 = connections["test_db_1"].cursor()
@@ -58,15 +62,15 @@ def test_histograms(self):
5862
for _ in range(200):
5963
cursor_db2.execute("SELECT 2")
6064
assert (
61-
self.getMetric(
65+
get_metric(
6266
"django_db_query_duration_seconds_count",
6367
alias="test_db_1",
6468
vendor="sqlite",
6569
)
6670
> 0
6771
)
6872
assert (
69-
self.getMetric(
73+
get_metric(
7074
"django_db_query_duration_seconds_count",
7175
alias="test_db_2",
7276
vendor="sqlite",
@@ -75,7 +79,7 @@ def test_histograms(self):
7579
)
7680

7781
def test_execute_many(self):
78-
registry = self.saveRegistry()
82+
registry = save_registry()
7983
cursor_db1 = connections["test_db_1"].cursor()
8084
cursor_db1.executemany(
8185
"INSERT INTO testapp_lawn(location) VALUES (?)",
@@ -102,7 +106,7 @@ class TestPostgresDbMetrics(BaseDbMetricTest):
102106
"""
103107

104108
def test_counters(self):
105-
registry = self.saveRegistry()
109+
registry = save_registry()
106110
cursor = connections["postgresql"].cursor()
107111

108112
for _ in range(20):
@@ -129,7 +133,7 @@ class TestMysDbMetrics(BaseDbMetricTest):
129133
"""
130134

131135
def test_counters(self):
132-
registry = self.saveRegistry()
136+
registry = save_registry()
133137
cursor = connections["mysql"].cursor()
134138

135139
for _ in range(20):
@@ -156,7 +160,7 @@ class TestPostgisDbMetrics(BaseDbMetricTest):
156160
"""
157161

158162
def test_counters(self):
159-
r = self.saveRegistry()
163+
r = save_registry()
160164
cursor = connections["postgis"].cursor()
161165

162166
for _ in range(20):

django_prometheus/tests/end2end/testapp/test_middleware.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from django.test import SimpleTestCase, override_settings
22
from testapp.views import ObjectionException
33

4-
from django_prometheus.testutils import PrometheusTestCaseMixin
4+
from django_prometheus.testutils import PrometheusTestCaseMixin, save_registry
55

66

77
def M(metric_name):
@@ -30,7 +30,7 @@ class TestMiddlewareMetrics(PrometheusTestCaseMixin, SimpleTestCase):
3030
"""
3131

3232
def test_request_counters(self):
33-
registry = self.saveRegistry()
33+
registry = save_registry()
3434
self.client.get("/")
3535
self.client.get("/")
3636
self.client.get("/help")
@@ -85,7 +85,7 @@ def test_latency_histograms(self):
8585
# to complete), to eliminate flakiness we adjust the buckets used
8686
# in the test suite.
8787

88-
registry = self.saveRegistry()
88+
registry = save_registry()
8989

9090
# This always takes more than .1 second, so checking the lower
9191
# buckets is fine.
@@ -108,7 +108,7 @@ def test_latency_histograms(self):
108108
)
109109

110110
def test_exception_latency_histograms(self):
111-
registry = self.saveRegistry()
111+
registry = save_registry()
112112

113113
try:
114114
self.client.get("/objection")
@@ -124,7 +124,7 @@ def test_exception_latency_histograms(self):
124124
)
125125

126126
def test_streaming_responses(self):
127-
registry = self.saveRegistry()
127+
registry = save_registry()
128128
self.client.get("/")
129129
self.client.get("/file")
130130
self.assertMetricDiff(registry, 1, M("responses_streaming_total"))

django_prometheus/tests/end2end/testapp/test_middleware_custom_labels.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
PrometheusAfterMiddleware,
1010
PrometheusBeforeMiddleware,
1111
)
12-
from django_prometheus.testutils import PrometheusTestCaseMixin
12+
from django_prometheus.testutils import PrometheusTestCaseMixin, save_registry
1313

1414
EXTENDED_METRICS = [
1515
M("requests_latency_seconds_by_view_method"),
@@ -56,7 +56,7 @@ def setUpClass(cls):
5656
Metrics._instance = None
5757

5858
def test_request_counters(self):
59-
registry = self.saveRegistry()
59+
registry = save_registry()
6060
self.client.get("/")
6161
self.client.get("/")
6262
self.client.get("/help")

django_prometheus/tests/end2end/testapp/test_models.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from django.test import TestCase
22
from testapp.models import Dog, Lawn
33

4-
from django_prometheus.testutils import PrometheusTestCaseMixin
4+
from django_prometheus.testutils import PrometheusTestCaseMixin, save_registry
55

66

77
def M(metric_name):
@@ -17,7 +17,7 @@ class TestModelMetrics(PrometheusTestCaseMixin, TestCase):
1717
"""Test django_prometheus.models."""
1818

1919
def test_counters(self):
20-
registry = self.saveRegistry()
20+
registry = save_registry()
2121
cool = Dog()
2222
cool.name = "Cool"
2323
cool.save()

django_prometheus/tests/test_testutils.py

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,13 @@
44

55
import prometheus_client
66

7-
from django_prometheus.testutils import PrometheusTestCaseMixin
7+
from django_prometheus.testutils import (
8+
PrometheusTestCaseMixin,
9+
get_metric,
10+
get_metric_from_frozen_registry,
11+
get_metrics_vector,
12+
save_registry,
13+
)
814

915

1016
class SomeTestCase(PrometheusTestCaseMixin):
@@ -35,23 +41,23 @@ def setUp(self):
3541
self.some_labelled_gauge.labels("carmin", "royal").set(4)
3642
self.test_case = SomeTestCase()
3743

38-
def testGetMetrics(self):
39-
"""Tests getMetric."""
40-
assert 42 == self.test_case.getMetric("some_gauge", registry=self.registry)
41-
assert 1 == self.test_case.getMetric(
44+
def test_get_metric(self):
45+
"""Tests get_metric."""
46+
assert 42 == get_metric("some_gauge", registry=self.registry)
47+
assert 1 == get_metric(
4248
"some_labelled_gauge",
4349
registry=self.registry,
4450
labelred="pink",
4551
labelblue="indigo",
4652
)
4753

48-
def testGetMetricVector(self):
49-
"""Tests getMetricVector."""
50-
vector = self.test_case.getMetricVector("some_nonexistent_gauge", registry=self.registry)
54+
def test_get_metrics_vector(self):
55+
"""Tests get_metrics_vector."""
56+
vector = get_metrics_vector("some_nonexistent_gauge", registry=self.registry)
5157
assert [] == vector
52-
vector = self.test_case.getMetricVector("some_gauge", registry=self.registry)
58+
vector = get_metrics_vector("some_gauge", registry=self.registry)
5359
assert [({}, 42)] == vector
54-
vector = self.test_case.getMetricVector("some_labelled_gauge", registry=self.registry)
60+
vector = get_metrics_vector("some_labelled_gauge", registry=self.registry)
5561
assert sorted(
5662
[
5763
({"labelred": "pink", "labelblue": "indigo"}, 1),
@@ -90,24 +96,24 @@ def testAssertMetricEquals(self):
9096
)
9197

9298
def test_registry_saving(self):
93-
"""Tests saveRegistry and frozen registries operations."""
94-
frozen_registry = self.test_case.saveRegistry(registry=self.registry)
99+
"""Tests save_registry and frozen registries operations."""
100+
frozen_registry = save_registry(registry=self.registry)
95101
# Test that we can manipulate a frozen scalar metric.
96-
assert 42 == self.test_case.getMetricFromFrozenRegistry("some_gauge", frozen_registry)
102+
assert 42 == get_metric_from_frozen_registry("some_gauge", frozen_registry)
97103
self.some_gauge.set(99)
98-
assert 42 == self.test_case.getMetricFromFrozenRegistry("some_gauge", frozen_registry)
104+
assert 42 == get_metric_from_frozen_registry("some_gauge", frozen_registry)
99105
self.test_case.assertMetricDiff(frozen_registry, 99 - 42, "some_gauge", registry=self.registry)
100106
assert self.test_case.passes is True
101107
self.test_case.assertMetricDiff(frozen_registry, 1, "some_gauge", registry=self.registry)
102108
assert self.test_case.passes is False
103109
self.test_case.passes = True
104110

105111
# Now test the same thing with a labelled metric.
106-
assert 1 == self.test_case.getMetricFromFrozenRegistry(
112+
assert 1 == get_metric_from_frozen_registry(
107113
"some_labelled_gauge", frozen_registry, labelred="pink", labelblue="indigo"
108114
)
109115
self.some_labelled_gauge.labels("pink", "indigo").set(5)
110-
assert 1 == self.test_case.getMetricFromFrozenRegistry(
116+
assert 1 == get_metric_from_frozen_registry(
111117
"some_labelled_gauge", frozen_registry, labelred="pink", labelblue="indigo"
112118
)
113119
self.test_case.assertMetricDiff(

0 commit comments

Comments
 (0)