aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorrinpatch <rinpatch@sdf.org>2020-04-29 14:26:31 +0300
committerrinpatch <rinpatch@sdf.org>2020-05-02 19:05:13 +0300
commite55876409b523d81bc19db876bc90f29ba80a47c (patch)
treeb85e0ab309c870f2b5bbb6d3bd94b0dff3de3856 /test
parente186d9941d4cf4708186681fcea60b23919c46ed (diff)
downloadpleroma-e55876409b523d81bc19db876bc90f29ba80a47c.tar.gz
Deactivate local users on deletion instead of deleting the record
Prevents the possibility of re-registration, which allowed to read DMs of the deleted account. Also includes a migration that tries to find any already deleted accounts and insert skeletons for them. Closes pleroma/pleroma#1687
Diffstat (limited to 'test')
-rw-r--r--test/tasks/user_test.exs2
-rw-r--r--test/user_test.exs14
-rw-r--r--test/web/activity_pub/transmogrifier_test.exs3
3 files changed, 5 insertions, 14 deletions
diff --git a/test/tasks/user_test.exs b/test/tasks/user_test.exs
index 8df835b56..0f6ffb2b1 100644
--- a/test/tasks/user_test.exs
+++ b/test/tasks/user_test.exs
@@ -92,7 +92,7 @@ defmodule Mix.Tasks.Pleroma.UserTest do
assert_received {:mix_shell, :info, [message]}
assert message =~ " deleted"
- refute User.get_by_nickname(user.nickname)
+ assert %{deactivated: true} = User.get_by_nickname(user.nickname)
end
test "no user to delete" do
diff --git a/test/user_test.exs b/test/user_test.exs
index 347c5be72..bff337d3e 100644
--- a/test/user_test.exs
+++ b/test/user_test.exs
@@ -1135,16 +1135,7 @@ defmodule Pleroma.UserTest do
refute Activity.get_by_id(activity.id)
end
- test "it deletes deactivated user" do
- {:ok, user} = insert(:user, deactivated: true) |> User.set_cache()
-
- {:ok, job} = User.delete(user)
- {:ok, _user} = ObanHelpers.perform(job)
-
- refute User.get_by_id(user.id)
- end
-
- test "it deletes a user, all follow relationships and all activities", %{user: user} do
+ test "it deactivates a user, all follow relationships and all activities", %{user: user} do
follower = insert(:user)
{:ok, follower} = User.follow(follower, user)
@@ -1164,8 +1155,7 @@ defmodule Pleroma.UserTest do
follower = User.get_cached_by_id(follower.id)
refute User.following?(follower, user)
- refute User.get_by_id(user.id)
- assert {:ok, nil} == Cachex.get(:user_cache, "ap_id:#{user.ap_id}")
+ assert %{deactivated: true} = User.get_by_id(user.id)
user_activities =
user.ap_id
diff --git a/test/web/activity_pub/transmogrifier_test.exs b/test/web/activity_pub/transmogrifier_test.exs
index 10d86ee45..36e1e7bd1 100644
--- a/test/web/activity_pub/transmogrifier_test.exs
+++ b/test/web/activity_pub/transmogrifier_test.exs
@@ -872,7 +872,8 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do
@tag capture_log: true
test "it works for incoming user deletes" do
- %{ap_id: ap_id} = insert(:user, ap_id: "http://mastodon.example.org/users/admin")
+ %{ap_id: ap_id} =
+ insert(:user, ap_id: "http://mastodon.example.org/users/admin", local: false)
data =
File.read!("test/fixtures/mastodon-delete-user.json")