Django 1.8 alpha 1 support

* Test on Python 2.7, 3.4, pypy.
* Call super.setUpClass in DjrillAdminTests.
  https://docs.djangoproject.com/en/dev/releases/1.8/#overriding-setupclass-teardownclass-in-test-cases

Also clear up some new PendingDeprecationWarnings, where
the changes can easily remain compatible back to Django 1.3:

* Remove deprecated django.conf.urls.patterns.
  (And match Django recommendations in our docs.)
  https://docs.djangoproject.com/en/dev/releases/1.8/#django-conf-urls-patterns
* Remove deprecated SimpleTestCase.urls.
  (We've already back-ported @override_settings
  for testing older Django versions.)
  https://docs.djangoproject.com/en/dev/releases/1.8/#django-test-simpletestcase-urls
This commit is contained in:
medmunds
2015-01-16 16:17:31 -08:00
parent 00a0a1fde6
commit 8ab36d2cd0
8 changed files with 34 additions and 28 deletions

View File

@@ -39,19 +39,19 @@ class DjrillAdminSite(AdminSite):
"""Add our custom views to the admin urlconf."""
urls = super(DjrillAdminSite, self).get_urls()
try:
from django.conf.urls import include, patterns, url
from django.conf.urls import include, url
except ImportError:
# Django 1.3
#noinspection PyDeprecation
from django.conf.urls.defaults import include, patterns, url
from django.conf.urls.defaults import include, url
for path, view, name, display_name in self.custom_views:
urls += patterns('',
url(r'^%s$' % path, self.admin_view(view), name=name),
)
urls += [
url(r'^%s$' % path, self.admin_view(view), name=name)
]
for path, view, name in self.custom_urls:
urls += patterns('',
url(r'^%s$' % path, self.admin_view(view), name=name),
)
urls += [
url(r'^%s$' % path, self.admin_view(view), name=name)
]
return urls

View File

@@ -1,16 +1,18 @@
try:
from django.conf.urls import include, patterns, url
from django.conf.urls import include, url
except ImportError:
# Django 1.3
from django.conf.urls.defaults import include, patterns, url
from django.conf.urls.defaults import include, url
from django.contrib import admin
from djrill import DjrillAdminSite
# Set up the DjrillAdminSite as suggested in the docs
admin.site = DjrillAdminSite()
admin.autodiscover()
urlpatterns = patterns('',
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
)
]

View File

@@ -7,6 +7,8 @@ import six
from djrill.tests.mock_backend import DjrillBackendMockAPITestCase
from .utils import override_settings
def reset_admin_site():
"""Return the Django admin globals to their original state"""
@@ -15,14 +17,13 @@ def reset_admin_site():
del sys.modules['djrill.admin'] # force autodiscover to re-import
@override_settings(ROOT_URLCONF='djrill.tests.admin_urls')
class DjrillAdminTests(DjrillBackendMockAPITestCase):
"""Test the Djrill admin site"""
# These urls set up the DjrillAdminSite as suggested in the readme
urls = 'djrill.tests.admin_urls'
@classmethod
def setUpClass(cls):
super(DjrillAdminTests, cls).setUpClass()
# Other test cases may muck with the Django admin site globals,
# so return it to the default state before loading test_admin_urls
reset_admin_site()

View File

@@ -1,13 +1,11 @@
try:
from django.conf.urls import patterns, url
from django.conf.urls import url
except ImportError:
from django.conf.urls.defaults import patterns, url
from django.conf.urls.defaults import url
from .views import DjrillWebhookView
urlpatterns = patterns(
'',
urlpatterns = [
url(r'^webhook/$', DjrillWebhookView.as_view(), name='djrill_webhook'),
)
]