Improve Member federation

Federate the member ID instead of the person ID

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
Thomas Citharel
2021-01-18 16:19:07 +01:00
parent 9f4dd06e43
commit 12d2ab669d
3 changed files with 33 additions and 4 deletions

View File

@@ -17,7 +17,7 @@ defmodule Mobilizon.Federation.ActivityPubTest do
alias Mobilizon.Todos.{Todo, TodoList}
alias Mobilizon.Federation.ActivityPub
alias Mobilizon.Federation.ActivityPub.Utils
alias Mobilizon.Federation.ActivityPub.{Relay, Utils}
alias Mobilizon.Federation.HTTPSignatures.Signature
alias Mobilizon.Service.HTTP.ActivityPub.Mock
@@ -125,6 +125,11 @@ defmodule Mobilizon.Federation.ActivityPubTest do
assert_called(ActivityPub.make_actor_from_url(@actor_url, false))
end
end
@public_url "https://www.w3.org/ns/activitystreams#Public"
test "activitystreams#Public uri returns Relay actor" do
assert ActivityPub.get_or_fetch_actor_by_url(@public_url) == {:ok, Relay.get_actor()}
end
end
describe "create activities" do
@@ -301,6 +306,19 @@ defmodule Mobilizon.Federation.ActivityPubTest do
end
end
describe "remove a member" do
test "it creates an remove activity" do
group = insert(:group)
member = insert(:member, parent: group)
moderator = insert(:actor)
{:ok, activity, _member} = ActivityPub.remove(member, group, moderator, true)
assert activity.data["type"] == "Remove"
assert activity.data["actor"] == moderator.url
assert activity.data["to"] == [group.members_url]
assert activity.data["object"] == member.url
end
end
describe "create a todo list" do
@todo_list_title "My TODO-list"