test_errorpages.py 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. from django.core.urlresolvers import reverse
  2. from django.test import TestCase
  3. from django.test.client import RequestFactory
  4. from misago.core import errorpages
  5. class ErrorPageViewsTests(TestCase):
  6. def setUp(self):
  7. response = self.client.get(reverse('forum_index'))
  8. self.request = response.request
  9. def test_permission_denied_returns_403(self):
  10. """permission_denied error page has no show-stoppers"""
  11. response = errorpages.permission_denied(self.request)
  12. self.assertEqual(response.status_code, 403)
  13. def test_page_not_found_returns_404(self):
  14. """page_not_found error page has no show-stoppers"""
  15. response = errorpages.page_not_found(self.request)
  16. self.assertEqual(response.status_code, 404)
  17. class CustomErrorPagesTests(TestCase):
  18. urls = 'misago.core.testproject.urlswitherrorhandlers'
  19. def test_shared_403_decorator(self):
  20. """shared_403_decorator calls correct error handler"""
  21. response = self.client.get(reverse('raise_misago_403'))
  22. self.assertEqual(response.status_code, 403)
  23. response = self.client.get(reverse('raise_403'))
  24. self.assertEqual(response.status_code, 403)
  25. self.assertIn("Custom 403", response.content)
  26. def test_shared_404_decorator(self):
  27. """shared_404_decorator calls correct error handler"""
  28. response = self.client.get(reverse('raise_misago_404'))
  29. self.assertEqual(response.status_code, 404)
  30. response = self.client.get(reverse('raise_404'))
  31. self.assertEqual(response.status_code, 404)
  32. self.assertIn("Custom 404", response.content)