diff options
Diffstat (limited to 'test/web/activity_pub')
| -rw-r--r-- | test/web/activity_pub/activity_pub_test.exs | 75 | ||||
| -rw-r--r-- | test/web/activity_pub/transmogrifier_test.exs | 2 | 
2 files changed, 67 insertions, 10 deletions
diff --git a/test/web/activity_pub/activity_pub_test.exs b/test/web/activity_pub/activity_pub_test.exs index f8e987e58..1e056b7ee 100644 --- a/test/web/activity_pub/activity_pub_test.exs +++ b/test/web/activity_pub/activity_pub_test.exs @@ -22,6 +22,28 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do      :ok    end +  describe "streaming out participations" do +    test "it streams them out" do +      user = insert(:user) +      {:ok, activity} = CommonAPI.post(user, %{"status" => ".", "visibility" => "direct"}) + +      {:ok, conversation} = Pleroma.Conversation.create_or_bump_for(activity) + +      participations = +        conversation.participations +        |> Repo.preload(:user) + +      with_mock Pleroma.Web.Streamer, +        stream: fn _, _ -> nil end do +        ActivityPub.stream_out_participations(conversation.participations) + +        Enum.each(participations, fn participation -> +          assert called(Pleroma.Web.Streamer.stream("participation", participation)) +        end) +      end +    end +  end +    describe "fetching restricted by visibility" do      test "it restricts by the appropriate visibility" do        user = insert(:user) @@ -130,9 +152,15 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do      end      test "doesn't drop activities with content being null" do +      user = insert(:user) +        data = %{ -        "ok" => true, +        "actor" => user.ap_id, +        "to" => [],          "object" => %{ +          "actor" => user.ap_id, +          "to" => [], +          "type" => "Note",            "content" => nil          }        } @@ -148,8 +176,17 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do      end      test "inserts a given map into the activity database, giving it an id if it has none." do +      user = insert(:user) +        data = %{ -        "ok" => true +        "actor" => user.ap_id, +        "to" => [], +        "object" => %{ +          "actor" => user.ap_id, +          "to" => [], +          "type" => "Note", +          "content" => "hey" +        }        }        {:ok, %Activity{} = activity} = ActivityPub.insert(data) @@ -159,9 +196,16 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do        given_id = "bla"        data = %{ -        "ok" => true,          "id" => given_id, -        "context" => "blabla" +        "actor" => user.ap_id, +        "to" => [], +        "context" => "blabla", +        "object" => %{ +          "actor" => user.ap_id, +          "to" => [], +          "type" => "Note", +          "content" => "hey" +        }        }        {:ok, %Activity{} = activity} = ActivityPub.insert(data) @@ -172,26 +216,39 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do      end      test "adds a context when none is there" do +      user = insert(:user) +        data = %{ -        "id" => "some_id", +        "actor" => user.ap_id, +        "to" => [],          "object" => %{ -          "id" => "object_id" +          "actor" => user.ap_id, +          "to" => [], +          "type" => "Note", +          "content" => "hey"          }        }        {:ok, %Activity{} = activity} = ActivityPub.insert(data) +      object = Pleroma.Object.normalize(activity)        assert is_binary(activity.data["context"]) -      assert is_binary(activity.data["object"]["context"]) +      assert is_binary(object.data["context"])        assert activity.data["context_id"] -      assert activity.data["object"]["context_id"] +      assert object.data["context_id"]      end      test "adds an id to a given object if it lacks one and is a note and inserts it to the object database" do +      user = insert(:user) +        data = %{ +        "actor" => user.ap_id, +        "to" => [],          "object" => %{ +          "actor" => user.ap_id, +          "to" => [],            "type" => "Note", -          "ok" => true +          "content" => "hey"          }        } diff --git a/test/web/activity_pub/transmogrifier_test.exs b/test/web/activity_pub/transmogrifier_test.exs index 78429c7c6..c24b50f8c 100644 --- a/test/web/activity_pub/transmogrifier_test.exs +++ b/test/web/activity_pub/transmogrifier_test.exs @@ -219,7 +219,7 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do        Pleroma.Config.put([:user, :deny_follow_blocked], true)        user = insert(:user) -      target = User.get_or_fetch("http://mastodon.example.org/users/admin") +      {:ok, target} = User.get_or_fetch("http://mastodon.example.org/users/admin")        {:ok, user} = User.block(user, target)  | 
