aboutsummaryrefslogtreecommitdiff
path: root/test/tasks
diff options
context:
space:
mode:
authorrinpatch <rinpatch@sdf.org>2020-05-11 13:31:11 +0000
committerrinpatch <rinpatch@sdf.org>2020-05-11 13:31:11 +0000
commit79cd723a1eccd83aecd27cbc69ef970dd8067b3f (patch)
treeb6190e2bd0b02483d43438cb337f5df111ee1392 /test/tasks
parent84bb116ae3854c17b85a780fe6dae03c0bd8eaa7 (diff)
parent5367a00257c6f862a4a8080e0176f676ce491e4d (diff)
downloadpleroma-79cd723a1eccd83aecd27cbc69ef970dd8067b3f.tar.gz
Merge branch '1204-object-pruning-deletion' into 'develop'
Deletion: Handle the case of pruned objects. Closes #1204 See merge request pleroma/pleroma!2507
Diffstat (limited to 'test/tasks')
-rw-r--r--test/tasks/user_test.exs25
1 files changed, 25 insertions, 0 deletions
diff --git a/test/tasks/user_test.exs b/test/tasks/user_test.exs
index e0fee7290..b4f68d494 100644
--- a/test/tasks/user_test.exs
+++ b/test/tasks/user_test.exs
@@ -3,9 +3,12 @@
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Mix.Tasks.Pleroma.UserTest do
+ alias Pleroma.Activity
+ alias Pleroma.Object
alias Pleroma.Repo
alias Pleroma.Tests.ObanHelpers
alias Pleroma.User
+ alias Pleroma.Web.CommonAPI
alias Pleroma.Web.OAuth.Authorization
alias Pleroma.Web.OAuth.Token
@@ -103,6 +106,28 @@ defmodule Mix.Tasks.Pleroma.UserTest do
end
end
+ test "a remote user's create activity is deleted when the object has been pruned" do
+ user = insert(:user)
+
+ {:ok, post} = CommonAPI.post(user, %{"status" => "uguu"})
+ object = Object.normalize(post)
+ Object.prune(object)
+
+ with_mock Pleroma.Web.Federator,
+ publish: fn _ -> nil end do
+ Mix.Tasks.Pleroma.User.run(["rm", user.nickname])
+ ObanHelpers.perform_all()
+
+ assert_received {:mix_shell, :info, [message]}
+ assert message =~ " deleted"
+ assert %{deactivated: true} = User.get_by_nickname(user.nickname)
+
+ assert called(Pleroma.Web.Federator.publish(:_))
+ end
+
+ refute Activity.get_by_id(post.id)
+ end
+
test "no user to delete" do
Mix.Tasks.Pleroma.User.run(["rm", "nonexistent"])