SideEffects: Refactor.
authorlain <lain@soykaf.club>
Thu, 2 Jul 2020 07:33:50 +0000 (09:33 +0200)
committerlain <lain@soykaf.club>
Thu, 2 Jul 2020 07:33:50 +0000 (09:33 +0200)
lib/pleroma/web/activity_pub/side_effects.ex
test/web/activity_pub/side_effects_test.exs

index 5cc2eb378d76a62a9a429ebe9d285f34dc318a62..c84af68f4fd76d39e19a0a2d9798c9381584c927 100644 (file)
@@ -13,6 +13,7 @@ defmodule Pleroma.Web.ActivityPub.SideEffects do
   alias Pleroma.Repo
   alias Pleroma.User
   alias Pleroma.Web.ActivityPub.ActivityPub
+  alias Pleroma.Activity.Ir.Topics
   alias Pleroma.Web.ActivityPub.Pipeline
   alias Pleroma.Web.ActivityPub.Utils
   alias Pleroma.Web.Push
@@ -97,7 +98,10 @@ defmodule Pleroma.Web.ActivityPub.SideEffects do
 
     if !User.is_internal_user?(user) do
       Notification.create_notifications(object)
-      ActivityPub.stream_out(object)
+
+      object
+      |> Topics.get_activity_topics()
+      |> Streamer.stream(object)
     end
 
     {:ok, object, meta}
index af27c34b48edd84df389ccabcbb34929221b0d9d..2649b060ab53f0881a4473670f50e64b83101b12 100644 (file)
@@ -589,10 +589,29 @@ defmodule Pleroma.Web.ActivityPub.SideEffectsTest do
     end
 
     test "it streams out the announce", %{announce: announce} do
-      with_mock Pleroma.Web.ActivityPub.ActivityPub, [:passthrough], stream_out: fn _ -> nil end do
+      with_mocks([
+        {
+          Pleroma.Web.Streamer,
+          [],
+          [
+            stream: fn _, _ -> nil end
+          ]
+        },
+        {
+          Pleroma.Web.Push,
+          [],
+          [
+            send: fn _ -> nil end
+          ]
+        }
+      ]) do
         {:ok, announce, _} = SideEffects.handle(announce)
 
-        assert called(Pleroma.Web.ActivityPub.ActivityPub.stream_out(announce))
+        assert called(
+                 Pleroma.Web.Streamer.stream(["user", "list", "public", "public:local"], announce)
+               )
+
+        assert called(Pleroma.Web.Push.send(:_))
       end
     end
   end