First test for boost/Announce (fails)

status-serialisers
Marnanel Thurman 2020-07-19 20:33:56 +01:00
rodzic 9e7c78f196
commit 3c16c92a22
3 zmienionych plików z 74 dodań i 8 usunięć

Wyświetl plik

@ -35,6 +35,16 @@ CONTEXT_URL = "https://www.w3.org/ns/activitystreams"
logger = logging.getLogger(name='kepi')
class DummyMessage(object):
fields = None
def __init__(self, fields):
self.fields = fields
def __str__(self):
return 'test message'
def create_local_person(name='jemima',
load_default_keys_from='kepi/bowler_pub/tests/keys/keys-0003.json',
**kwargs):
@ -134,6 +144,7 @@ def create_remote_person(
url,
name,
on_fetch = None,
auto_fetch = False,
load_default_keys_from='kepi/bowler_pub/tests/keys/keys-0002.json',
**fields):
@ -155,6 +166,13 @@ def create_remote_person(
content=body,
)
if auto_fetch:
from kepi.sombrero_sendpub.fetch import fetch_user
return fetch_user(url)
else:
return None
def create_remote_collection(
url,
items,

Wyświetl plik

@ -1,12 +1,66 @@
from django.test import TestCase
from kepi.bowler_pub.tests import *
from unittest import skip, expectedFailure
from django.conf import settings
import kepi.trilby_api.models as trilby_models
from kepi.bowler_pub.create import create
import logging
import httpretty
logger = logging.getLogger(name='kepi')
REMOTE_ALICE = 'https://somewhere.example.com/users/alice'
LOCAL_FRED = 'https://testserver/users/fred'
LOCAL_BOOST_ID = 'https://testserver/status/this-is-a-boost-id'
class TestAnnounce(TestCase):
def setUp(self):
settings.KEPI['LOCAL_OBJECT_HOSTNAME'] = 'testserver'
self._local_fred = create_local_person(
name = 'fred',
)
@httpretty.activate
def test_sender_with_local_follower_boosts_known_status(self):
pass
self._remote_alice = create_remote_person(
url = REMOTE_ALICE,
name = 'alice',
auto_fetch = True,
)
follow = trilby_models.Follow(
follower = self._local_fred,
following = self._remote_alice,
)
follow.save()
original_status = create_local_note(
attributedTo=self._local_fred,
)
self.assertFalse(
original_status.reblogged,
msg = 'the status was not reblogged at the start',
)
boost_form = {
'@context': 'https://www.w3.org/ns/activitystreams',
'id': 'foo',
'type': 'Announce',
'actor': REMOTE_ALICE,
'object': original_status.url,
'to': 'http://example.com/followers',
}
message = DummyMessage(boost_form)
create(message)
self.assertTrue(
original_status.reblogged,
msg = 'the status was reblogged at the end',
)
def test_sender_with_local_follower_boosts_unknown_status(self):
pass

Wyświetl plik

@ -1,6 +1,6 @@
from django.test import TestCase
from unittest import skip, expectedFailure
from kepi.bowler_pub.tests import create_local_note, create_local_person
from kepi.bowler_pub.tests import create_local_note, create_local_person, DummyMessage
import logging
from django.conf import settings
from kepi.bowler_pub.create import create
@ -13,12 +13,6 @@ LOCAL_STATUS_ID = 'https://testserver/status/this-is-an-id'
logger = logging.getLogger(name='kepi')
class DummyMessage(object):
fields = None
def __str__(self):
return 'test message'
class TestCreate(TestCase):
def setUp(self):