Skip to content

Commit dd3e235

Browse files
committed
fix pytest interference
1 parent 3c82492 commit dd3e235

1 file changed

Lines changed: 15 additions & 17 deletions

File tree

instrumentation/opentelemetry-instrumentation-django/tests/test_middleware_spans.py

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -80,13 +80,11 @@ def setUpClass(cls):
8080
def setUp(self):
8181
super().setUp()
8282
setup_test_environment()
83-
self._original_middleware = list(
84-
getattr(settings, "MIDDLEWARE", [])
85-
)
86-
self._original_root_urlconf = getattr(
87-
settings, "ROOT_URLCONF", None
88-
)
89-
settings.MIDDLEWARE = list(_TEST_MIDDLEWARE)
83+
middleware = getattr(settings, "MIDDLEWARE", [])
84+
self._original_middleware = list(middleware)
85+
self._original_root_urlconf = getattr(settings, "ROOT_URLCONF", None)
86+
middleware.clear()
87+
middleware.extend(_TEST_MIDDLEWARE)
9088
settings.ROOT_URLCONF = modules[__name__]
9189
self.env_patch = patch.dict(
9290
"os.environ",
@@ -101,7 +99,9 @@ def tearDown(self):
10199
self.env_patch.stop()
102100
teardown_test_environment()
103101
_django_instrumentor.uninstrument()
104-
settings.MIDDLEWARE = self._original_middleware
102+
middleware = getattr(settings, "MIDDLEWARE", [])
103+
middleware.clear()
104+
middleware.extend(self._original_middleware)
105105
if self._original_root_urlconf is not None:
106106
settings.ROOT_URLCONF = self._original_root_urlconf
107107

@@ -156,7 +156,7 @@ def test_function_middleware_creates_span(self):
156156
]
157157
self.assertEqual(len(func_spans), 1)
158158

159-
# -- Span properties --
159+
# Span properties
160160

161161
def test_span_kind_is_internal(self):
162162
Client().get("/traced/")
@@ -188,7 +188,7 @@ def test_span_naming_format(self):
188188
f"Span name '{span.name}' does not match expected format",
189189
)
190190

191-
# -- Edge cases --
191+
# Edge cases
192192

193193
def test_disabled_by_default(self):
194194
_django_instrumentor.uninstrument()
@@ -208,14 +208,14 @@ def test_uninstrument_removes_spans(self):
208208

209209
def _reinstrument_with_middleware(self, middleware_list, **kwargs):
210210
_django_instrumentor.uninstrument()
211-
settings.MIDDLEWARE = middleware_list
211+
middleware = getattr(settings, "MIDDLEWARE", [])
212+
middleware.clear()
213+
middleware.extend(middleware_list)
212214
kwargs.setdefault("is_middleware_spans_enabled", True)
213215
_django_instrumentor.instrument(**kwargs)
214216

215217
def test_middleware_error_creates_span(self):
216-
self._reinstrument_with_middleware(
217-
[f"{_THIS_MODULE}.ErrorMiddleware"]
218-
)
218+
self._reinstrument_with_middleware([f"{_THIS_MODULE}.ErrorMiddleware"])
219219

220220
try:
221221
Client().get("/traced/")
@@ -225,9 +225,7 @@ def test_middleware_error_creates_span(self):
225225
spans = self.memory_exporter.get_finished_spans()
226226
mw_spans = [s for s in spans if s.kind == SpanKind.INTERNAL]
227227
self.assertEqual(len(mw_spans), 1)
228-
self.assertEqual(
229-
mw_spans[0].name, "django.middleware ErrorMiddleware"
230-
)
228+
self.assertEqual(mw_spans[0].name, "django.middleware ErrorMiddleware")
231229

232230
def test_respects_middleware_position(self):
233231
self._reinstrument_with_middleware(

0 commit comments

Comments
 (0)