test_decorators.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. from django.contrib.auth import get_user_model
  2. from django.core.urlresolvers import reverse
  3. from django.test import TestCase
  4. class DenyAuthenticatedTests(TestCase):
  5. serialized_rollback = True
  6. def test_success(self):
  7. """deny_authenticated decorator allowed guest request"""
  8. response = self.client.get(reverse('misago:login'))
  9. self.assertEqual(response.status_code, 200)
  10. def test_fail(self):
  11. """deny_authenticated decorator blocked authenticated request"""
  12. User = get_user_model()
  13. test_user = User.objects.create_user('Bob', 'bob@test.com', 'Pass.123')
  14. self.client.login(username=test_user.username, password='Pass.123')
  15. response = self.client.get(reverse('misago:login'))
  16. self.assertEqual(response.status_code, 403)
  17. class DenyGuestsTests(TestCase):
  18. serialized_rollback = True
  19. def test_success(self):
  20. """deny_guests decorator allowed authenticated request"""
  21. User = get_user_model()
  22. test_user = User.objects.create_user('Bob', 'bob@test.com', 'Pass.123')
  23. self.client.login(username=test_user.username, password='Pass.123')
  24. response = self.client.post(reverse('misago:logout'))
  25. self.assertEqual(response.status_code, 302)
  26. def test_fail(self):
  27. """deny_guests decorator blocked authenticated request"""
  28. response = self.client.post(reverse('misago:logout'))
  29. self.assertEqual(response.status_code, 403)