Skip to content
Snippets Groups Projects
test_activity.py 1.33 KiB
Newer Older
  • Learn to ignore specific revisions
  • 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