Merge branch 'chores/bump-copyright' into 'develop'
[akkoma] / test / pleroma / web / activity_pub / transmogrifier / note_handling_test.exs
index 2428bf0bf779648c092fe8a7e440b6ef293e2b56..108f27ef726b5614537b2322db335601bb6a3263 100644 (file)
@@ -1,5 +1,5 @@
 # Pleroma: A lightweight social networking server
-# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
+# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
 # SPDX-License-Identifier: AGPL-3.0-only
 
 defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do
@@ -25,19 +25,19 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do
 
   describe "handle_incoming" do
     test "it works for incoming notices with tag not being an array (kroeg)" do
-      data = File.read!("test/fixtures/kroeg-array-less-emoji.json") |> Poison.decode!()
+      data = File.read!("test/fixtures/kroeg-array-less-emoji.json") |> Jason.decode!()
 
       {:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data)
-      object = Object.normalize(data["object"])
+      object = Object.normalize(data["object"], fetch: false)
 
       assert object.data["emoji"] == %{
                "icon_e_smile" => "https://puckipedia.com/forum/images/smilies/icon_e_smile.png"
              }
 
-      data = File.read!("test/fixtures/kroeg-array-less-hashtag.json") |> Poison.decode!()
+      data = File.read!("test/fixtures/kroeg-array-less-hashtag.json") |> Jason.decode!()
 
       {:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data)
-      object = Object.normalize(data["object"])
+      object = Object.normalize(data["object"], fetch: false)
 
       assert "test" in object.data["tag"]
     end
@@ -50,7 +50,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do
 
       data =
         File.read!("test/fixtures/mastodon-post-activity.json")
-        |> Poison.decode!()
+        |> Jason.decode!()
         |> Map.put("to", to)
         |> Map.put("cc", [])
 
@@ -66,7 +66,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do
       assert data["to"] == []
       assert data["cc"] == to
 
-      object_data = Object.normalize(activity).data
+      object_data = Object.normalize(activity, fetch: false).data
 
       assert object_data["to"] == []
       assert object_data["cc"] == to
@@ -77,8 +77,8 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do
 
       data =
         File.read!("test/fixtures/mastodon-post-activity.json")
-        |> Poison.decode!()
-        |> Map.put("object", Object.normalize(activity).data)
+        |> Jason.decode!()
+        |> Map.put("object", Object.normalize(activity, fetch: false).data)
 
       {:ok, returned_activity} = Transmogrifier.handle_incoming(data)
 
@@ -89,7 +89,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do
     test "it fetches reply-to activities if we don't have them" do
       data =
         File.read!("test/fixtures/mastodon-post-activity.json")
-        |> Poison.decode!()
+        |> Jason.decode!()
 
       object =
         data["object"]
@@ -97,7 +97,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do
 
       data = Map.put(data, "object", object)
       {:ok, returned_activity} = Transmogrifier.handle_incoming(data)
-      returned_object = Object.normalize(returned_activity, false)
+      returned_object = Object.normalize(returned_activity, fetch: false)
 
       assert %Activity{} =
                Activity.get_create_by_object_ap_id(
@@ -111,7 +111,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do
     test "it does not fetch reply-to activities beyond max replies depth limit" do
       data =
         File.read!("test/fixtures/mastodon-post-activity.json")
-        |> Poison.decode!()
+        |> Jason.decode!()
 
       object =
         data["object"]
@@ -123,7 +123,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do
         allowed_thread_distance?: fn _ -> false end do
         {:ok, returned_activity} = Transmogrifier.handle_incoming(data)
 
-        returned_object = Object.normalize(returned_activity, false)
+        returned_object = Object.normalize(returned_activity, fetch: false)
 
         refute Activity.get_create_by_object_ap_id(
                  "tag:shitposter.club,2017-05-05:noticeId=2827873:objectType=comment"
@@ -136,7 +136,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do
     test "it does not crash if the object in inReplyTo can't be fetched" do
       data =
         File.read!("test/fixtures/mastodon-post-activity.json")
-        |> Poison.decode!()
+        |> Jason.decode!()
 
       object =
         data["object"]
@@ -152,7 +152,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do
     end
 
     test "it does not work for deactivated users" do
-      data = File.read!("test/fixtures/mastodon-post-activity.json") |> Poison.decode!()
+      data = File.read!("test/fixtures/mastodon-post-activity.json") |> Jason.decode!()
 
       insert(:user, ap_id: data["actor"], deactivated: true)
 
@@ -160,7 +160,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do
     end
 
     test "it works for incoming notices" do
-      data = File.read!("test/fixtures/mastodon-post-activity.json") |> Poison.decode!()
+      data = File.read!("test/fixtures/mastodon-post-activity.json") |> Jason.decode!()
 
       {:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data)
 
@@ -179,7 +179,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do
 
       assert data["actor"] == "http://mastodon.example.org/users/admin"
 
-      object_data = Object.normalize(data["object"]).data
+      object_data = Object.normalize(data["object"], fetch: false).data
 
       assert object_data["id"] ==
                "http://mastodon.example.org/users/admin/statuses/99512778738411822"
@@ -205,40 +205,39 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do
     end
 
     test "it works for incoming notices without the sensitive property but an nsfw hashtag" do
-      data = File.read!("test/fixtures/mastodon-post-activity-nsfw.json") |> Poison.decode!()
+      data = File.read!("test/fixtures/mastodon-post-activity-nsfw.json") |> Jason.decode!()
 
       {:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data)
 
-      object_data = Object.normalize(data["object"], false).data
+      object_data = Object.normalize(data["object"], fetch: false).data
 
       assert object_data["sensitive"] == true
     end
 
     test "it works for incoming notices with hashtags" do
-      data = File.read!("test/fixtures/mastodon-post-activity-hashtag.json") |> Poison.decode!()
+      data = File.read!("test/fixtures/mastodon-post-activity-hashtag.json") |> Jason.decode!()
 
       {:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data)
-      object = Object.normalize(data["object"])
+      object = Object.normalize(data["object"], fetch: false)
 
       assert Enum.at(object.data["tag"], 2) == "moo"
     end
 
     test "it works for incoming notices with contentMap" do
-      data =
-        File.read!("test/fixtures/mastodon-post-activity-contentmap.json") |> Poison.decode!()
+      data = File.read!("test/fixtures/mastodon-post-activity-contentmap.json") |> Jason.decode!()
 
       {:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data)
-      object = Object.normalize(data["object"])
+      object = Object.normalize(data["object"], fetch: false)
 
       assert object.data["content"] ==
                "<p><span class=\"h-card\"><a href=\"http://localtesting.pleroma.lol/users/lain\" class=\"u-url mention\">@<span>lain</span></a></span></p>"
     end
 
     test "it works for incoming notices with to/cc not being an array (kroeg)" do
-      data = File.read!("test/fixtures/kroeg-post-activity.json") |> Poison.decode!()
+      data = File.read!("test/fixtures/kroeg-post-activity.json") |> Jason.decode!()
 
       {:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data)
-      object = Object.normalize(data["object"])
+      object = Object.normalize(data["object"], fetch: false)
 
       assert object.data["content"] ==
                "<p>henlo from my Psion netBook</p><p>message sent from my Psion netBook</p>"
@@ -249,7 +248,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do
 
       data =
         File.read!("test/fixtures/mastodon-post-activity.json")
-        |> Poison.decode!()
+        |> Jason.decode!()
         |> Map.put("actor", user.ap_id)
         |> Map.put("to", ["https://www.w3.org/ns/activitystreams#Public"])
         |> Map.put("cc", [])
@@ -273,7 +272,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do
 
       data =
         File.read!("test/fixtures/mastodon-post-activity.json")
-        |> Poison.decode!()
+        |> Jason.decode!()
         |> Map.put("actor", user.ap_id)
         |> Map.put("to", nil)
         |> Map.put("cc", nil)
@@ -296,7 +295,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do
     test "it strips internal likes" do
       data =
         File.read!("test/fixtures/mastodon-post-activity.json")
-        |> Poison.decode!()
+        |> Jason.decode!()
 
       likes = %{
         "first" =>
@@ -404,7 +403,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do
       data =
         "test/fixtures/mastodon-post-activity.json"
         |> File.read!()
-        |> Poison.decode!()
+        |> Jason.decode!()
 
       items = get_in(data, ["object", "replies", "first", "items"])
       assert length(items) > 0
@@ -543,7 +542,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do
     setup do: clear_config([:instance, :federation_incoming_replies_max_depth])
 
     setup do
-      data = Poison.decode!(File.read!("test/fixtures/mastodon-post-activity.json"))
+      data = Jason.decode!(File.read!("test/fixtures/mastodon-post-activity.json"))
       [data: data]
     end
 
@@ -599,7 +598,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do
 
   describe "fix_attachments/1" do
     test "returns not modified object" do
-      data = Poison.decode!(File.read!("test/fixtures/mastodon-post-activity.json"))
+      data = Jason.decode!(File.read!("test/fixtures/mastodon-post-activity.json"))
       assert Transmogrifier.fix_attachments(data) == data
     end
 
@@ -663,7 +662,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do
 
   describe "fix_emoji/1" do
     test "returns not modified object when object not contains tags" do
-      data = Poison.decode!(File.read!("test/fixtures/mastodon-post-activity.json"))
+      data = Jason.decode!(File.read!("test/fixtures/mastodon-post-activity.json"))
       assert Transmogrifier.fix_emoji(data) == data
     end
 
@@ -696,7 +695,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do
     setup do: clear_config([:activitypub, :note_replies_output_limit], 2)
 
     test "returns unmodified object if activity doesn't have self-replies" do
-      data = Poison.decode!(File.read!("test/fixtures/mastodon-post-activity.json"))
+      data = Jason.decode!(File.read!("test/fixtures/mastodon-post-activity.json"))
       assert Transmogrifier.set_replies(data) == data
     end
 
@@ -726,7 +725,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do
           in_reply_to_status_id: id1
         })
 
-      object = Object.normalize(activity)
+      object = Object.normalize(activity, fetch: false)
       replies_uris = Enum.map([self_reply1, self_reply2], fn a -> a.object.data["id"] end)
 
       assert %{"type" => "Collection", "items" => ^replies_uris} =