Refactor Mobilizon.Federation.ActivityPub and add typespecs

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
Thomas Citharel
2021-09-28 19:40:37 +02:00
parent 41f086e2c9
commit b5d9b82bdd
125 changed files with 2497 additions and 1673 deletions

View File

@@ -6,7 +6,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier.FollowTest do
alias Mobilizon.Actors
alias Mobilizon.Actors.Follower
alias Mobilizon.Federation.ActivityPub
alias Mobilizon.Federation.ActivityPub.{Activity, Transmogrifier}
alias Mobilizon.Federation.ActivityPub.{Actions, Activity, Transmogrifier}
describe "handle incoming follow requests" do
test "it works only for groups" do
@@ -80,7 +80,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier.FollowTest do
refute Actors.is_following(follower, followed)
{:ok, follow_activity, _} = ActivityPub.follow(follower, followed)
{:ok, follow_activity, _} = Actions.Follow.follow(follower, followed)
assert Actors.is_following(follower, followed)
follow_object_id = follow_activity.data["id"]
@@ -112,7 +112,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier.FollowTest do
refute Actors.is_following(follower, followed)
{:ok, follow_activity, _} = ActivityPub.follow(follower, followed)
{:ok, follow_activity, _} = Actions.Follow.follow(follower, followed)
assert Actors.is_following(follower, followed)
follow_object_id = follow_activity.data["id"]
@@ -145,7 +145,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier.FollowTest do
follower = insert(:actor)
followed = insert(:group, manually_approves_followers: true)
{:ok, follow_activity, _} = ActivityPub.follow(follower, followed)
{:ok, follow_activity, _} = Actions.Follow.follow(follower, followed)
accept_data =
File.read!("test/fixtures/mastodon-accept-activity.json")
@@ -207,7 +207,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier.FollowTest do
follower = insert(:actor)
followed = insert(:group)
{:ok, follow_activity, _} = ActivityPub.follow(follower, followed)
{:ok, follow_activity, _} = Actions.Follow.follow(follower, followed)
assert Actors.is_following(follower, followed)

View File

@@ -7,7 +7,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier.JoinTest do
alias Mobilizon.Events
alias Mobilizon.Events.{Event, Participant}
alias Mobilizon.Federation.ActivityPub
alias Mobilizon.Federation.ActivityPub.Transmogrifier
alias Mobilizon.Federation.ActivityPub.{Actions, Transmogrifier}
describe "handle incoming join activities" do
@join_message "I want to get in!"
@@ -48,7 +48,9 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier.JoinTest do
%Event{} = event = insert(:event, organizer_actor: organizer, join_options: :restricted)
{:ok, join_activity, participation} =
ActivityPub.join(event, participant_actor, false, %{metadata: %{role: :not_approved}})
Actions.Join.join(event, participant_actor, false, %{
metadata: %{role: :not_approved}
})
accept_data =
File.read!("test/fixtures/mastodon-accept-activity.json")
@@ -113,7 +115,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier.JoinTest do
%Event{} = event = insert(:event, organizer_actor: organizer, join_options: :restricted)
{:ok, join_activity, participation} = ActivityPub.join(event, participant_actor)
{:ok, join_activity, participation} = Actions.Join.join(event, participant_actor)
reject_data =
File.read!("test/fixtures/mastodon-reject-activity.json")

View File

@@ -5,8 +5,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier.LeaveTest do
alias Mobilizon.Actors.Actor
alias Mobilizon.Events
alias Mobilizon.Events.{Event, Participant}
alias Mobilizon.Federation.ActivityPub
alias Mobilizon.Federation.ActivityPub.Transmogrifier
alias Mobilizon.Federation.ActivityPub.{Actions, Transmogrifier}
describe "handle incoming leave activities on events" do
test "it accepts Leave activities" do
@@ -19,7 +18,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier.LeaveTest do
organizer_participation =
%Participant{} = insert(:participant, event: event, actor: organizer, role: :creator)
{:ok, _join_activity, _participation} = ActivityPub.join(event, participant_actor)
{:ok, _join_activity, _participation} = Actions.Join.join(event, participant_actor)
join_data =
File.read!("test/fixtures/mobilizon-leave-activity.json")