test_testutils.py 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. import json
  2. from django.core.urlresolvers import reverse
  3. from ..testutils import AuthenticatedUserTestCase, SuperUserTestCase, UserTestCase
  4. class UserTestCaseTests(UserTestCase):
  5. def test_get_anonymous_user(self):
  6. """get_anonymous_user returns anon user instance"""
  7. user = self.get_anonymous_user()
  8. self.assertFalse(user.is_authenticated())
  9. self.assertTrue(user.is_anonymous())
  10. def test_get_authenticated_user(self):
  11. """get_authenticated_user returns auth user instance"""
  12. user = self.get_authenticated_user()
  13. self.assertTrue(user.is_authenticated())
  14. self.assertFalse(user.is_anonymous())
  15. self.assertFalse(user.is_staff)
  16. self.assertFalse(user.is_superuser)
  17. def test_get_superuser(self):
  18. """get_superuser returns auth user instance"""
  19. user = self.get_superuser()
  20. self.assertTrue(user.is_authenticated())
  21. self.assertFalse(user.is_anonymous())
  22. self.assertTrue(user.is_staff)
  23. self.assertTrue(user.is_superuser)
  24. def test_login_user(self):
  25. """login_user logs user"""
  26. user = self.get_authenticated_user()
  27. self.login_user(user)
  28. response = self.client.get('/api/auth/')
  29. self.assertEqual(response.status_code, 200)
  30. user_json = json.loads(response.content)
  31. self.assertEqual(user_json['id'], user.id)
  32. def test_login_superuser(self):
  33. """login_user logs superuser"""
  34. user = self.get_superuser()
  35. self.login_user(user)
  36. response = self.client.get('/api/auth/')
  37. self.assertEqual(response.status_code, 200)
  38. user_json = json.loads(response.content)
  39. self.assertEqual(user_json['id'], user.id)
  40. def test_logout_user(self):
  41. """logout_user logs user out"""
  42. user = self.get_authenticated_user()
  43. self.login_user(user)
  44. self.logout_user()
  45. response = self.client.get('/api/auth/')
  46. self.assertEqual(response.status_code, 200)
  47. user_json = json.loads(response.content)
  48. self.assertIsNone(user_json['id'])
  49. def test_logout_superuser(self):
  50. """logout_user logs superuser out"""
  51. user = self.get_superuser()
  52. self.login_user(user)
  53. self.logout_user()
  54. response = self.client.get('/api/auth/')
  55. self.assertEqual(response.status_code, 200)
  56. user_json = json.loads(response.content)
  57. self.assertIsNone(user_json['id'])
  58. class AuthenticatedUserTestCaseTests(AuthenticatedUserTestCase):
  59. def test_setup(self):
  60. """setup executed correctly"""
  61. response = self.client.get(reverse('misago:index'))
  62. self.assertIn(self.user.username, response.content)
  63. def test_reload_user(self):
  64. """reload_user reloads user"""
  65. user_pk = self.user.pk
  66. self.reload_user()
  67. self.assertEqual(user_pk, self.user.pk)
  68. class SuperUserTestCaseTests(SuperUserTestCase):
  69. def test_setup(self):
  70. """setup executed correctly"""
  71. self.assertTrue(self.user.is_staff)
  72. self.assertTrue(self.user.is_superuser)
  73. response = self.client.get('/api/auth/')
  74. self.assertEqual(response.status_code, 200)
  75. user_json = json.loads(response.content)
  76. self.assertEqual(user_json['id'], self.user.id)