Ryan Barrett 2020-05-20 23:35:38 -07:00
rodzic bddab29420
commit 2a91f01393
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 6BE31FDF4776E9D4
4 zmienionych plików z 18 dodań i 22 usunięć

Wyświetl plik

@ -1 +1 @@
local3/lib/python3.6/site-packages/oauth_dropins ../oauth-dropins/oauth_dropins

Wyświetl plik

@ -7,5 +7,6 @@ feedparser~=5.2
google-cloud-logging~=1.14 google-cloud-logging~=1.14
gunicorn~=20.0 gunicorn~=20.0
mf2util~=0.5.0 mf2util~=0.5.0
mox3~=0.28
pycrypto~=2.6 pycrypto~=2.6
requests~=2.22 requests~=2.22

Wyświetl plik

@ -153,7 +153,6 @@ class WebmentionTest(testutil.TestCase):
'url': 'https://foo.com/about-me', 'url': 'https://foo.com/about-me',
'inbox': 'https://foo.com/inbox', 'inbox': 'https://foo.com/inbox',
}, content_type=CONTENT_TYPE_AS2) }, content_type=CONTENT_TYPE_AS2)
self.activitypub_gets = [self.reply, self.orig_as2, self.actor]
self.as2_create = { self.as2_create = {
'@context': 'https://www.w3.org/ns/activitystreams', '@context': 'https://www.w3.org/ns/activitystreams',
@ -217,14 +216,6 @@ class WebmentionTest(testutil.TestCase):
'cc': ['https://www.w3.org/ns/activitystreams#Public'], 'cc': ['https://www.w3.org/ns/activitystreams#Public'],
} }
self.actor = requests_response({
'objectType' : 'person',
'displayName': 'Mrs. ☕ Foo',
'url': 'https://foo.com/about-me',
'inbox': 'https://foo.com/inbox',
}, content_type=CONTENT_TYPE_AS2)
self.activitypub_gets = [self.reply, self.orig_as2, self.actor]
self.create_html = """\ self.create_html = """\
<html> <html>
<body class="h-entry"> <body class="h-entry">
@ -259,12 +250,6 @@ class WebmentionTest(testutil.TestCase):
}, },
} }
self.actor = requests_response({
'objectType' : 'person',
'displayName': 'Mrs. ☕ Foo',
'url': 'https://foo.com/about-me',
'inbox': 'https://foo.com/inbox',
}, content_type=CONTENT_TYPE_AS2)
self.activitypub_gets = [self.reply, self.orig_as2, self.actor] self.activitypub_gets = [self.reply, self.orig_as2, self.actor]
def verify_salmon(self, mock_post): def verify_salmon(self, mock_post):
@ -343,6 +328,16 @@ class WebmentionTest(testutil.TestCase):
body=urlencode({'source': 'http://a/post'}).encode()) body=urlencode({'source': 'http://a/post'}).encode())
self.assertEqual(502, got.status_int) self.assertEqual(502, got.status_int)
def test_target_fetch_has_no_content_type(self, mock_get, mock_post):
mock_get.side_effect = (
requests_response(self.reply_html),
requests_response(self.reply_html, content_type='None')
)
got = application.get_response(
'/webmention', method='POST',
body=urlencode({'source': 'http://a/post'}).encode())
self.assertEqual(502, got.status_int)
def test_no_backlink(self, mock_get, mock_post): def test_no_backlink(self, mock_get, mock_post):
mock_get.return_value = requests_response( mock_get.return_value = requests_response(
self.reply_html.replace('<a href="http://localhost/"></a>', ''), self.reply_html.replace('<a href="http://localhost/"></a>', ''),

Wyświetl plik

@ -162,12 +162,12 @@ class WebmentionHandler(common.Handler):
self.target_resp = common.get_as2(target) self.target_resp = common.get_as2(target)
except (requests.HTTPError, exc.HTTPBadGateway) as e: except (requests.HTTPError, exc.HTTPBadGateway) as e:
self.target_resp = getattr(e, 'response', None) self.target_resp = getattr(e, 'response', None)
if (self.target_resp and self.target_resp.status_code // 100 == 2 and if self.target_resp and self.target_resp.status_code // 100 == 2:
common.content_type(self.target_resp).startswith('text/html')): content_type = common.content_type(self.target_resp) or ''
# TODO: pass e.response to try_salmon()'s target_resp if content_type.startswith('text/html'):
return False # make post() try Salmon # TODO: pass e.response to try_salmon()'s target_resp
else: return False # make post() try Salmon
raise raise
target_url = self.target_resp.url or target target_url = self.target_resp.url or target
resp = Response.get_or_create( resp = Response.get_or_create(