custom test views repair
This commit is contained in:
@@ -6,13 +6,12 @@ from __future__ import unicode_literals
|
||||
#from __future__ import print_function
|
||||
from .statements import *
|
||||
|
||||
|
||||
from django.test import SimpleTestCase, override_settings
|
||||
|
||||
#@pytest.mark.django_db
|
||||
class TestErrorPages(TestCase):
|
||||
def test_error_handlers(self):
|
||||
|
||||
self.assertTrue(urls.handler404.endswith('.error404_view'))
|
||||
self.assertTrue(urls.handler500.endswith('.error500_view'))
|
||||
factory = RequestFactory()
|
||||
request = factory.get('/')
|
||||
response = error404_view(request)
|
||||
@@ -26,3 +25,22 @@ class TestErrorPages(TestCase):
|
||||
response = error400_view(request)
|
||||
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 django.contrib.auth import views as auth_views
|
||||
from django.views.generic.base import TemplateView
|
||||
from django.conf.urls import (
|
||||
handler400, handler403, handler404, handler500,
|
||||
)
|
||||
|
||||
from rowers.permissions import IsOwnerOrNot,IsOwnerOrReadOnly
|
||||
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/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
|
||||
#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>\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>\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/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'),
|
||||
|
||||
@@ -5,6 +5,15 @@ from __future__ import unicode_literals
|
||||
|
||||
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
|
||||
def error500_view(request):
|
||||
response = render(request,'500.html', {},status=500)
|
||||
@@ -18,7 +27,6 @@ def error404_view(request):
|
||||
# context_instance = RequestContext(request))
|
||||
|
||||
response.status_code = 404
|
||||
print('aa')
|
||||
return response
|
||||
|
||||
def error400_view(request):
|
||||
|
||||
@@ -1047,7 +1047,7 @@ from rowers.utils import isprorower,ProcessorCustomerError
|
||||
|
||||
# Check if a user is a Pro member
|
||||
def ispromember(user):
|
||||
if not user.is_anonymous:
|
||||
if user and not user.is_anonymous:
|
||||
try:
|
||||
r = Rower.objects.get(user=user)
|
||||
except Rower.DoesNotExist:
|
||||
|
||||
@@ -1487,7 +1487,7 @@ def workout_fusion_list(request,id=0,message='',successmessage='',
|
||||
# Basic view of workout
|
||||
def workout_view(request,id=0):
|
||||
request.session['referer'] = absolute(request)['PATH']
|
||||
|
||||
|
||||
if not request.user.is_anonymous:
|
||||
rower = getrower(request.user)
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user