Private
Public Access
1
0

custom test views repair

This commit is contained in:
Sander Roosendaal
2019-04-07 10:28:03 +02:00
parent a6766bb109
commit 0d68f90066
8 changed files with 56 additions and 23 deletions

View File

@@ -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))

Binary file not shown.

View File

@@ -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'),

View File

@@ -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):

View File

@@ -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:

View File

@@ -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: