test_decorators.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435
  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. def test_success(self):
  6. """deny_authenticated decorator allowed guest request"""
  7. response = self.client.get(reverse('misago:login'))
  8. self.assertEqual(response.status_code, 200)
  9. def test_fail(self):
  10. """deny_authenticated decorator blocked authenticated request"""
  11. User = get_user_model()
  12. test_user = User.objects.create_user('Bob', 'bob@test.com', 'Pass.123')
  13. self.client.login(username=test_user.username, password='Pass.123')
  14. response = self.client.get(reverse('misago:login'))
  15. self.assertEqual(response.status_code, 403)
  16. class DenyGuestsTests(TestCase):
  17. def test_success(self):
  18. """deny_guests decorator allowed authenticated request"""
  19. User = get_user_model()
  20. test_user = User.objects.create_user('Bob', 'bob@test.com', 'Pass.123')
  21. self.client.login(username=test_user.username, password='Pass.123')
  22. response = self.client.post(reverse('misago:logout'))
  23. self.assertEqual(response.status_code, 302)
  24. def test_fail(self):
  25. """deny_guests decorator blocked authenticated request"""
  26. response = self.client.post(reverse('misago:logout'))
  27. self.assertEqual(response.status_code, 403)