Skip to content
Snippets Groups Projects
test_activity.py 1.33 KiB
Newer Older
from funkwhale_api.federation import activity
from funkwhale_api.federation import serializers
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'


def test_accept_follow(mocker, factories):
    deliver = mocker.patch(
        'funkwhale_api.federation.activity.deliver')
    follow = factories['federation.Follow'](approved=None)
    expected_accept = serializers.AcceptFollowSerializer(follow).data
    activity.accept_follow(follow)
        expected_accept, to=[follow.actor.url], on_behalf_of=follow.target