test_decorators.py 1.5 KB

123456789101112131415161718192021222324252627282930313233343536
  1. from django.contrib.auth import get_user_model
  2. from django.core.urlresolvers import reverse
  3. from django.test import Client, TestCase
  4. from misago.users.decorators import deny_authenticated, deny_guests
  5. class DenyAuthenticatedTests(TestCase):
  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. def test_success(self):
  19. """deny_guests decorator allowed authenticated request"""
  20. User = get_user_model()
  21. test_user = User.objects.create_user('Bob', 'bob@test.com', 'Pass.123')
  22. self.client.login(username=test_user.username, password='Pass.123')
  23. response = self.client.post(reverse('misago:logout'))
  24. self.assertEqual(response.status_code, 302)
  25. def test_fail(self):
  26. """deny_guests decorator blocked authenticated request"""
  27. response = self.client.post(reverse('misago:logout'))
  28. self.assertEqual(response.status_code, 403)