Skip to content
This repository was archived by the owner on Sep 17, 2025. It is now read-only.

Commit 92655e1

Browse files
authored
Fixed support for Django 4.1 (#1159)
1 parent 4eb8b0c commit 92655e1

File tree

4 files changed

+23
-10
lines changed

4 files changed

+23
-10
lines changed

contrib/opencensus-ext-django/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
## Unreleased
44

5+
- Fixed support for Django 4.1
6+
- ([#1159](https://github.com/census-instrumentation/opencensus-python/pull/1159))
7+
58
## 0.7.5
69
Released 2021-05-13
710

contrib/opencensus-ext-django/opencensus/ext/django/middleware.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -146,8 +146,8 @@ def _trace_db_call(execute, sql, params, many, context):
146146
class OpencensusMiddleware(MiddlewareMixin):
147147
"""Saves the request in thread local"""
148148

149-
def __init__(self, get_response=None):
150-
self.get_response = get_response
149+
def __init__(self, get_response):
150+
super(OpencensusMiddleware, self).__init__(get_response)
151151
settings = getattr(django.conf.settings, 'OPENCENSUS', {})
152152
settings = settings.get('TRACE', {})
153153

contrib/opencensus-ext-django/tests/test_django_db_middleware.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,16 @@
1818
import django
1919
import mock
2020
import pytest
21+
from django.http import HttpResponse
2122
from django.test.utils import teardown_test_environment
2223

2324
from opencensus.trace import execution_context
2425

2526

27+
def get_response(request):
28+
return HttpResponse()
29+
30+
2631
class TestOpencensusDatabaseMiddleware(unittest.TestCase):
2732
def setUp(self):
2833
from django.conf import settings as django_settings
@@ -50,7 +55,7 @@ def test_process_request(self):
5055
mock_execute = mock.Mock()
5156
mock_execute.return_value = "Mock result"
5257

53-
middleware.OpencensusMiddleware()
58+
middleware.OpencensusMiddleware(get_response)
5459

5560
patch_no_tracer = mock.patch(
5661
'opencensus.ext.django.middleware._get_current_tracer',

contrib/opencensus-ext-django/tests/test_django_middleware.py

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import unittest
1818

1919
import mock
20+
from django.http import HttpResponse
2021
from django.test import RequestFactory
2122
from django.test.utils import teardown_test_environment
2223

@@ -27,6 +28,10 @@
2728
from opencensus.trace.propagation import trace_context_http_header_format
2829

2930

31+
def get_response(request):
32+
return HttpResponse()
33+
34+
3035
class TestOpencensusMiddleware(unittest.TestCase):
3136

3237
def setUp(self):
@@ -44,7 +49,7 @@ def tearDown(self):
4449
def test_constructor_default(self):
4550
from opencensus.ext.django import middleware
4651

47-
middleware = middleware.OpencensusMiddleware()
52+
middleware = middleware.OpencensusMiddleware(get_response)
4853

4954
assert isinstance(middleware.sampler, samplers.ProbabilitySampler)
5055
assert isinstance(middleware.exporter, print_exporter.PrintExporter)
@@ -69,7 +74,7 @@ def test_configuration(self):
6974
settings)
7075

7176
with patch_settings:
72-
middleware = middleware.OpencensusMiddleware()
77+
middleware = middleware.OpencensusMiddleware(get_response)
7378

7479
assert isinstance(middleware.sampler, samplers.AlwaysOnSampler)
7580
assert isinstance(middleware.exporter, print_exporter.PrintExporter)
@@ -100,7 +105,7 @@ def test_process_request(self):
100105
settings)
101106

102107
with patch_settings:
103-
middleware_obj = middleware.OpencensusMiddleware()
108+
middleware_obj = middleware.OpencensusMiddleware(get_response)
104109

105110
# test process_request
106111
middleware_obj.process_request(django_request)
@@ -148,7 +153,7 @@ def test_excludelist_path(self):
148153
settings)
149154

150155
with patch_settings:
151-
middleware_obj = middleware.OpencensusMiddleware()
156+
middleware_obj = middleware.OpencensusMiddleware(get_response)
152157

153158
django_request = RequestFactory().get('/test_excludelist_path')
154159
disabled = utils.disable_tracing_url(django_request.path,
@@ -204,7 +209,7 @@ def test_process_response(self):
204209
settings)
205210

206211
with patch_settings:
207-
middleware_obj = middleware.OpencensusMiddleware()
212+
middleware_obj = middleware.OpencensusMiddleware(get_response)
208213

209214
middleware_obj.process_request(django_request)
210215
tracer = middleware._get_current_tracer()
@@ -259,7 +264,7 @@ def test_process_response_unfinished_child_span(self):
259264
settings)
260265

261266
with patch_settings:
262-
middleware_obj = middleware.OpencensusMiddleware()
267+
middleware_obj = middleware.OpencensusMiddleware(get_response)
263268

264269
middleware_obj.process_request(django_request)
265270
tracer = middleware._get_current_tracer()
@@ -316,7 +321,7 @@ def test_process_exception(self):
316321
settings)
317322

318323
with patch_settings:
319-
middleware_obj = middleware.OpencensusMiddleware()
324+
middleware_obj = middleware.OpencensusMiddleware(get_response)
320325

321326
tb = None
322327
try:

0 commit comments

Comments
 (0)