Skip to content

Commit d28ecf2

Browse files
committed
Django 1.10 compat: Do not use django.conf.urls.patterns
1 parent 9a42e48 commit d28ecf2

File tree

5 files changed

+31
-11
lines changed

5 files changed

+31
-11
lines changed

pytest_django_test/compat.py

+8
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,11 @@
88
from urllib2 import urlopen, HTTPError # noqa
99
except ImportError:
1010
from urllib.request import urlopen, HTTPError # noqa
11+
12+
# Django 1.10 removes patterns, instead it is just a list
13+
try:
14+
from django.conf.urls import patterns
15+
except ImportError:
16+
def patterns(prefix, *urls):
17+
assert prefix == ''
18+
return urls

pytest_django_test/urls.py

+6-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
1-
from django.conf.urls import patterns
1+
from django.conf.urls import url
2+
3+
from .app import views
4+
from .compat import patterns
25

36
urlpatterns = patterns(
47
'',
5-
(r'^item_count/$', 'pytest_django_test.app.views.item_count'),
6-
(r'^admin-required/$', 'pytest_django_test.app.views.admin_required_view'),
8+
url(r'^item_count/$', views.item_count),
9+
url(r'^admin-required/$', views.admin_required_view),
710
)

pytest_django_test/urls_overridden.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
from django.conf.urls import patterns, url
2-
1+
from django.conf.urls import url
32
from django.http import HttpResponse
43

4+
from .compat import patterns
5+
56
urlpatterns = patterns(
67
'',
78
url(r'^overridden_url/$',

tests/test_environment.py

+10-4
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,14 @@ def test_mail_again():
3737
""")
3838
def test_invalid_template_variable(django_testdir):
3939
django_testdir.create_app_file("""
40-
from django.conf.urls import patterns
40+
from django.conf.urls import url
41+
from pytest_django_test.compat import patterns
42+
43+
from tpkg.app import views
4144
4245
urlpatterns = patterns(
4346
'',
44-
(r'invalid_template/', 'tpkg.app.views.invalid_template'),
47+
url(r'invalid_template/', views.invalid_template),
4548
)
4649
""", 'urls.py')
4750
django_testdir.create_app_file("""
@@ -81,11 +84,14 @@ def test_ignore(client):
8184
""")
8285
def test_invalid_template_variable_opt_in(django_testdir):
8386
django_testdir.create_app_file("""
84-
from django.conf.urls import patterns
87+
from django.conf.urls import url
88+
from pytest_django_test.compat import patterns
89+
90+
from tpkg.app import views
8591
8692
urlpatterns = patterns(
8793
'',
88-
(r'invalid_template/', 'tpkg.app.views.invalid_template'),
94+
url(r'invalid_template/', views.invalid_template),
8995
)
9096
""", 'urls.py')
9197
django_testdir.create_app_file("""

tests/test_fixtures.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -222,11 +222,13 @@ class MyCustomUser(AbstractUser):
222222
USERNAME_FIELD = 'identifier'
223223
""", 'models.py')
224224
django_testdir.create_app_file("""
225-
from django.conf.urls import patterns
225+
from django.conf.urls import url
226+
from pytest_django_test.compat import patterns
227+
from tpkg.app import views
226228
227229
urlpatterns = patterns(
228230
'',
229-
(r'admin-required/', 'tpkg.app.views.admin_required_view'),
231+
url(r'admin-required/', views.admin_required_view),
230232
)
231233
""", 'urls.py')
232234
django_testdir.create_app_file("""

0 commit comments

Comments
 (0)