|
@@ -34,6 +34,28 @@ class MisagoBackendTests(TestCase):
|
|
|
|
|
|
self.assertEqual(user, self.user)
|
|
|
|
|
|
+ def test_authenticate_username_and_email(self):
|
|
|
+ """auth authenticates with email and skips username"""
|
|
|
+ user = backend.authenticate(
|
|
|
+ None,
|
|
|
+ username=self.user.username,
|
|
|
+ password=self.password,
|
|
|
+ email=self.user.email
|
|
|
+ )
|
|
|
+
|
|
|
+ self.assertEqual(user, self.user)
|
|
|
+
|
|
|
+ def test_authenticate_wrong_username_and_email(self):
|
|
|
+ """auth authenticates with email and invalid username"""
|
|
|
+ user = backend.authenticate(
|
|
|
+ None,
|
|
|
+ username='skipped-username',
|
|
|
+ password=self.password,
|
|
|
+ email=self.user.email
|
|
|
+ )
|
|
|
+
|
|
|
+ self.assertEqual(user, self.user)
|
|
|
+
|
|
|
def test_authenticate_invalid_credential(self):
|
|
|
"""auth handles invalid credentials"""
|
|
|
user = backend.authenticate(
|
|
@@ -67,6 +89,15 @@ class MisagoBackendTests(TestCase):
|
|
|
|
|
|
self.assertIsNone(user)
|
|
|
|
|
|
+ def test_authenticate_no_data(self):
|
|
|
+ """auth has no errors if no recognised credentials are provided"""
|
|
|
+ self.user.is_active = False
|
|
|
+ self.user.save()
|
|
|
+
|
|
|
+ user = backend.authenticate(None)
|
|
|
+
|
|
|
+ self.assertIsNone(user)
|
|
|
+
|
|
|
def test_get_user_valid_pk(self):
|
|
|
"""auth backend returns active user for pk given"""
|
|
|
self.assertEqual(backend.get_user(self.user.pk), self.user)
|