test_decorators.py 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. from django.core.urlresolvers import reverse
  2. from misago.users.testutils import UserTestCase
  3. class DenyAuthenticatedTests(UserTestCase):
  4. def test_success(self):
  5. """deny_authenticated decorator allowed guest request"""
  6. response = self.client.post('/api/auth/')
  7. self.assertEqual(response.status_code, 400)
  8. def test_fail(self):
  9. """deny_authenticated decorator denied authenticated request"""
  10. self.login_user(self.get_authenticated_user())
  11. response = self.client.post('/api/auth/')
  12. self.assertEqual(response.status_code, 403)
  13. class DeflectAuthenticatedTests(UserTestCase):
  14. def test_success(self):
  15. """deflect_authenticated decorator allowed guest request"""
  16. response = self.client.get(reverse('misago:forgotten_password'))
  17. self.assertEqual(response.status_code, 200)
  18. def test_fail(self):
  19. """deflect_authenticated decorator deflected authenticated request"""
  20. self.login_user(self.get_authenticated_user())
  21. response = self.client.get(reverse('misago:forgotten_password'))
  22. self.assertEqual(response.status_code, 302)
  23. class DeflectGuestsTests(UserTestCase):
  24. def test_success(self):
  25. """deflect_guests decorator allowed authenticated request"""
  26. self.login_user(self.get_authenticated_user())
  27. response = self.client.get(
  28. reverse('misago:options_form',
  29. kwargs={'form_name': 'forum-options'}))
  30. self.assertEqual(response.status_code, 200)
  31. def test_fail(self):
  32. """deflect_guests decorator deflected authenticated request"""
  33. response = self.client.get(
  34. reverse('misago:options_form',
  35. kwargs={'form_name': 'forum-options'}))
  36. self.assertEqual(response.status_code, 302)