diff options
author | Mark Felder <feld@feld.me> | 2022-11-13 13:33:27 -0500 |
---|---|---|
committer | Mark Felder <feld@feld.me> | 2022-11-13 14:11:48 -0500 |
commit | 2e0089dd5c27c86488d2c68170d80d02c24135f3 (patch) | |
tree | 27090258c5e20b89d05c73a77ce02a61c7033bc8 /test | |
parent | 47b9847edd74c394e2bdfcb95a42f858329c9ef1 (diff) | |
download | pleroma-2e0089dd5c27c86488d2c68170d80d02c24135f3.tar.gz pleroma-2e0089dd5c27c86488d2c68170d80d02c24135f3.zip |
Alter priority of Delete activities to be lowest
This will prevent a user with a large number of posts from negatively affecting performance of the outgoing federation queue if they delete their account.
Diffstat (limited to 'test')
-rw-r--r-- | test/pleroma/workers/publisher_worker_test.exs | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/test/pleroma/workers/publisher_worker_test.exs b/test/pleroma/workers/publisher_worker_test.exs new file mode 100644 index 000000000..13372bf49 --- /dev/null +++ b/test/pleroma/workers/publisher_worker_test.exs @@ -0,0 +1,40 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/> +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Workers.PublisherWorkerTest do + use Pleroma.DataCase, async: true + use Oban.Testing, repo: Pleroma.Repo + + import Pleroma.Factory + + alias Pleroma.Object + alias Pleroma.Web.ActivityPub.ActivityPub + alias Pleroma.Web.ActivityPub.Builder + alias Pleroma.Web.CommonAPI + alias Pleroma.Web.Federator + + describe "Oban job priority:" do + setup do + user = insert(:user) + + {:ok, post} = CommonAPI.post(user, %{status: "Regrettable post"}) + object = Object.normalize(post, fetch: false) + {:ok, delete_data, _meta} = Builder.delete(user, object.data["id"]) + {:ok, delete, _meta} = ActivityPub.persist(delete_data, local: true) + + %{ + post: post, + delete: delete + } + end + + test "Deletions are lower priority", %{delete: delete} do + assert {:ok, %Oban.Job{priority: 3}} = Federator.publish(delete) + end + + test "Creates are normal priority", %{post: post} do + assert {:ok, %Oban.Job{priority: 0}} = Federator.publish(post) + end + end +end |