2017-08-15 14:42:29 +00:00
|
|
|
# coding=utf-8
|
|
|
|
"""Unit tests for add_webmention.py.
|
|
|
|
"""
|
2019-12-26 06:20:57 +00:00
|
|
|
from unittest import mock
|
2017-08-15 14:42:29 +00:00
|
|
|
|
2017-08-24 14:41:46 +00:00
|
|
|
from oauth_dropins.webutil.testutil import requests_response
|
2017-08-15 14:42:29 +00:00
|
|
|
import requests
|
2019-12-26 06:20:57 +00:00
|
|
|
from . import testutil
|
2017-08-15 14:42:29 +00:00
|
|
|
|
|
|
|
|
|
|
|
@mock.patch('requests.get')
|
2017-10-01 14:09:22 +00:00
|
|
|
class AddWebmentionTest(testutil.TestCase):
|
2017-08-15 14:42:29 +00:00
|
|
|
|
|
|
|
def setUp(self):
|
2021-08-18 14:59:52 +00:00
|
|
|
super().setUp()
|
2017-09-12 14:31:18 +00:00
|
|
|
self.resp = requests_response('asdf ☕ qwert', headers={
|
2017-08-15 14:42:29 +00:00
|
|
|
'Link': 'first',
|
|
|
|
'Foo': 'bar',
|
2017-08-24 14:41:46 +00:00
|
|
|
})
|
2017-08-15 14:42:29 +00:00
|
|
|
|
|
|
|
def test_get(self, mock_get):
|
|
|
|
self.resp.status_code = 202
|
|
|
|
mock_get.return_value = self.resp
|
|
|
|
|
2021-08-18 14:59:52 +00:00
|
|
|
got = self.client.get('/wm/http://url')
|
2021-07-08 14:25:44 +00:00
|
|
|
self.assertEqual(202, got.status_code)
|
|
|
|
self.assertEqual(self.resp._content, got.data)
|
|
|
|
self.assertEqual(['bar'], got.headers.getlist('Foo'))
|
2017-08-15 14:42:29 +00:00
|
|
|
self.assertEqual(['first', '<http://localhost/webmention>; rel="webmention"'],
|
2021-07-08 14:25:44 +00:00
|
|
|
got.headers.getlist('Link'))
|
2017-08-15 15:04:18 +00:00
|
|
|
|
|
|
|
def test_endpoint_param(self, mock_get):
|
|
|
|
mock_get.return_value = self.resp
|
|
|
|
|
2021-08-18 14:59:52 +00:00
|
|
|
got = self.client.get('/wm/http://url?endpoint=https://end/point')
|
2021-07-08 14:25:44 +00:00
|
|
|
self.assertEqual(200, got.status_code)
|
|
|
|
self.assertEqual(['first', '<https://end/point>; rel="webmention"'],
|
|
|
|
got.headers.getlist('Link'))
|