functional auth backend; new get_user() method in authentication model & new accompanying test methods

This commit is contained in:
Disco DeDisco
2026-01-30 19:26:02 -05:00
parent 41f4ff1725
commit b12f56c7ca
2 changed files with 19 additions and 0 deletions

View File

@@ -14,3 +14,10 @@ class PasswordlessAuthenticationBackend:
return User.objects.get(email=token.email) return User.objects.get(email=token.email)
except User.DoesNotExist: except User.DoesNotExist:
return User.objects.create(email=token.email) return User.objects.create(email=token.email)
def get_user(self, email):
try:
return User.objects.get(email=email)
except User.DoesNotExist:
return None # might also just pass (which = return None)

View File

@@ -42,3 +42,15 @@ class AuthenticateTest(TestCase):
token = Token.objects.create(email="a@b.cde") token = Token.objects.create(email="a@b.cde")
fetched = Token.objects.get(pk=token.uid) fetched = Token.objects.get(pk=token.uid)
self.assertEqual(fetched, token) self.assertEqual(fetched, token)
class GetUserTest(TestCase):
def test_gets_user_by_uuid(self):
User.objects.create(email="fantaman@example.com")
desired_user = User.objects.create(email="discoman@example.com")
found_user = PasswordlessAuthenticationBackend().get_user("discoman@example.com")
self.assertEqual(found_user, desired_user)
def test_returns_None_if_no_user_with_that_email(self):
self.assertIsNone(
PasswordlessAuthenticationBackend().get_user("discoman@example.com")
)