diff options
author | ana-balica <ana.balica@gmail.com> | 2015-06-15 15:55:55 +0300 |
---|---|---|
committer | Tim Graham <timograham@gmail.com> | 2015-06-17 17:11:50 -0400 |
commit | 2f615b10e6330d27dccbd770a4628200044acf70 (patch) | |
tree | 273a7b06ac1ffd6b9bb7ca65dfb7d9bd6f80efb6 /tests/handlers/tests_custom_error_handlers.py | |
parent | 64a4211aa85795cb21a73bc93f9e43bafa1541f6 (diff) | |
download | django-2f615b10e6330d27dccbd770a4628200044acf70.tar.gz |
Fixed #24829 -- Allowed use of TemplateResponse in view error handlers.
Diffstat (limited to 'tests/handlers/tests_custom_error_handlers.py')
-rw-r--r-- | tests/handlers/tests_custom_error_handlers.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/handlers/tests_custom_error_handlers.py b/tests/handlers/tests_custom_error_handlers.py new file mode 100644 index 0000000000..24c2c8b446 --- /dev/null +++ b/tests/handlers/tests_custom_error_handlers.py @@ -0,0 +1,30 @@ +from django.conf.urls import url +from django.core.exceptions import PermissionDenied +from django.template.response import TemplateResponse +from django.test import SimpleTestCase, override_settings + + +def template_response_error_handler(request, exception=None): + return TemplateResponse(request, 'test_handler.html', status=403) + + +def permission_denied_view(request): + raise PermissionDenied + + +urlpatterns = [ + url(r'^$', permission_denied_view), +] + +handler403 = template_response_error_handler + + +@override_settings(ROOT_URLCONF='handlers.tests_custom_error_handlers') +class CustomErrorHandlerTests(SimpleTestCase): + + def test_handler_renders_template_response(self): + """ + BaseHandler should render TemplateResponse if necessary. + """ + response = self.client.get('/') + self.assertContains(response, 'Error handler content', status_code=403) |