diff options
author | lain <lain@soykaf.club> | 2020-05-11 15:06:23 +0200 |
---|---|---|
committer | lain <lain@soykaf.club> | 2020-05-11 15:06:23 +0200 |
commit | 5367a00257c6f862a4a8080e0176f676ce491e4d (patch) | |
tree | b6190e2bd0b02483d43438cb337f5df111ee1392 /test/tasks/user_test.exs | |
parent | 84bb116ae3854c17b85a780fe6dae03c0bd8eaa7 (diff) | |
download | pleroma-5367a00257c6f862a4a8080e0176f676ce491e4d.tar.gz |
Deletion: Handle the case of pruned objects.
Diffstat (limited to 'test/tasks/user_test.exs')
-rw-r--r-- | test/tasks/user_test.exs | 25 |
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"]) |