def test_gets_user_by_email(self): backend = PasswordlessAuthenticationBackend() other_user = ListUser(email='*****@*****.**') other_user.username = '******' other_user.save() desired_user = ListUser.objects.create(email='*****@*****.**') found_user = backend.get_user('*****@*****.**') self.assertEqual(found_user, desired_user)
class AuthenticateTest(TestCase): def setUp(self): self.backend = PasswordlessAuthenticationBackend() def test_returns_None_if_no_such_token(self): self.assertIsNone(self.backend.authenticate(uid='abcdoesntexist123')) def test_existing_user__returns_user_matching_email_associated_with_token_uid( self): email = '*****@*****.**' token = Token.objects.create(email=email) existing_user = User.objects.create(email=email) authenticated_user = self.backend.authenticate(uid=token.uid) self.assertEqual(authenticated_user, existing_user) def test_no_existing_user__creates_new_user_with_email_associated_with_token_uid( self): email = '*****@*****.**' token = Token.objects.create(email=email) self.assertEqual(User.objects.count(), 0) newly_created_and_authenticated_user = self.backend.authenticate( uid=token.uid) self.assertEqual(User.objects.count(), 1) self.assertEqual(newly_created_and_authenticated_user, User.objects.first()) self.assertEqual(newly_created_and_authenticated_user.email, '*****@*****.**') def test_get_existing_user(self): desired_user = User.objects.create(email='*****@*****.**') User.objects.create(email='*****@*****.**') self.assertEqual(self.backend.get_user('*****@*****.**'), desired_user) def test_get_missing_user(self): self.assertIsNone(self.backend.get_user('*****@*****.**'))
def test_no_arguments_raises_value_error(self): with self.assertRaises(ValueError): PasswordlessAuthenticationBackend.get_user()
def test_return_None_if_no_user_with_that_pk(self): self.assertIsNone(PasswordlessAuthenticationBackend.get_user(pk=5))
def test_get_user_by_pk(self): desired_user = self.create_two_users_one_from_desired_pk_or_email(pk=5) found_user = PasswordlessAuthenticationBackend.get_user(5) self.assertEqual(desired_user, found_user)
def test_returns_None_if_no_user_with_given_email(self): self.assertIsNone( PasswordlessAuthenticationBackend.get_user(email='NOPE'))
def test_gets_user_by_email(self): User.objects.create(email='*****@*****.**') desired_user = User.objects.create(email='*****@*****.**') found_user = PasswordlessAuthenticationBackend.get_user( email='*****@*****.**') self.assertEqual(desired_user, found_user)