test_auth_backend.py 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. from django.contrib.auth import get_user_model
  2. from django.test import TestCase
  3. from ..authbackends import MisagoBackend
  4. backend = MisagoBackend()
  5. class MisagoBackendTests(TestCase):
  6. def setUp(self):
  7. UserModel = get_user_model()
  8. self.password = 'Pass.123'
  9. self.user = UserModel.objects.create_user(
  10. 'BobBoberson', 'bob@test.com', self.password)
  11. def test_authenticate_username(self):
  12. """auth authenticates with username"""
  13. user = backend.authenticate(
  14. username=self.user.username,
  15. password=self.password
  16. )
  17. self.assertEqual(user, self.user)
  18. def test_authenticate_email(self):
  19. """auth authenticates with email instead of username"""
  20. user = backend.authenticate(
  21. username=self.user.email,
  22. password=self.password
  23. )
  24. self.assertEqual(user, self.user)
  25. def test_authenticate_invalid_credential(self):
  26. """auth handles invalid credentials"""
  27. user = backend.authenticate(
  28. username='InvalidCredential',
  29. password=self.password
  30. )
  31. self.assertIsNone(user)
  32. def test_authenticate_invalid_password(self):
  33. """auth validates password"""
  34. user = backend.authenticate(
  35. username=self.user.email,
  36. password='Invalid'
  37. )
  38. self.assertIsNone(user)
  39. def test_authenticate_disabled_user(self):
  40. """auth validates disabled state"""
  41. self.user.is_active = False
  42. self.user.save()
  43. user = backend.authenticate(
  44. username=self.user.email,
  45. password=self.password
  46. )
  47. self.assertIsNone(user)
  48. def test_get_user_valid_pk(self):
  49. """auth backend returns active user for pk given"""
  50. self.assertEqual(backend.get_user(self.user.pk), self.user)
  51. def test_get_user_invalid_pk(self):
  52. """auth backend returns none for invalid pk"""
  53. self.assertIsNone(backend.get_user(self.user.pk + 1))
  54. def test_get_user_disabled(self):
  55. """auth backend returns none for disabled user"""
  56. self.user.is_active = False
  57. self.user.save()
  58. self.assertIsNone(backend.get_user(self.user.pk))