diff options
author | Alex Gleason <alex@alexgleason.me> | 2021-07-17 14:06:35 -0500 |
---|---|---|
committer | Alex Gleason <alex@alexgleason.me> | 2021-07-17 14:06:35 -0500 |
commit | f67d00d12b5d66a960bd7b3822a5fa4418348e18 (patch) | |
tree | 3e5564b85cf0752cd1b30cac7553fe84ddefd054 /test | |
parent | c136dc0987dda1b48298380b0db48bd92fef3f78 (diff) | |
download | pleroma-f67d00d12b5d66a960bd7b3822a5fa4418348e18.tar.gz |
Add Instance.delete_users_and_activities/1 to delete all content from a remote instance
Diffstat (limited to 'test')
-rw-r--r-- | test/pleroma/instances/instance_test.exs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/test/pleroma/instances/instance_test.exs b/test/pleroma/instances/instance_test.exs index bacc0b19b..e49922724 100644 --- a/test/pleroma/instances/instance_test.exs +++ b/test/pleroma/instances/instance_test.exs @@ -6,6 +6,8 @@ defmodule Pleroma.Instances.InstanceTest do alias Pleroma.Instances alias Pleroma.Instances.Instance alias Pleroma.Repo + alias Pleroma.Tests.ObanHelpers + alias Pleroma.Web.CommonAPI use Pleroma.DataCase @@ -158,4 +160,33 @@ defmodule Pleroma.Instances.InstanceTest do "Instance.scrape_favicon(\"#{url}\") ignored unreachable host" end end + + test "delete_users_and_activities/1 deletes remote instance users and activities" do + [mario, luigi, _peach, wario] = + users = [ + insert(:user, nickname: "mario@mushroom.kingdom", name: "Mario"), + insert(:user, nickname: "luigi@mushroom.kingdom", name: "Luigi"), + insert(:user, nickname: "peach@mushroom.kingdom", name: "Peach"), + insert(:user, nickname: "wario@greedville.biz", name: "Wario") + ] + + {:ok, post1} = CommonAPI.post(mario, %{status: "letsa go!"}) + {:ok, post2} = CommonAPI.post(luigi, %{status: "itsa me... luigi"}) + {:ok, post3} = CommonAPI.post(wario, %{status: "WHA-HA-HA!"}) + + {:ok, job} = Instance.delete_users_and_activities("mushroom.kingdom") + :ok = ObanHelpers.perform(job) + + [mario, luigi, peach, wario] = Repo.reload(users) + + refute mario.is_active + refute luigi.is_active + refute peach.is_active + refute peach.name == "Peach" + + assert wario.is_active + assert wario.name == "Wario" + + assert [nil, nil, %{}] = Repo.reload([post1, post2, post3]) + end end |