test_errorpages.py 1.6 KB

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