diff options
author | Mark Felder <feld@feld.me> | 2024-08-28 17:24:59 -0400 |
---|---|---|
committer | Mark Felder <feld@feld.me> | 2024-08-28 17:24:59 -0400 |
commit | 6ae629cfe072d236453d256017618fe9a8c44755 (patch) | |
tree | 78b822ec32289eedbbfbd1164f53a2458ea9c23c /test | |
parent | bb2f4a76b3af4ad5f0e2950ef8dc2567c6ad69ff (diff) | |
download | pleroma-6ae629cfe072d236453d256017618fe9a8c44755.tar.gz pleroma-6ae629cfe072d236453d256017618fe9a8c44755.zip |
Cancel ReceiverWorker jobs if the user account has been disabled / deactivated
Diffstat (limited to 'test')
-rw-r--r-- | test/pleroma/workers/receiver_worker_test.exs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/test/pleroma/workers/receiver_worker_test.exs b/test/pleroma/workers/receiver_worker_test.exs index 995f765a1..adf90ec86 100644 --- a/test/pleroma/workers/receiver_worker_test.exs +++ b/test/pleroma/workers/receiver_worker_test.exs @@ -9,6 +9,7 @@ defmodule Pleroma.Workers.ReceiverWorkerTest do import Mock import Pleroma.Factory + alias Pleroma.User alias Pleroma.Web.Federator alias Pleroma.Workers.ReceiverWorker @@ -124,6 +125,31 @@ defmodule Pleroma.Workers.ReceiverWorkerTest do assert {:cancel, {:error, :not_found}} = ReceiverWorker.perform(oban_job) end + + test "when user account is disabled" do + user = insert(:user) + + fake_activity = URI.parse(user.ap_id) |> Map.put(:path, "/fake-activity") |> to_string + + params = + insert(:note_activity, user: user).data + |> Map.put("id", fake_activity) + + {:ok, %User{}} = User.set_activation(user, false) + + {:ok, oban_job} = + ReceiverWorker.new(%{ + "op" => "incoming_ap_doc", + "method" => "POST", + "req_headers" => [], + "request_path" => "/inbox", + "params" => params, + "query_string" => "" + }) + |> Oban.insert() + + assert {:cancel, {:user_active, false}} = ReceiverWorker.perform(oban_job) + end end test "it can validate the signature" do |