If get_webfinger() says the status is 0 (i.e. couldn't even connect),

fetch() doesn't amend that to 404.

test_fetch uses suppress_thread_exceptions, as added in commit 001698cd.
status-serialisers
Marnanel Thurman 2020-08-03 20:15:50 +01:00
rodzic 0ab2dae738
commit 8c5637726b
2 zmienionych plików z 6 dodań i 8 usunięć

Wyświetl plik

@ -175,11 +175,6 @@ def fetch_user(username):
result.url,
ve,
)
if result.status==0:
result.status = 404
result.save()
# but don't re-raise the exception
return result

Wyświetl plik

@ -8,6 +8,7 @@ from unittest import skip
from django.test import TestCase
from kepi.sombrero_sendpub.fetch import fetch_user
from kepi.trilby_api.models import RemotePerson
from . import suppress_thread_exceptions
import httpretty
import logging
import requests
@ -173,7 +174,8 @@ class TestFetchUser(TestCase):
body = timeout,
)
user = fetch_user(EXAMPLE_USER_URL)
with suppress_thread_exceptions():
user = fetch_user(EXAMPLE_USER_URL)
self.assertEqual(
user.status,
@ -196,7 +198,8 @@ class TestFetchUser(TestCase):
body = no_such_host,
)
user = fetch_user(EXAMPLE_USER_URL)
with suppress_thread_exceptions():
user = fetch_user(EXAMPLE_USER_URL)
self.assertEqual(
user.status,
@ -377,7 +380,7 @@ class TestFetchUser(TestCase):
self.assertEqual(
user.status,
404,
0,
)
class TestFetchStatus(TestCase):