commit: 9953b0da59924f936ecc646b22cd3e3a58493d6a
parent a9bea02fe92c7b134020c24b4aef09d2e9ab776c
Author: feld <feld@feld.me>
Date: Mon, 24 Jun 2024 14:06:02 +0000
Merge branch 'oban/richmedia-stream' into 'develop'
RichMedia: test that activity is streamed out after backfill
See merge request pleroma/pleroma!4160
Diffstat:
4 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/changelog.d/rich_media_stream_test.skip b/changelog.d/rich_media_stream_test.skip
diff --git a/config/test.exs b/config/test.exs
@@ -184,7 +184,8 @@ config :pleroma, Pleroma.Uploaders.Uploader, timeout: 1_000
config :pleroma, Pleroma.Emoji.Loader, test_emoji: true
-config :pleroma, Pleroma.Web.RichMedia.Backfill, provider: Pleroma.Web.RichMedia.Backfill
+config :pleroma, Pleroma.Web.RichMedia.Backfill,
+ stream_out: Pleroma.Web.ActivityPub.ActivityPubMock
if File.exists?("./config/test.secret.exs") do
import_config "test.secret.exs"
diff --git a/lib/pleroma/web/rich_media/backfill.ex b/lib/pleroma/web/rich_media/backfill.ex
@@ -11,6 +11,10 @@ defmodule Pleroma.Web.RichMedia.Backfill do
require Logger
@cachex Pleroma.Config.get([:cachex, :provider], Cachex)
+ @stream_out_impl Pleroma.Config.get(
+ [__MODULE__, :stream_out],
+ Pleroma.Web.ActivityPub.ActivityPub
+ )
@spec run(map()) ::
:ok | {:error, {:invalid_metadata, any()} | :body_too_large | {:content, any()} | any()}
@@ -64,7 +68,7 @@ defmodule Pleroma.Web.RichMedia.Backfill do
defp stream_update(%{"activity_id" => activity_id}) do
Pleroma.Activity.get_by_id(activity_id)
|> Pleroma.Activity.normalize()
- |> Pleroma.Web.ActivityPub.ActivityPub.stream_out()
+ |> @stream_out_impl.stream_out()
end
defp warm_cache(key, val), do: @cachex.put(:rich_media_cache, key, val)
diff --git a/test/pleroma/web/rich_media/card_test.exs b/test/pleroma/web/rich_media/card_test.exs
@@ -39,6 +39,9 @@ defmodule Pleroma.Web.RichMedia.CardTest do
content_type: "text/markdown"
})
+ Pleroma.Web.ActivityPub.ActivityPubMock
+ |> expect(:stream_out, fn ^activity -> nil end)
+
assert_enqueued(
worker: RichMediaWorker,
args: %{"url" => url, "activity_id" => activity.id}