diff options
author | tusooa <tusooa@kazv.moe> | 2023-03-01 00:40:44 -0500 |
---|---|---|
committer | tusooa <tusooa@kazv.moe> | 2023-03-01 21:03:30 -0500 |
commit | 1babd0798ff6b74a5049d8ddce19b9d131587d22 (patch) | |
tree | d420eff87d1551c59cc58995a30f2dec04b4d467 /test | |
parent | 8a0162cd9694a1c5bf131fefb6e6a8d3dcb68fae (diff) | |
download | pleroma-1babd0798ff6b74a5049d8ddce19b9d131587d22.tar.gz pleroma-1babd0798ff6b74a5049d8ddce19b9d131587d22.zip |
Stop oban from retrying if validating errors occur when processing incoming data
Diffstat (limited to 'test')
-rw-r--r-- | test/pleroma/workers/receiver_worker_test.exs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/test/pleroma/workers/receiver_worker_test.exs b/test/pleroma/workers/receiver_worker_test.exs index 283beee4d..3098a3da9 100644 --- a/test/pleroma/workers/receiver_worker_test.exs +++ b/test/pleroma/workers/receiver_worker_test.exs @@ -22,4 +22,31 @@ defmodule Pleroma.Workers.ReceiverWorkerTest do }) end end + + test "it ignores ObjectValidator reject" do + params = + insert(:note_activity).data + |> Map.put("id", Pleroma.Web.ActivityPub.Utils.generate_activity_id()) + |> Map.put("object", %{ + "type" => "Note", + "id" => Pleroma.Web.ActivityPub.Utils.generate_object_id() + }) + + with_mock Pleroma.Web.ActivityPub.ObjectValidator, [:passthrough], + validate: fn _, _ -> {:error, %Ecto.Changeset{}} end do + assert {:cancel, {:error, %Ecto.Changeset{}}} = + ReceiverWorker.perform(%Oban.Job{ + args: %{"op" => "incoming_ap_doc", "params" => params} + }) + end + end + + test "it ignores duplicates" do + params = insert(:note_activity).data + + assert {:cancel, :already_present} = + ReceiverWorker.perform(%Oban.Job{ + args: %{"op" => "incoming_ap_doc", "params" => params} + }) + end end |