remove public post quarantine exception (#114)
[akkoma] / test / pleroma / web / activity_pub / publisher_test.exs
index b50e22bbe794ccf24733b5ab404849ae3793b1e9..95f12de2d869ffbe84f07f2f5f718fd6db4dfae8 100644 (file)
@@ -23,7 +23,10 @@ defmodule Pleroma.Web.ActivityPub.PublisherTest do
     :ok
   end
 
-  setup_all do: clear_config([:instance, :federating], true)
+  setup_all do
+    clear_config([:instance, :federating], true)
+    clear_config([:instance, :quarantined_instances], [])
+  end
 
   describe "gather_webfinger_links/1" do
     test "it returns links" do
@@ -267,7 +270,7 @@ defmodule Pleroma.Web.ActivityPub.PublisherTest do
   end
 
   describe "publish/2" do
-    test_with_mock "doesn't publish a non-public activity to quarantined instances.",
+    test_with_mock "doesn't publish any activity to quarantined instances.",
                    Pleroma.Web.Federator.Publisher,
                    [:passthrough],
                    [] do
@@ -291,10 +294,18 @@ defmodule Pleroma.Web.ActivityPub.PublisherTest do
           recipients: [follower.ap_id]
         )
 
+      public_note_activity =
+        insert(:note_activity,
+          user: actor,
+          recipients: [follower.ap_id, @as_public]
+        )
+
       res = Publisher.publish(actor, note_activity)
 
       assert res == :ok
 
+      :ok = Publisher.publish(actor, public_note_activity)
+
       assert not called(
                Pleroma.Web.Federator.Publisher.enqueue_one(Publisher, %{
                  inbox: "https://domain.com/users/nick1/inbox",
@@ -302,6 +313,14 @@ defmodule Pleroma.Web.ActivityPub.PublisherTest do
                  id: note_activity.data["id"]
                })
              )
+
+      assert not called(
+               Pleroma.Web.Federator.Publisher.enqueue_one(Publisher, %{
+                 inbox: "https://domain.com/users/nick1/inbox",
+                 actor_id: actor.id,
+                 id: public_note_activity.data["id"]
+               })
+             )
     end
 
     test_with_mock "Publishes a non-public activity to non-quarantined instances.",
@@ -345,6 +364,8 @@ defmodule Pleroma.Web.ActivityPub.PublisherTest do
                    Pleroma.Web.Federator.Publisher,
                    [:passthrough],
                    [] do
+      Config.put([:instance, :quarantined_instances], [])
+
       follower =
         insert(:user, %{
           local: false,
@@ -379,6 +400,8 @@ defmodule Pleroma.Web.ActivityPub.PublisherTest do
                    Pleroma.Web.Federator.Publisher,
                    [:passthrough],
                    [] do
+      clear_config([:instance, :quarantined_instances], [])
+
       fetcher =
         insert(:user,
           local: false,