From 48f002727aea18701a1d80378bf07509aa489f6d Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 30 Dec 2020 13:59:51 -0800 Subject: [PATCH] small change and test to get_user_from_username --- bookwyrm/tests/test_views.py | 12 ++++++++++++ bookwyrm/views.py | 8 ++++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/bookwyrm/tests/test_views.py b/bookwyrm/tests/test_views.py index ba4531f6..2c4353b7 100644 --- a/bookwyrm/tests/test_views.py +++ b/bookwyrm/tests/test_views.py @@ -23,6 +23,18 @@ class Views(TestCase): connector_file='self_connector', local=True ) + self.local_user = models.User.objects.create_user( + 'mouse', 'mouse@mouse.mouse', 'password', local=True) + + + def test_get_user_from_username(self): + ''' works for either localname or username ''' + self.assertEqual( + views.get_user_from_username('mouse'), self.local_user) + self.assertEqual( + views.get_user_from_username('mouse@%s' % DOMAIN), self.local_user) + with self.assertRaises(models.User.DoesNotExist): + views.get_user_from_username('mojfse@example.com') def test_search_json_response(self): diff --git a/bookwyrm/views.py b/bookwyrm/views.py index 946c061b..df08ab18 100644 --- a/bookwyrm/views.py +++ b/bookwyrm/views.py @@ -13,7 +13,7 @@ from django.views.decorators.csrf import csrf_exempt from django.views.decorators.http import require_GET from bookwyrm import outgoing -from bookwyrm.activitypub import ActivityEncoder, ActivitypubResponse +from bookwyrm.activitypub import ActivitypubResponse from bookwyrm import forms, models, books_manager from bookwyrm import goodreads_import from bookwyrm.settings import PAGE_LENGTH @@ -23,11 +23,11 @@ from bookwyrm.utils import regex def get_user_from_username(username): ''' helper function to resolve a localname or a username to a user ''' + # raises DoesNotExist if user is now found try: - user = models.User.objects.get(localname=username) + return models.User.objects.get(localname=username) except models.User.DoesNotExist: - user = models.User.objects.get(username=username) - return user + return models.User.objects.get(username=username) def is_api_request(request):