Newer
Older
Eliot Berriot
committed
import uuid
from funkwhale_api.federation import activity
Eliot Berriot
committed
from funkwhale_api.federation import serializers
Eliot Berriot
committed
def test_deliver(nodb_factories, r_mock, mocker):
to = nodb_factories['federation.Actor']()
mocker.patch(
'funkwhale_api.federation.actors.get_actor',
return_value=to)
sender = nodb_factories['federation.Actor']()
ac = {
'id': 'http://test.federation/activity',
'type': 'Create',
'actor': sender.url,
'object': {
'id': 'http://test.federation/note',
'type': 'Note',
'content': 'Hello',
}
}
r_mock.post(to.inbox_url)
activity.deliver(
ac,
to=[to.url],
on_behalf_of=sender,
)
request = r_mock.request_history[0]
assert r_mock.called is True
assert r_mock.call_count == 1
assert request.url == to.inbox_url
assert request.headers['content-type'] == 'application/activity+json'
Eliot Berriot
committed
def test_accept_follow(mocker, factories):
deliver = mocker.patch(
'funkwhale_api.federation.activity.deliver')
Eliot Berriot
committed
follow = factories['federation.Follow'](approved=None)
expected_accept = serializers.AcceptFollowSerializer(follow).data
activity.accept_follow(follow)
Eliot Berriot
committed
deliver.assert_called_once_with(
Eliot Berriot
committed
expected_accept, to=[follow.actor.url], on_behalf_of=follow.target