custom test views repair
This commit is contained in:
@@ -6,13 +6,12 @@ from __future__ import unicode_literals
|
|||||||
#from __future__ import print_function
|
#from __future__ import print_function
|
||||||
from .statements import *
|
from .statements import *
|
||||||
|
|
||||||
|
from django.test import SimpleTestCase, override_settings
|
||||||
|
|
||||||
#@pytest.mark.django_db
|
#@pytest.mark.django_db
|
||||||
class TestErrorPages(TestCase):
|
class TestErrorPages(TestCase):
|
||||||
def test_error_handlers(self):
|
def test_error_handlers(self):
|
||||||
|
|
||||||
self.assertTrue(urls.handler404.endswith('.error404_view'))
|
|
||||||
self.assertTrue(urls.handler500.endswith('.error500_view'))
|
|
||||||
factory = RequestFactory()
|
factory = RequestFactory()
|
||||||
request = factory.get('/')
|
request = factory.get('/')
|
||||||
response = error404_view(request)
|
response = error404_view(request)
|
||||||
@@ -26,3 +25,22 @@ class TestErrorPages(TestCase):
|
|||||||
response = error400_view(request)
|
response = error400_view(request)
|
||||||
self.assertEqual(response.status_code, 400)
|
self.assertEqual(response.status_code, 400)
|
||||||
|
|
||||||
|
|
||||||
|
# ROOT_URLCONF must specify the module that contains handler403 = ...
|
||||||
|
#@override_settings(ROOT_URLCONF=__name__)
|
||||||
|
class CustomErrorHandlerTests(TestCase):
|
||||||
|
def setUp(self):
|
||||||
|
self.c = Client()
|
||||||
|
|
||||||
|
def test_handler_workout_notfound(self):
|
||||||
|
response = self.c.get('/rowers/workout/121/')
|
||||||
|
# Make assertions on the response here. For example:
|
||||||
|
self.assertEqual(response.status_code, 404)
|
||||||
|
self.assertIn('We could not find' ,str(response.content))
|
||||||
|
|
||||||
|
def test_handler_500(self):
|
||||||
|
response = self.c.get('/500/')
|
||||||
|
# Make assertions on the response here. For example:
|
||||||
|
self.assertEqual(response.status_code, 500)
|
||||||
|
self.assertIn('The site developer' ,str(response.content))
|
||||||
|
|
||||||
|
|||||||
BIN
rowers/tests/testdata/testdata.csv.gz
vendored
BIN
rowers/tests/testdata/testdata.csv.gz
vendored
Binary file not shown.
@@ -15,9 +15,6 @@ from rest_framework.permissions import *
|
|||||||
from rowers import views
|
from rowers import views
|
||||||
from django.contrib.auth import views as auth_views
|
from django.contrib.auth import views as auth_views
|
||||||
from django.views.generic.base import TemplateView
|
from django.views.generic.base import TemplateView
|
||||||
from django.conf.urls import (
|
|
||||||
handler400, handler403, handler404, handler500,
|
|
||||||
)
|
|
||||||
|
|
||||||
from rowers.permissions import IsOwnerOrNot,IsOwnerOrReadOnly
|
from rowers.permissions import IsOwnerOrNot,IsOwnerOrReadOnly
|
||||||
from rowers.serializers import (
|
from rowers.serializers import (
|
||||||
@@ -101,11 +98,27 @@ router.register(r'api/workouts',WorkoutViewSet, 'workout')
|
|||||||
router.register(r'api/me',RowerViewSet, 'rower')
|
router.register(r'api/me',RowerViewSet, 'rower')
|
||||||
router.register(r'api/charts',FavoriteChartViewSet, 'charts')
|
router.register(r'api/charts',FavoriteChartViewSet, 'charts')
|
||||||
|
|
||||||
|
def permissiondenied_view(request):
|
||||||
|
raise PermissionDenied
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def filenotfound_view(request):
|
||||||
|
print('aapje')
|
||||||
|
return rowers.views.error403_view(request)
|
||||||
|
|
||||||
|
def response_error_handler(request, exception=None):
|
||||||
|
return HttpResponse('Error handler content', status=403)
|
||||||
|
|
||||||
|
def filenotfound_handler(request, exception=None):
|
||||||
|
print('noot')
|
||||||
|
return HttpResponse('Error handler content', status=404)
|
||||||
|
|
||||||
|
handler403 = views.error403_view
|
||||||
|
handler404 = views.error404_view
|
||||||
|
handler400 = views.error400_view
|
||||||
|
handler500 = views.error500_view
|
||||||
|
|
||||||
handler500 = 'views.error500_view'
|
|
||||||
handler404 = 'views.error404_view'
|
|
||||||
handler400 = 'views.error400_view'
|
|
||||||
handler403 = 'views.error403_view'
|
|
||||||
|
|
||||||
from oauth2_provider.views import base
|
from oauth2_provider.views import base
|
||||||
#app_name = "rowers"
|
#app_name = "rowers"
|
||||||
@@ -322,6 +335,7 @@ urlpatterns = [
|
|||||||
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/split/$',views.workout_split_view,name='workout_split_view'),
|
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/split/$',views.workout_split_view,name='workout_split_view'),
|
||||||
# re_path(r'^workout/(?P<id>\d+)/interactiveplot/$',views.workout_biginteractive_view),
|
# re_path(r'^workout/(?P<id>\d+)/interactiveplot/$',views.workout_biginteractive_view),
|
||||||
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/view/$',views.workout_view,name='workout_view'),
|
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/view/$',views.workout_view,name='workout_view'),
|
||||||
|
# re_path(r'^workout/(?P<id>\d+)/$',views.workout_view,name='workout_view'),
|
||||||
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/$',views.workout_view,name='workout_view'),
|
re_path(r'^workout/(?P<id>\b[0-9A-Fa-f]+\b)/$',views.workout_view,name='workout_view'),
|
||||||
re_path(r'^workout/fusion/(?P<id1>\b[0-9A-Fa-f]+\b)/(?P<id2>\b[0-9A-Fa-f]+\b)/$',views.workout_fusion_view,name='workout_fusion_view'),
|
re_path(r'^workout/fusion/(?P<id1>\b[0-9A-Fa-f]+\b)/(?P<id2>\b[0-9A-Fa-f]+\b)/$',views.workout_fusion_view,name='workout_fusion_view'),
|
||||||
re_path(r'^workout/fusion/(?P<id>\b[0-9A-Fa-f]+\b)/$',views.workout_fusion_list,name='workout_fusion_list'),
|
re_path(r'^workout/fusion/(?P<id>\b[0-9A-Fa-f]+\b)/$',views.workout_fusion_list,name='workout_fusion_list'),
|
||||||
|
|||||||
@@ -5,6 +5,15 @@ from __future__ import unicode_literals
|
|||||||
|
|
||||||
from rowers.views.statements import *
|
from rowers.views.statements import *
|
||||||
|
|
||||||
|
from django.core.exceptions import PermissionDenied
|
||||||
|
from django.http import HttpResponse
|
||||||
|
from django.test import SimpleTestCase, override_settings
|
||||||
|
from django.urls import path
|
||||||
|
|
||||||
|
|
||||||
|
def servererror_view(request):
|
||||||
|
raise ValueError
|
||||||
|
|
||||||
# Custom error pages with Rowsandall headers
|
# Custom error pages with Rowsandall headers
|
||||||
def error500_view(request):
|
def error500_view(request):
|
||||||
response = render(request,'500.html', {},status=500)
|
response = render(request,'500.html', {},status=500)
|
||||||
@@ -18,7 +27,6 @@ def error404_view(request):
|
|||||||
# context_instance = RequestContext(request))
|
# context_instance = RequestContext(request))
|
||||||
|
|
||||||
response.status_code = 404
|
response.status_code = 404
|
||||||
print('aa')
|
|
||||||
return response
|
return response
|
||||||
|
|
||||||
def error400_view(request):
|
def error400_view(request):
|
||||||
|
|||||||
@@ -1047,7 +1047,7 @@ from rowers.utils import isprorower,ProcessorCustomerError
|
|||||||
|
|
||||||
# Check if a user is a Pro member
|
# Check if a user is a Pro member
|
||||||
def ispromember(user):
|
def ispromember(user):
|
||||||
if not user.is_anonymous:
|
if user and not user.is_anonymous:
|
||||||
try:
|
try:
|
||||||
r = Rower.objects.get(user=user)
|
r = Rower.objects.get(user=user)
|
||||||
except Rower.DoesNotExist:
|
except Rower.DoesNotExist:
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ TEMPLATES[0]['OPTIONS']['debug'] = DEBUG
|
|||||||
|
|
||||||
ALLOWED_HOSTS = []
|
ALLOWED_HOSTS = []
|
||||||
|
|
||||||
#INSTALLED_APPS += ['debug_toolbar',]
|
INSTALLED_APPS += ['debug_toolbar',]
|
||||||
|
|
||||||
MIDDLEWARE += ['debug_toolbar.middleware.DebugToolbarMiddleware',]
|
MIDDLEWARE += ['debug_toolbar.middleware.DebugToolbarMiddleware',]
|
||||||
|
|
||||||
|
|||||||
@@ -25,14 +25,6 @@ from rowers import views as rowersviews
|
|||||||
|
|
||||||
import django
|
import django
|
||||||
|
|
||||||
from django.conf.urls import (
|
|
||||||
handler400, handler403, handler404, handler500
|
|
||||||
)
|
|
||||||
|
|
||||||
handler400 = 'rowers.views.error400_view'
|
|
||||||
handler403 = 'rowers.views.error403_view'
|
|
||||||
handler404 = 'rowers.views.error404_view'
|
|
||||||
handler500 = 'rowers.views.error500_view'
|
|
||||||
|
|
||||||
import django.views.i18n
|
import django.views.i18n
|
||||||
|
|
||||||
@@ -84,7 +76,8 @@ urlpatterns += [
|
|||||||
re_path(r'^twitter\_callback',rowersviews.rower_process_twittercallback),
|
re_path(r'^twitter\_callback',rowersviews.rower_process_twittercallback),
|
||||||
re_path(r'^i18n/', include('django.conf.urls.i18n')),
|
re_path(r'^i18n/', include('django.conf.urls.i18n')),
|
||||||
re_path(r'^tz_detect/', include('tz_detect.urls')),
|
re_path(r'^tz_detect/', include('tz_detect.urls')),
|
||||||
path('django-rq/', include('django_rq.urls'))
|
path('django-rq/', include('django_rq.urls')),
|
||||||
|
path('500/', rowersviews.error500_view),
|
||||||
# re_path(r'^jsi18n/', django.views.i18n.javascript_catalog,name='jsi18n'),
|
# re_path(r'^jsi18n/', django.views.i18n.javascript_catalog,name='jsi18n'),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user