commit: 833117f5738c286864d525aea9a87d1a7c193ff3
parent 4afe211e50466606c898e3fbd08b617413ef2e16
Author: Mark Felder <feld@feld.me>
Date: Fri, 29 Dec 2023 12:18:23 -0500
Fix tests
Need to handle the edge case of no valid HTTP response which has no status code
Diffstat:
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/lib/pleroma/web/activity_pub/publisher.ex b/lib/pleroma/web/activity_pub/publisher.ex
@@ -128,6 +128,12 @@ defmodule Pleroma.Web.ActivityPub.Publisher do
%{status: 410} -> {:discard, :not_found}
_ -> {:error, e}
end
+
+ e ->
+ unless params[:unreachable_since], do: Instances.set_unreachable(inbox)
+ Logger.metadata(activity: id, inbox: inbox)
+ Logger.error("Publisher failed to inbox #{inbox} #{inspect(e)}")
+ {:error, e}
end
end
diff --git a/test/pleroma/web/activity_pub/publisher_test.exs b/test/pleroma/web/activity_pub/publisher_test.exs
@@ -212,7 +212,8 @@ defmodule Pleroma.Web.ActivityPub.PublisherTest do
actor = insert(:user)
inbox = "http://404.site/users/nick1/inbox"
- assert {:error, _} = Publisher.publish_one(%{inbox: inbox, json: "{}", actor: actor, id: 1})
+ assert {:discard, _} =
+ Publisher.publish_one(%{inbox: inbox, json: "{}", actor: actor, id: 1})
assert called(Instances.set_unreachable(inbox))
end