diff options
Diffstat (limited to 'test/web/activity_pub/utils_test.exs')
| -rw-r--r-- | test/web/activity_pub/utils_test.exs | 126 | 
1 files changed, 16 insertions, 110 deletions
| diff --git a/test/web/activity_pub/utils_test.exs b/test/web/activity_pub/utils_test.exs index 211fa6c95..9e0a0f1c4 100644 --- a/test/web/activity_pub/utils_test.exs +++ b/test/web/activity_pub/utils_test.exs @@ -1,5 +1,5 @@  # Pleroma: A lightweight social networking server -# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/> +# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>  # SPDX-License-Identifier: AGPL-3.0-only  defmodule Pleroma.Web.ActivityPub.UtilsTest do @@ -102,34 +102,6 @@ defmodule Pleroma.Web.ActivityPub.UtilsTest do      end    end -  describe "make_unlike_data/3" do -    test "returns data for unlike activity" do -      user = insert(:user) -      like_activity = insert(:like_activity, data_attrs: %{"context" => "test context"}) - -      object = Object.normalize(like_activity.data["object"]) - -      assert Utils.make_unlike_data(user, like_activity, nil) == %{ -               "type" => "Undo", -               "actor" => user.ap_id, -               "object" => like_activity.data, -               "to" => [user.follower_address, object.data["actor"]], -               "cc" => [Pleroma.Constants.as_public()], -               "context" => like_activity.data["context"] -             } - -      assert Utils.make_unlike_data(user, like_activity, "9mJEZK0tky1w2xD2vY") == %{ -               "type" => "Undo", -               "actor" => user.ap_id, -               "object" => like_activity.data, -               "to" => [user.follower_address, object.data["actor"]], -               "cc" => [Pleroma.Constants.as_public()], -               "context" => like_activity.data["context"], -               "id" => "9mJEZK0tky1w2xD2vY" -             } -    end -  end -    describe "make_like_data" do      setup do        user = insert(:user) @@ -148,7 +120,7 @@ defmodule Pleroma.Web.ActivityPub.UtilsTest do        {:ok, activity} =          CommonAPI.post(user, %{ -          "status" => +          status:              "hey @#{other_user.nickname}, @#{third_user.nickname} how about beering together this weekend?"          }) @@ -167,8 +139,8 @@ defmodule Pleroma.Web.ActivityPub.UtilsTest do        {:ok, activity} =          CommonAPI.post(user, %{ -          "status" => "@#{other_user.nickname} @#{third_user.nickname} bought a new swimsuit!", -          "visibility" => "private" +          status: "@#{other_user.nickname} @#{third_user.nickname} bought a new swimsuit!", +          visibility: "private"          })        %{"to" => to, "cc" => cc} = Utils.make_like_data(other_user, activity, nil) @@ -177,71 +149,6 @@ defmodule Pleroma.Web.ActivityPub.UtilsTest do      end    end -  describe "fetch_ordered_collection" do -    import Tesla.Mock - -    test "fetches the first OrderedCollectionPage when an OrderedCollection is encountered" do -      mock(fn -        %{method: :get, url: "http://mastodon.com/outbox"} -> -          json(%{"type" => "OrderedCollection", "first" => "http://mastodon.com/outbox?page=true"}) - -        %{method: :get, url: "http://mastodon.com/outbox?page=true"} -> -          json(%{"type" => "OrderedCollectionPage", "orderedItems" => ["ok"]}) -      end) - -      assert Utils.fetch_ordered_collection("http://mastodon.com/outbox", 1) == ["ok"] -    end - -    test "fetches several pages in the right order one after another, but only the specified amount" do -      mock(fn -        %{method: :get, url: "http://example.com/outbox"} -> -          json(%{ -            "type" => "OrderedCollectionPage", -            "orderedItems" => [0], -            "next" => "http://example.com/outbox?page=1" -          }) - -        %{method: :get, url: "http://example.com/outbox?page=1"} -> -          json(%{ -            "type" => "OrderedCollectionPage", -            "orderedItems" => [1], -            "next" => "http://example.com/outbox?page=2" -          }) - -        %{method: :get, url: "http://example.com/outbox?page=2"} -> -          json(%{"type" => "OrderedCollectionPage", "orderedItems" => [2]}) -      end) - -      assert Utils.fetch_ordered_collection("http://example.com/outbox", 0) == [0] -      assert Utils.fetch_ordered_collection("http://example.com/outbox", 1) == [0, 1] -    end - -    test "returns an error if the url doesn't have an OrderedCollection/Page" do -      mock(fn -        %{method: :get, url: "http://example.com/not-an-outbox"} -> -          json(%{"type" => "NotAnOutbox"}) -      end) - -      assert {:error, _} = Utils.fetch_ordered_collection("http://example.com/not-an-outbox", 1) -    end - -    test "returns the what was collected if there are less pages than specified" do -      mock(fn -        %{method: :get, url: "http://example.com/outbox"} -> -          json(%{ -            "type" => "OrderedCollectionPage", -            "orderedItems" => [0], -            "next" => "http://example.com/outbox?page=1" -          }) - -        %{method: :get, url: "http://example.com/outbox?page=1"} -> -          json(%{"type" => "OrderedCollectionPage", "orderedItems" => [1]}) -      end) - -      assert Utils.fetch_ordered_collection("http://example.com/outbox", 5) == [0, 1] -    end -  end -    test "make_json_ld_header/0" do      assert Utils.make_json_ld_header() == %{               "@context" => [ @@ -261,11 +168,11 @@ defmodule Pleroma.Web.ActivityPub.UtilsTest do        {:ok, activity} =          CommonAPI.post(user, %{ -          "status" => "How do I pronounce LaTeX?", -          "poll" => %{ -            "options" => ["laytekh", "lahtekh", "latex"], -            "expires_in" => 20, -            "multiple" => true +          status: "How do I pronounce LaTeX?", +          poll: %{ +            options: ["laytekh", "lahtekh", "latex"], +            expires_in: 20, +            multiple: true            }          }) @@ -280,17 +187,16 @@ defmodule Pleroma.Web.ActivityPub.UtilsTest do        {:ok, activity} =          CommonAPI.post(user, %{ -          "status" => "Are we living in a society?", -          "poll" => %{ -            "options" => ["yes", "no"], -            "expires_in" => 20 +          status: "Are we living in a society?", +          poll: %{ +            options: ["yes", "no"], +            expires_in: 20            }          })        object = Object.normalize(activity)        {:ok, [vote], object} = CommonAPI.vote(other_user, object, [0]) -      vote_object = Object.normalize(vote) -      {:ok, _activity, _object} = ActivityPub.like(user, vote_object) +      {:ok, _activity} = CommonAPI.favorite(user, activity.id)        [fetched_vote] = Utils.get_existing_votes(other_user.ap_id, object)        assert fetched_vote.id == vote.id      end @@ -411,7 +317,7 @@ defmodule Pleroma.Web.ActivityPub.UtilsTest do        user = insert(:user)        refute Utils.get_existing_like(user.ap_id, object) -      {:ok, like_activity, _object} = ActivityPub.like(user, object) +      {:ok, like_activity} = CommonAPI.favorite(user, note_activity.id)        assert ^like_activity = Utils.get_existing_like(user.ap_id, object)      end @@ -563,7 +469,7 @@ defmodule Pleroma.Web.ActivityPub.UtilsTest do      test "returns map with Flag object" do        reporter = insert(:user)        target_account = insert(:user) -      {:ok, activity} = CommonAPI.post(target_account, %{"status" => "foobar"}) +      {:ok, activity} = CommonAPI.post(target_account, %{status: "foobar"})        context = Utils.generate_context_id()        content = "foobar" | 
