ATProto.send: explicitly ignore accepts, undos

pull/923/head
Ryan Barrett 2024-03-12 20:48:23 -07:00
rodzic aea4880e6f
commit be56539eb2
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 6BE31FDF4776E9D4
2 zmienionych plików z 19 dodań i 0 usunięć

Wyświetl plik

@ -273,6 +273,11 @@ class ATProto(User, Protocol):
logger.info(f'Target PDS {url} is not us')
return False
verb = obj.as1.get('verb')
if verb in ('accept', 'undo'):
logger.info(f'Skipping sending {verb}, not supported in ATProto')
return False
# convert to Bluesky record; short circuits on error
try:
record = to_cls.convert(obj, fetch_blobs=True)

Wyświetl plik

@ -824,6 +824,20 @@ class ATProtoTest(TestCase):
self.assertEqual(0, AtpRepo.query().count())
mock_create_task.assert_not_called()
@patch.object(tasks_client, 'create_task')
def test_send_accept_noop(self, mock_create_task):
obj = Object(id='fake:post', our_as1={
'objectType': 'activity',
'verb': 'accept',
'id': 'fake:accept',
'actor': 'fake:alice',
'object': 'fake:follow',
})
self.assertFalse(ATProto.send(obj, 'https://atproto.brid.gy/'))
self.assertEqual(0, AtpBlock.query().count())
self.assertEqual(0, AtpRepo.query().count())
mock_create_task.assert_not_called()
@patch.object(tasks_client, 'create_task')
def test_send_did_doc_not_our_repo(self, mock_create_task):
self.store_object(id='did:plc:user', raw=DID_DOC) # uses https://some.pds