diff --git a/api/funkwhale_api/federation/actors.py b/api/funkwhale_api/federation/actors.py index 5560520c20f2fc7d0c4fdf3eee7ad367e06c94e0..823d163f9790c103d398cf1eaf3ec2d39f52c5c5 100644 --- a/api/funkwhale_api/federation/actors.py +++ b/api/funkwhale_api/federation/actors.py @@ -6,6 +6,7 @@ from django.conf import settings from dynamic_preferences.registries import global_preferences_registry from . import models +from . import utils def get_actor_data(actor_url): @@ -29,18 +30,22 @@ def get_base_system_actor_arguments(name): 'type': 'Person', 'name': '{}\'s library'.format(settings.FEDERATION_HOSTNAME), 'manually_approves_followers': True, - 'url': reverse( - 'federation:instance-actors-detail', - kwargs={'actor': name}), - 'shared_inbox_url': reverse( - 'federation:instance-actors-inbox', - kwargs={'actor': name}), - 'inbox_url': reverse( - 'federation:instance-actors-inbox', - kwargs={'actor': name}), - 'outbox_url': reverse( - 'federation:instance-actors-outbox', - kwargs={'actor': name}), + 'url': utils.full_url( + reverse( + 'federation:instance-actors-detail', + kwargs={'actor': name})), + 'shared_inbox_url': utils.full_url( + reverse( + 'federation:instance-actors-inbox', + kwargs={'actor': name})), + 'inbox_url': utils.full_url( + reverse( + 'federation:instance-actors-inbox', + kwargs={'actor': name})), + 'outbox_url': utils.full_url( + reverse( + 'federation:instance-actors-outbox', + kwargs={'actor': name})), 'public_key': preferences['federation__public_key'], 'summary': 'Bot account to federate with {}\'s library'.format( settings.FEDERATION_HOSTNAME diff --git a/api/tests/federation/test_actors.py b/api/tests/federation/test_actors.py index cd4b0b82fe87653378a9072d15335bbde02bf7b0..00e214bd18f8520046df229dcd07477ea4d86cf8 100644 --- a/api/tests/federation/test_actors.py +++ b/api/tests/federation/test_actors.py @@ -1,6 +1,7 @@ from django.urls import reverse from funkwhale_api.federation import actors +from funkwhale_api.federation import utils def test_actor_fetching(r_mock): @@ -24,15 +25,18 @@ def test_get_library(settings, preferences): 'type': 'Person', 'name': '{}\'s library'.format(settings.FEDERATION_HOSTNAME), 'manually_approves_followers': True, - 'url': reverse( - 'federation:instance-actors-detail', - kwargs={'actor': 'library'}), - 'shared_inbox_url': reverse( - 'federation:instance-actors-inbox', - kwargs={'actor': 'library'}), - 'inbox_url': reverse( - 'federation:instance-actors-inbox', - kwargs={'actor': 'library'}), + 'url': utils.full_url( + reverse( + 'federation:instance-actors-detail', + kwargs={'actor': 'library'})), + 'shared_inbox_url': utils.full_url( + reverse( + 'federation:instance-actors-inbox', + kwargs={'actor': 'library'})), + 'inbox_url': utils.full_url( + reverse( + 'federation:instance-actors-inbox', + kwargs={'actor': 'library'})), 'public_key': 'public_key', 'summary': 'Bot account to federate with {}\'s library'.format( settings.FEDERATION_HOSTNAME),