testutils.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. from django.contrib.auth import get_user_model
  2. from django.core.urlresolvers import reverse
  3. from django.test import TestCase
  4. from misago.users.models import AnonymousUser
  5. class UserTestCase(TestCase):
  6. USER_PASSWORD = "Pass.123"
  7. def setUp(self):
  8. self.user = self.get_anonymous_user()
  9. def get_anonymous_user(self):
  10. return AnonymousUser()
  11. def get_authenticated_user(self):
  12. User = get_user_model()
  13. return User.objects.create_user(
  14. "TestUser", "test@user.com", self.USER_PASSWORD)
  15. def get_superuser(self):
  16. User = get_user_model()
  17. return User.objects.create_superuser(
  18. "TestSuperUser", "test@superuser.com", self.USER_PASSWORD)
  19. def login_user(self, user):
  20. self.client.post(reverse('misago:api:login'), data={
  21. 'username': user.email,
  22. 'password': self.USER_PASSWORD,
  23. })
  24. self.client.get(reverse('misago:index'))
  25. def logout_user(self):
  26. self.client.post(reverse('misago:logout'))
  27. self.client.get(reverse('misago:index'))
  28. class AuthenticatedUserTestCase(UserTestCase):
  29. def setUp(self):
  30. self.user = self.get_authenticated_user()
  31. self.login_user(self.user)
  32. def reload_user(self):
  33. User = get_user_model()
  34. self.user = User.objects.get(id=self.user.id)
  35. class SuperUserTestCase(AuthenticatedUserTestCase):
  36. def setUp(self):
  37. self.user = self.get_superuser()
  38. self.login_user(self.user)