From b12f56c7cab328cfbeb4c01749220f018378e7bc Mon Sep 17 00:00:00 2001 From: Disco DeDisco Date: Fri, 30 Jan 2026 19:26:02 -0500 Subject: [PATCH] functional auth backend; new get_user() method in authentication model & new accompanying test methods --- src/apps/lyric/authentication.py | 7 +++++++ src/apps/lyric/tests/test_authentication.py | 12 ++++++++++++ 2 files changed, 19 insertions(+) diff --git a/src/apps/lyric/authentication.py b/src/apps/lyric/authentication.py index 2fffd80..237e6e2 100644 --- a/src/apps/lyric/authentication.py +++ b/src/apps/lyric/authentication.py @@ -14,3 +14,10 @@ class PasswordlessAuthenticationBackend: return User.objects.get(email=token.email) except User.DoesNotExist: 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) + \ No newline at end of file diff --git a/src/apps/lyric/tests/test_authentication.py b/src/apps/lyric/tests/test_authentication.py index baae82e..ec9272e 100644 --- a/src/apps/lyric/tests/test_authentication.py +++ b/src/apps/lyric/tests/test_authentication.py @@ -42,3 +42,15 @@ class AuthenticateTest(TestCase): token = Token.objects.create(email="a@b.cde") fetched = Token.objects.get(pk=token.uid) 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") + )