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

Commit 095cdb6

Browse files
timgrahamreyang
authored andcommitted
Remove support for Django < 1.11 (#694)
1 parent e385880 commit 095cdb6

File tree

7 files changed

+9
-85
lines changed

7 files changed

+9
-85
lines changed

contrib/opencensus-ext-django/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
## Unreleased
44
- Make ProbabilitySampler default
5+
- Remove support for Django < 1.11.
56

67
## 0.3.0
78
Released 2019-04-24

contrib/opencensus-ext-django/examples/app/settings.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,11 @@
3232
'opencensus.trace.ext.django',
3333
)
3434

35-
MIDDLEWARE_CLASSES = (
35+
MIDDLEWARE = (
3636
'django.contrib.sessions.middleware.SessionMiddleware',
3737
'django.middleware.common.CommonMiddleware',
3838
'django.middleware.csrf.CsrfViewMiddleware',
3939
'django.contrib.auth.middleware.AuthenticationMiddleware',
40-
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
4140
'django.contrib.messages.middleware.MessageMiddleware',
4241
'django.middleware.clickjacking.XFrameOptionsMiddleware',
4342
'django.middleware.security.SecurityMiddleware',

contrib/opencensus-ext-django/examples/app/urls.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,14 @@
2727
1. Add an import: from blog import urls as blog_urls
2828
2. Add a URL to urlpatterns: url(r'^blog/', include(blog_urls))
2929
"""
30-
from django.conf.urls import include, url
30+
from django.conf.urls import url
3131
from django.contrib import admin
3232

3333
import app.views
3434

3535

3636
urlpatterns = [
37-
url(r'^admin/', include(admin.site.urls)),
37+
url(r'^admin/', admin.site.urls),
3838
url(r'^$', app.views.home),
3939
url(r'^greetings$', app.views.greetings),
4040
url(r'^_ah/health$', app.views.health_check),

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

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

1919
import django.conf
20+
from django.utils.deprecation import MiddlewareMixin
2021

2122
from opencensus.common import configuration
2223
from opencensus.trace import attributes_helper
@@ -28,11 +29,6 @@
2829
from opencensus.trace import utils
2930
from opencensus.trace.propagation import trace_context_http_header_format
3031

31-
try:
32-
from django.utils.deprecation import MiddlewareMixin
33-
except ImportError: # pragma: NO COVER
34-
MiddlewareMixin = object
35-
3632
HTTP_METHOD = attributes_helper.COMMON_ATTRIBUTES['HTTP_METHOD']
3733
HTTP_URL = attributes_helper.COMMON_ATTRIBUTES['HTTP_URL']
3834
HTTP_STATUS_CODE = attributes_helper.COMMON_ATTRIBUTES['HTTP_STATUS_CODE']
@@ -90,12 +86,7 @@ def _set_django_attributes(span, request):
9086
return
9187

9288
user_id = django_user.pk
93-
try:
94-
user_name = django_user.get_username()
95-
except AttributeError:
96-
# AnonymousUser in some older versions of Django doesn't implement
97-
# get_username
98-
return
89+
user_name = django_user.get_username()
9990

10091
# User id is the django autofield for User model as the primary key
10192
if user_id is not None:

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

Lines changed: 0 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -230,56 +230,6 @@ def test_process_response(self):
230230

231231
self.assertEqual(span.attributes, expected_attributes)
232232

233-
def test_process_response_no_get_username(self):
234-
from opencensus.ext.django import middleware
235-
236-
trace_id = '2dd43a1d6b2549c6bc2a1a54c2fc0b05'
237-
span_id = '6e0c63257de34c92'
238-
django_trace_id = '00-{}-{}-00'.format(trace_id, span_id)
239-
240-
django_request = RequestFactory().get('/', **{
241-
'traceparent': django_trace_id,
242-
})
243-
244-
# Force the test request to be sampled
245-
settings = type('Test', (object,), {})
246-
settings.OPENCENSUS = {
247-
'TRACE': {
248-
'SAMPLER': 'opencensus.trace.samplers.AlwaysOnSampler()', # noqa
249-
}
250-
}
251-
patch_settings = mock.patch(
252-
'django.conf.settings',
253-
settings)
254-
255-
with patch_settings:
256-
middleware_obj = middleware.OpencensusMiddleware()
257-
258-
middleware_obj.process_request(django_request)
259-
tracer = middleware._get_current_tracer()
260-
span = tracer.current_span()
261-
262-
exporter_mock = mock.Mock()
263-
tracer.exporter = exporter_mock
264-
265-
django_response = mock.Mock()
266-
django_response.status_code = 200
267-
268-
expected_attributes = {
269-
'http.url': u'/',
270-
'http.method': 'GET',
271-
'http.status_code': '200',
272-
}
273-
274-
mock_user = mock.Mock()
275-
mock_user.pk = 123
276-
mock_user.get_username.side_effect = AttributeError
277-
django_request.user = mock_user
278-
279-
middleware_obj.process_response(django_request, django_response)
280-
281-
self.assertEqual(span.attributes, expected_attributes)
282-
283233
def test_process_response_unfinished_child_span(self):
284234
from opencensus.ext.django import middleware
285235

tests/system/trace/django/app/settings.py

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@
1616
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
1717
import os
1818

19-
import django
20-
2119
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
2220
SECRET_KEY = 'secret_key_for_test'
2321

@@ -34,26 +32,11 @@
3432
'opencensus.ext.django',
3533
)
3634

37-
if django.VERSION >= (1, 10):
38-
MIDDLEWARE = (
39-
'django.contrib.sessions.middleware.SessionMiddleware',
40-
'django.middleware.common.CommonMiddleware',
41-
'django.middleware.csrf.CsrfViewMiddleware',
42-
'django.contrib.auth.middleware.AuthenticationMiddleware',
43-
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
44-
'django.contrib.messages.middleware.MessageMiddleware',
45-
'django.middleware.clickjacking.XFrameOptionsMiddleware',
46-
'django.middleware.security.SecurityMiddleware',
47-
'opencensus.ext.django.middleware.OpencensusMiddleware',
48-
)
49-
50-
# Middleware interface for Django version before 1.10
51-
MIDDLEWARE_CLASSES = (
35+
MIDDLEWARE = (
5236
'django.contrib.sessions.middleware.SessionMiddleware',
5337
'django.middleware.common.CommonMiddleware',
5438
'django.middleware.csrf.CsrfViewMiddleware',
5539
'django.contrib.auth.middleware.AuthenticationMiddleware',
56-
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
5740
'django.contrib.messages.middleware.MessageMiddleware',
5841
'django.middleware.clickjacking.XFrameOptionsMiddleware',
5942
'django.middleware.security.SecurityMiddleware',

tests/system/trace/django/app/urls.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,14 @@
2727
1. Add an import: from blog import urls as blog_urls
2828
2. Add a URL to urlpatterns: url(r'^blog/', include(blog_urls))
2929
"""
30-
from django.conf.urls import include, url
30+
from django.conf.urls import url
3131
from django.contrib import admin
3232

3333
import app.views
3434

3535

3636
urlpatterns = [
37-
url(r'^admin/', include(admin.site.urls)),
37+
url(r'^admin/', admin.site.urls),
3838
url(r'^$', app.views.home),
3939
url(r'^greetings$', app.views.greetings),
4040
url(r'^_ah/health$', app.views.health_check),

0 commit comments

Comments
 (0)