Changed utils/decorators.py tests to use RequestFactory

git-svn-id: http://code.djangoproject.com/svn/django/trunk@16272 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Luke Plant 2011-05-23 16:08:45 +00:00
parent 55c2c302c1
commit e683beb607
4 changed files with 23 additions and 29 deletions

View File

@ -1,19 +1,39 @@
from django.test import TestCase
from django.http import HttpResponse
from django.middleware.doc import XViewMiddleware
from django.test import TestCase, RequestFactory
from django.utils.decorators import decorator_from_middleware
xview_dec = decorator_from_middleware(XViewMiddleware)
@xview_dec
def xview(request):
return HttpResponse()
class ClassXView(object):
def __call__(self, request):
return HttpResponse()
class_xview = xview_dec(ClassXView())
class DecoratorFromMiddlewareTests(TestCase):
"""
Tests for view decorators created using
``django.utils.decorators.decorator_from_middleware``.
"""
rf = RequestFactory()
def test_process_view_middleware(self):
"""
Test a middleware that implements process_view.
"""
self.client.get('/utils/xview/')
xview(self.rf.get('/'))
def test_callable_process_view_middleware(self):
"""
Test a middleware that implements process_view, operating on a callable class.
"""
self.client.get('/utils/class_xview/')
class_xview(self.rf.get('/'))

View File

@ -1,8 +0,0 @@
from django.conf.urls.defaults import *
import views
urlpatterns = patterns('',
(r'^xview/$', views.xview),
(r'^class_xview/$', views.class_xview),
)

View File

@ -1,17 +0,0 @@
from django.http import HttpResponse
from django.utils.decorators import decorator_from_middleware
from django.middleware.doc import XViewMiddleware
xview_dec = decorator_from_middleware(XViewMiddleware)
def xview(request):
return HttpResponse()
xview = xview_dec(xview)
class ClassXView(object):
def __call__(self, request):
return HttpResponse()
class_xview = xview_dec(ClassXView())

View File

@ -29,5 +29,4 @@ urlpatterns = patterns('',
# admin widget tests
(r'widget_admin/', include('regressiontests.admin_widgets.urls')),
(r'^utils/', include('regressiontests.utils.urls')),
)