summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMark Felder <feld@feld.me>2024-08-28 17:24:59 -0400
committerMark Felder <feld@feld.me>2024-08-28 17:24:59 -0400
commit6ae629cfe072d236453d256017618fe9a8c44755 (patch)
tree78b822ec32289eedbbfbd1164f53a2458ea9c23c /test
parentbb2f4a76b3af4ad5f0e2950ef8dc2567c6ad69ff (diff)
downloadpleroma-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.exs26
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