kopia lustrzana https://github.com/snarfed/bridgy-fed
noop, rename resp => activity
rodzic
726ea26a58
commit
4cc43f4c56
|
@ -237,12 +237,12 @@ class ActivityPubTest(testutil.TestCase):
|
|||
},
|
||||
)
|
||||
|
||||
resp = Activity.get_by_id('http://this/reply http://orig/post')
|
||||
self.assertEqual('orig', resp.domain)
|
||||
self.assertEqual('in', resp.direction)
|
||||
self.assertEqual('activitypub', resp.protocol)
|
||||
self.assertEqual('complete', resp.status)
|
||||
self.assertEqual(expected_as2, json_loads(resp.source_as2))
|
||||
activity = Activity.get_by_id('http://this/reply http://orig/post')
|
||||
self.assertEqual('orig', activity.domain)
|
||||
self.assertEqual('in', activity.direction)
|
||||
self.assertEqual('activitypub', activity.protocol)
|
||||
self.assertEqual('complete', activity.status)
|
||||
self.assertEqual(expected_as2, json_loads(activity.source_as2))
|
||||
|
||||
def test_inbox_reply_drop_self_domain_target(self, mock_head, mock_get, mock_post):
|
||||
reply = copy.deepcopy(REPLY_OBJECT)
|
||||
|
@ -286,12 +286,12 @@ class ActivityPubTest(testutil.TestCase):
|
|||
},
|
||||
)
|
||||
|
||||
resp = Activity.get_by_id('http://this/mention http://target/')
|
||||
self.assertEqual('target', resp.domain)
|
||||
self.assertEqual('in', resp.direction)
|
||||
self.assertEqual('activitypub', resp.protocol)
|
||||
self.assertEqual('complete', resp.status)
|
||||
self.assertEqual(common.redirect_unwrap(as2), json_loads(resp.source_as2))
|
||||
activity = Activity.get_by_id('http://this/mention http://target/')
|
||||
self.assertEqual('target', activity.domain)
|
||||
self.assertEqual('in', activity.direction)
|
||||
self.assertEqual('activitypub', activity.protocol)
|
||||
self.assertEqual('complete', activity.status)
|
||||
self.assertEqual(common.redirect_unwrap(as2), json_loads(activity.source_as2))
|
||||
|
||||
def test_inbox_like(self, mock_head, mock_get, mock_post):
|
||||
mock_head.return_value = requests_response(url='http://orig/post')
|
||||
|
@ -319,12 +319,12 @@ class ActivityPubTest(testutil.TestCase):
|
|||
'target': 'http://orig/post',
|
||||
}, kwargs['data'])
|
||||
|
||||
resp = Activity.get_by_id('http://this/like__ok http://orig/post')
|
||||
self.assertEqual('orig', resp.domain)
|
||||
self.assertEqual('in', resp.direction)
|
||||
self.assertEqual('activitypub', resp.protocol)
|
||||
self.assertEqual('complete', resp.status)
|
||||
self.assertEqual(LIKE_WITH_ACTOR, json_loads(resp.source_as2))
|
||||
activity = Activity.get_by_id('http://this/like__ok http://orig/post')
|
||||
self.assertEqual('orig', activity.domain)
|
||||
self.assertEqual('in', activity.direction)
|
||||
self.assertEqual('activitypub', activity.protocol)
|
||||
self.assertEqual('complete', activity.status)
|
||||
self.assertEqual(LIKE_WITH_ACTOR, json_loads(activity.source_as2))
|
||||
|
||||
def test_inbox_follow_accept(self, mock_head, mock_get, mock_post):
|
||||
mock_head.return_value = requests_response(url='https://www.realize.be/')
|
||||
|
@ -358,12 +358,12 @@ class ActivityPubTest(testutil.TestCase):
|
|||
'target': 'https://www.realize.be/',
|
||||
}, kwargs['data'])
|
||||
|
||||
resp = Activity.get_by_id('https://mastodon.social/6d1a https://www.realize.be/')
|
||||
self.assertEqual('www.realize.be', resp.domain)
|
||||
self.assertEqual('in', resp.direction)
|
||||
self.assertEqual('activitypub', resp.protocol)
|
||||
self.assertEqual('complete', resp.status)
|
||||
self.assertEqual(FOLLOW_WITH_ACTOR, json_loads(resp.source_as2))
|
||||
activity = Activity.get_by_id('https://mastodon.social/6d1a https://www.realize.be/')
|
||||
self.assertEqual('www.realize.be', activity.domain)
|
||||
self.assertEqual('in', activity.direction)
|
||||
self.assertEqual('activitypub', activity.protocol)
|
||||
self.assertEqual('complete', activity.status)
|
||||
self.assertEqual(FOLLOW_WITH_ACTOR, json_loads(activity.source_as2))
|
||||
|
||||
# check that we stored a Follower object
|
||||
follower = Follower.get_by_id(f'www.realize.be {FOLLOW["actor"]}')
|
||||
|
@ -443,8 +443,8 @@ class ActivityPubTest(testutil.TestCase):
|
|||
got = self.client.post('/foo.com/inbox', json=LIKE)
|
||||
self.assertEqual(200, got.status_code)
|
||||
|
||||
resp = Activity.get_by_id('http://this/like__ok http://orig/post')
|
||||
self.assertEqual('orig', resp.domain)
|
||||
self.assertEqual('in', resp.direction)
|
||||
self.assertEqual('activitypub', resp.protocol)
|
||||
self.assertEqual('ignored', resp.status)
|
||||
activity = Activity.get_by_id('http://this/like__ok http://orig/post')
|
||||
self.assertEqual('orig', activity.domain)
|
||||
self.assertEqual('in', activity.direction)
|
||||
self.assertEqual('activitypub', activity.protocol)
|
||||
self.assertEqual('ignored', activity.status)
|
||||
|
|
|
@ -39,24 +39,24 @@ class DomainTest(testutil.TestCase):
|
|||
class ActivityTest(testutil.TestCase):
|
||||
|
||||
def test_constructor(self):
|
||||
resp = Activity('abc', 'xyz')
|
||||
self.assertEqual('abc xyz', resp.key.id())
|
||||
activity = Activity('abc', 'xyz')
|
||||
self.assertEqual('abc xyz', activity.key.id())
|
||||
|
||||
resp = Activity('abc#1', 'xyz#Z')
|
||||
self.assertEqual('abc__1 xyz__Z', resp.key.id())
|
||||
activity = Activity('abc#1', 'xyz#Z')
|
||||
self.assertEqual('abc__1 xyz__Z', activity.key.id())
|
||||
|
||||
def test_get_or_create(self):
|
||||
resp = Activity.get_or_create('abc', 'xyz')
|
||||
self.assertEqual('abc xyz', resp.key.id())
|
||||
activity = Activity.get_or_create('abc', 'xyz')
|
||||
self.assertEqual('abc xyz', activity.key.id())
|
||||
|
||||
resp = Activity.get_or_create('abc#1', 'xyz#Z')
|
||||
self.assertEqual('abc__1 xyz__Z', resp.key.id())
|
||||
activity = Activity.get_or_create('abc#1', 'xyz#Z')
|
||||
self.assertEqual('abc__1 xyz__Z', activity.key.id())
|
||||
|
||||
def test_proxy_url(self):
|
||||
with app.test_request_context('/'):
|
||||
resp = Activity.get_or_create('abc', 'xyz')
|
||||
self.assertIsNone(resp.proxy_url())
|
||||
activity = Activity.get_or_create('abc', 'xyz')
|
||||
self.assertIsNone(activity.proxy_url())
|
||||
|
||||
resp.source_as2 = 'as2'
|
||||
activity.source_as2 = 'as2'
|
||||
self.assertEqual('http://localhost/render?source=abc&target=xyz',
|
||||
resp.proxy_url())
|
||||
activity.proxy_url())
|
||||
|
|
|
@ -90,12 +90,12 @@ class SalmonTest(testutil.TestCase):
|
|||
headers={'Accept': '*/*'})
|
||||
|
||||
# check stored post
|
||||
resp = Activity.get_by_id('https://my/reply http://orig/post')
|
||||
self.assertEqual('orig', resp.domain)
|
||||
self.assertEqual('in', resp.direction)
|
||||
self.assertEqual('ostatus', resp.protocol)
|
||||
self.assertEqual('complete', resp.status)
|
||||
self.assertEqual(atom_reply, resp.source_atom)
|
||||
activity = Activity.get_by_id('https://my/reply http://orig/post')
|
||||
self.assertEqual('orig', activity.domain)
|
||||
self.assertEqual('in', activity.direction)
|
||||
self.assertEqual('ostatus', activity.protocol)
|
||||
self.assertEqual('complete', activity.status)
|
||||
self.assertEqual(atom_reply, activity.source_atom)
|
||||
|
||||
def test_like(self, mock_urlopen, mock_head, mock_get, mock_post):
|
||||
atom_like = """\
|
||||
|
@ -125,12 +125,12 @@ class SalmonTest(testutil.TestCase):
|
|||
headers={'Accept': '*/*'})
|
||||
|
||||
# check stored post
|
||||
resp = Activity.get_by_id('https://my/like http://orig/post')
|
||||
self.assertEqual('orig', resp.domain)
|
||||
self.assertEqual('in', resp.direction)
|
||||
self.assertEqual('ostatus', resp.protocol)
|
||||
self.assertEqual('complete', resp.status)
|
||||
self.assertEqual(atom_like, resp.source_atom)
|
||||
activity = Activity.get_by_id('https://my/like http://orig/post')
|
||||
self.assertEqual('orig', activity.domain)
|
||||
self.assertEqual('in', activity.direction)
|
||||
self.assertEqual('ostatus', activity.protocol)
|
||||
self.assertEqual('complete', activity.status)
|
||||
self.assertEqual(atom_like, activity.source_atom)
|
||||
|
||||
def test_bad_envelope(self, *mocks):
|
||||
got = self.client.post('/foo.com/salmon', data='not xml')
|
||||
|
|
|
@ -405,18 +405,18 @@ class WebmentionTest(testutil.TestCase):
|
|||
rsa_key = kwargs['auth'].header_signer._rsa._key
|
||||
self.assertEqual(self.key.private_pem(), rsa_key.exportKey())
|
||||
|
||||
resp = Activity.get_by_id('http://a/reply http://orig/as2')
|
||||
self.assertEqual('a', resp.domain)
|
||||
self.assertEqual('out', resp.direction)
|
||||
self.assertEqual('activitypub', resp.protocol)
|
||||
self.assertEqual('complete', resp.status)
|
||||
self.assertEqual(self.reply_mf2, json_loads(resp.source_mf2))
|
||||
activity = Activity.get_by_id('http://a/reply http://orig/as2')
|
||||
self.assertEqual('a', activity.domain)
|
||||
self.assertEqual('out', activity.direction)
|
||||
self.assertEqual('activitypub', activity.protocol)
|
||||
self.assertEqual('complete', activity.status)
|
||||
self.assertEqual(self.reply_mf2, json_loads(activity.source_mf2))
|
||||
|
||||
# TODO: if i do this, maybe switch to separate HttpRequest model and
|
||||
# foreign key
|
||||
# self.assertEqual([self.as2_create], resp.request_statuses)
|
||||
# self.assertEqual([self.as2_create], resp.requests)
|
||||
# self.assertEqual(['abc xyz'], resp.responses)
|
||||
# self.assertEqual([self.as2_create], activity.request_statuses)
|
||||
# self.assertEqual([self.as2_create], activity.requests)
|
||||
# self.assertEqual(['abc xyz'], activity.responses)
|
||||
|
||||
def test_activitypub_update_reply(self, mock_get, mock_post):
|
||||
Activity(id='http://a/reply http://orig/as2', status='complete').put()
|
||||
|
@ -508,12 +508,12 @@ class WebmentionTest(testutil.TestCase):
|
|||
rsa_key = kwargs['auth'].header_signer._rsa._key
|
||||
self.assertEqual(self.key.private_pem(), rsa_key.exportKey())
|
||||
|
||||
resp = Activity.get_by_id('http://a/repost http://orig/as2')
|
||||
self.assertEqual('a', resp.domain)
|
||||
self.assertEqual('out', resp.direction)
|
||||
self.assertEqual('activitypub', resp.protocol)
|
||||
self.assertEqual('complete', resp.status)
|
||||
self.assertEqual(self.repost_mf2, json_loads(resp.source_mf2))
|
||||
activity = Activity.get_by_id('http://a/repost http://orig/as2')
|
||||
self.assertEqual('a', activity.domain)
|
||||
self.assertEqual('out', activity.direction)
|
||||
self.assertEqual('activitypub', activity.protocol)
|
||||
self.assertEqual('complete', activity.status)
|
||||
self.assertEqual(self.repost_mf2, json_loads(activity.source_mf2))
|
||||
|
||||
def test_activitypub_link_rel_alternate_as2(self, mock_get, mock_post):
|
||||
mock_get.side_effect = [self.reply, self.not_fediverse,
|
||||
|
@ -672,14 +672,14 @@ class WebmentionTest(testutil.TestCase):
|
|||
self.update_as2 if inbox == 'https://updated/inbox' else self.create_as2,
|
||||
json_loads(call[1]['data']))
|
||||
|
||||
resp = Activity.get_by_id('http://orig/post %s' % inbox)
|
||||
self.assertEqual('orig', resp.domain)
|
||||
self.assertEqual('out', resp.direction, inbox)
|
||||
self.assertEqual('activitypub', resp.protocol, inbox)
|
||||
self.assertEqual('complete', resp.status, inbox)
|
||||
activity = Activity.get_by_id('http://orig/post %s' % inbox)
|
||||
self.assertEqual('orig', activity.domain)
|
||||
self.assertEqual('out', activity.direction, inbox)
|
||||
self.assertEqual('activitypub', activity.protocol, inbox)
|
||||
self.assertEqual('complete', activity.status, inbox)
|
||||
self.assertEqual((different_create_mf2 if inbox == 'https://updated/inbox'
|
||||
else self.create_mf2),
|
||||
json_loads(resp.source_mf2), inbox)
|
||||
json_loads(activity.source_mf2), inbox)
|
||||
|
||||
def test_activitypub_create_with_image(self, mock_get, mock_post):
|
||||
create_html = self.create_html.replace(
|
||||
|
@ -733,12 +733,12 @@ class WebmentionTest(testutil.TestCase):
|
|||
rsa_key = kwargs['auth'].header_signer._rsa._key
|
||||
self.assertEqual(self.key.private_pem(), rsa_key.exportKey())
|
||||
|
||||
resp = Activity.get_by_id('http://a/follow http://followee/')
|
||||
self.assertEqual('a', resp.domain)
|
||||
self.assertEqual('out', resp.direction)
|
||||
self.assertEqual('activitypub', resp.protocol)
|
||||
self.assertEqual('complete', resp.status)
|
||||
self.assertEqual(self.follow_mf2, json_loads(resp.source_mf2))
|
||||
activity = Activity.get_by_id('http://a/follow http://followee/')
|
||||
self.assertEqual('a', activity.domain)
|
||||
self.assertEqual('out', activity.direction)
|
||||
self.assertEqual('activitypub', activity.protocol)
|
||||
self.assertEqual('complete', activity.status)
|
||||
self.assertEqual(self.follow_mf2, json_loads(activity.source_mf2))
|
||||
|
||||
followers = Follower.query().fetch()
|
||||
self.assertEqual(1, len(followers))
|
||||
|
@ -776,12 +776,12 @@ class WebmentionTest(testutil.TestCase):
|
|||
rsa_key = kwargs['auth'].header_signer._rsa._key
|
||||
self.assertEqual(self.key.private_pem(), rsa_key.exportKey())
|
||||
|
||||
resp = Activity.get_by_id('http://a/follow http://followee/')
|
||||
self.assertEqual('a', resp.domain)
|
||||
self.assertEqual('out', resp.direction)
|
||||
self.assertEqual('activitypub', resp.protocol)
|
||||
self.assertEqual('error', resp.status)
|
||||
self.assertEqual(self.follow_mf2, json_loads(resp.source_mf2))
|
||||
activity = Activity.get_by_id('http://a/follow http://followee/')
|
||||
self.assertEqual('a', activity.domain)
|
||||
self.assertEqual('out', activity.direction)
|
||||
self.assertEqual('activitypub', activity.protocol)
|
||||
self.assertEqual('error', activity.status)
|
||||
self.assertEqual(self.follow_mf2, json_loads(activity.source_mf2))
|
||||
|
||||
def test_salmon_reply(self, mock_get, mock_post):
|
||||
mock_get.side_effect = [self.reply, self.not_fediverse,
|
||||
|
@ -821,12 +821,12 @@ class WebmentionTest(testutil.TestCase):
|
|||
<a href="http://localhost/"></a>""",
|
||||
entry.content[0]['value'])
|
||||
|
||||
resp = Activity.get_by_id('http://a/reply http://orig/post')
|
||||
self.assertEqual('a', resp.domain)
|
||||
self.assertEqual('out', resp.direction)
|
||||
self.assertEqual('ostatus', resp.protocol)
|
||||
self.assertEqual('complete', resp.status)
|
||||
self.assertEqual(self.reply_mf2, json_loads(resp.source_mf2))
|
||||
activity = Activity.get_by_id('http://a/reply http://orig/post')
|
||||
self.assertEqual('a', activity.domain)
|
||||
self.assertEqual('out', activity.direction)
|
||||
self.assertEqual('ostatus', activity.protocol)
|
||||
self.assertEqual('complete', activity.status)
|
||||
self.assertEqual(self.reply_mf2, json_loads(activity.source_mf2))
|
||||
|
||||
def test_salmon_like(self, mock_get, mock_post):
|
||||
mock_get.side_effect = [self.like, self.orig_html_atom, self.orig_atom]
|
||||
|
@ -855,12 +855,12 @@ class WebmentionTest(testutil.TestCase):
|
|||
}, entry['links'])
|
||||
self.assertEqual('http://orig/post', entry['activity_object'])
|
||||
|
||||
resp = Activity.get_by_id('http://a/like http://orig/post')
|
||||
self.assertEqual('a', resp.domain)
|
||||
self.assertEqual('out', resp.direction)
|
||||
self.assertEqual('ostatus', resp.protocol)
|
||||
self.assertEqual('complete', resp.status)
|
||||
self.assertEqual(self.like_mf2, json_loads(resp.source_mf2))
|
||||
activity = Activity.get_by_id('http://a/like http://orig/post')
|
||||
self.assertEqual('a', activity.domain)
|
||||
self.assertEqual('out', activity.direction)
|
||||
self.assertEqual('ostatus', activity.protocol)
|
||||
self.assertEqual('complete', activity.status)
|
||||
self.assertEqual(self.like_mf2, json_loads(activity.source_mf2))
|
||||
|
||||
def test_salmon_get_salmon_from_webfinger(self, mock_get, mock_post):
|
||||
orig_atom = requests_response("""\
|
||||
|
@ -907,11 +907,11 @@ class WebmentionTest(testutil.TestCase):
|
|||
self.assertIn('Target post http://orig/url has no Atom link',
|
||||
got.get_data(as_text=True))
|
||||
|
||||
resp = Activity.get_by_id('http://a/reply http://orig/url')
|
||||
self.assertEqual('a', resp.domain)
|
||||
self.assertEqual('out', resp.direction)
|
||||
self.assertEqual('ostatus', resp.protocol)
|
||||
self.assertEqual('error', resp.status)
|
||||
activity = Activity.get_by_id('http://a/reply http://orig/url')
|
||||
self.assertEqual('a', activity.domain)
|
||||
self.assertEqual('out', activity.direction)
|
||||
self.assertEqual('ostatus', activity.protocol)
|
||||
self.assertEqual('error', activity.status)
|
||||
|
||||
def test_salmon_relative_atom_href(self, mock_get, mock_post):
|
||||
orig_relative = requests_response("""\
|
||||
|
|
|
@ -185,7 +185,7 @@ class Webmention(View):
|
|||
inbox)
|
||||
for inbox in sorted(inboxes) if inbox]
|
||||
|
||||
resps_and_inbox_urls = []
|
||||
activities_and_inbox_urls = []
|
||||
for target in targets:
|
||||
# fetch target page as AS2 object
|
||||
try:
|
||||
|
@ -200,14 +200,14 @@ class Webmention(View):
|
|||
raise
|
||||
target_url = self.target_resp.url or target
|
||||
|
||||
resp = Activity.get_or_create(
|
||||
activity = Activity.get_or_create(
|
||||
source=self.source_url, target=target_url, domain=self.source_domain,
|
||||
direction='out', protocol='activitypub',
|
||||
source_mf2=json_dumps(self.source_mf2))
|
||||
|
||||
# find target's inbox
|
||||
target_obj = self.target_resp.json()
|
||||
resp.target_as2 = json_dumps(target_obj)
|
||||
activity.target_as2 = json_dumps(target_obj)
|
||||
inbox_url = target_obj.get('inbox')
|
||||
|
||||
if not inbox_url:
|
||||
|
@ -234,9 +234,9 @@ class Webmention(View):
|
|||
continue
|
||||
|
||||
inbox_url = urllib.parse.urljoin(target_url, inbox_url)
|
||||
resps_and_inbox_urls.append((resp, inbox_url))
|
||||
activities_and_inbox_urls.append((activity, inbox_url))
|
||||
|
||||
return resps_and_inbox_urls
|
||||
return activities_and_inbox_urls
|
||||
|
||||
def try_salmon(self):
|
||||
"""
|
||||
|
|
Ładowanie…
Reference in New Issue