Fix MRF policies to also work with Update
[akkoma] / test / pleroma / web / federator_test.exs
index 592fdccd19168a86f3c42ff95f448a5c13df977a..c774090d525ff3b0321d5da9842e1c2458c1228b 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.FederatorTest do
@@ -22,7 +22,7 @@ defmodule Pleroma.Web.FederatorTest do
   end
 
   setup_all do: clear_config([:instance, :federating], true)
-  setup do: clear_config([:instance, :allow_relay])
+  setup do: clear_config([:instance, :allow_relay], true)
   setup do: clear_config([:mrf, :policies])
   setup do: clear_config([:mrf_keyword])
 
@@ -56,7 +56,7 @@ defmodule Pleroma.Web.FederatorTest do
       activity: activity,
       relay_mock: relay_mock
     } do
-      Pleroma.Config.put([:instance, :allow_relay], false)
+      clear_config([:instance, :allow_relay], false)
 
       with_mocks([relay_mock]) do
         Federator.publish(activity)
@@ -123,7 +123,8 @@ defmodule Pleroma.Web.FederatorTest do
           "type" => "Note",
           "content" => "hi world!",
           "id" => "http://mastodon.example.org/users/admin/objects/1",
-          "attributedTo" => "http://mastodon.example.org/users/admin"
+          "attributedTo" => "http://mastodon.example.org/users/admin",
+          "to" => ["https://www.w3.org/ns/activitystreams#Public"]
         },
         "to" => ["https://www.w3.org/ns/activitystreams#Public"]
       }
@@ -145,29 +146,30 @@ defmodule Pleroma.Web.FederatorTest do
           "type" => "Note",
           "content" => "hi world!",
           "id" => "http://mastodon.example.org/users/admin/objects/1",
-          "attributedTo" => "http://mastodon.example.org/users/admin"
+          "attributedTo" => "http://mastodon.example.org/users/admin",
+          "to" => ["https://www.w3.org/ns/activitystreams#Public"]
         },
         "to" => ["https://www.w3.org/ns/activitystreams#Public"]
       }
 
       assert {:ok, job} = Federator.incoming_ap_doc(params)
-      assert {:error, :origin_containment_failed} = ObanHelpers.perform(job)
+      assert {:discard, :origin_containment_failed} = ObanHelpers.perform(job)
     end
 
     test "it does not crash if MRF rejects the post" do
-      Pleroma.Config.put([:mrf_keyword, :reject], ["lain"])
+      clear_config([:mrf_keyword, :reject], ["lain"])
 
-      Pleroma.Config.put(
+      clear_config(
         [:mrf, :policies],
         Pleroma.Web.ActivityPub.MRF.KeywordPolicy
       )
 
       params =
         File.read!("test/fixtures/mastodon-post-activity.json")
-        |> Poison.decode!()
+        |> Jason.decode!()
 
       assert {:ok, job} = Federator.incoming_ap_doc(params)
-      assert {:error, _} = ObanHelpers.perform(job)
+      assert {:discard, _} = ObanHelpers.perform(job)
     end
   end
 end