test_testutils.py 3.4 KB

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