Fix Instance and Admin API controller tests for deleting instances
Ensure the job was queued, remove the other test validation. We already prove elsewhere that Pleroma.User.delete/1 works, so repeating that here is a waste.
This commit is contained in:
parent
56aab905e8
commit
ca616e9e73
2 changed files with 14 additions and 35 deletions
|
|
@ -6,9 +6,8 @@ defmodule Pleroma.Instances.InstanceTest do
|
||||||
alias Pleroma.Instances
|
alias Pleroma.Instances
|
||||||
alias Pleroma.Instances.Instance
|
alias Pleroma.Instances.Instance
|
||||||
alias Pleroma.Repo
|
alias Pleroma.Repo
|
||||||
alias Pleroma.Tests.ObanHelpers
|
|
||||||
alias Pleroma.Web.CommonAPI
|
|
||||||
|
|
||||||
|
use Oban.Testing, repo: Pleroma.Repo
|
||||||
use Pleroma.DataCase
|
use Pleroma.DataCase
|
||||||
|
|
||||||
import ExUnit.CaptureLog
|
import ExUnit.CaptureLog
|
||||||
|
|
@ -213,32 +212,14 @@ defmodule Pleroma.Instances.InstanceTest do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
test "delete_users_and_activities/1 deletes remote instance users and activities" do
|
test "delete_users_and_activities/1 schedules a job to delete the instance and users" do
|
||||||
[mario, luigi, _peach, wario] =
|
insert(:user, nickname: "mario@mushroom.kingdom", name: "Mario")
|
||||||
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, _job} = Instance.delete_users_and_activities("mushroom.kingdom")
|
||||||
{: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")
|
assert_enqueued(
|
||||||
:ok = ObanHelpers.perform(job)
|
worker: Pleroma.Workers.DeleteWorker,
|
||||||
|
args: %{"op" => "delete_instance", "host" => "mushroom.kingdom"}
|
||||||
[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
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -8,8 +8,6 @@ defmodule Pleroma.Web.AdminAPI.InstanceControllerTest do
|
||||||
|
|
||||||
import Pleroma.Factory
|
import Pleroma.Factory
|
||||||
|
|
||||||
alias Pleroma.Repo
|
|
||||||
alias Pleroma.Tests.ObanHelpers
|
|
||||||
alias Pleroma.Web.CommonAPI
|
alias Pleroma.Web.CommonAPI
|
||||||
|
|
||||||
setup_all do
|
setup_all do
|
||||||
|
|
@ -69,19 +67,19 @@ defmodule Pleroma.Web.AdminAPI.InstanceControllerTest do
|
||||||
|
|
||||||
test "DELETE /instances/:instance", %{conn: conn} do
|
test "DELETE /instances/:instance", %{conn: conn} do
|
||||||
clear_config([:instance, :admin_privileges], [:instances_delete])
|
clear_config([:instance, :admin_privileges], [:instances_delete])
|
||||||
user = insert(:user, nickname: "lain@lain.com")
|
insert(:user, nickname: "lain@lain.com")
|
||||||
post = insert(:note_activity, user: user)
|
|
||||||
|
|
||||||
response =
|
response =
|
||||||
conn
|
conn
|
||||||
|> delete("/api/pleroma/admin/instances/lain.com")
|
|> delete("/api/pleroma/admin/instances/lain.com")
|
||||||
|> json_response(200)
|
|> json_response(200)
|
||||||
|
|
||||||
[:ok] = ObanHelpers.perform_all()
|
|
||||||
|
|
||||||
assert response == "lain.com"
|
assert response == "lain.com"
|
||||||
refute Repo.reload(user).is_active
|
|
||||||
refute Repo.reload(post)
|
assert_enqueued(
|
||||||
|
worker: Pleroma.Workers.DeleteWorker,
|
||||||
|
args: %{"op" => "delete_instance", "host" => "lain.com"}
|
||||||
|
)
|
||||||
|
|
||||||
clear_config([:instance, :admin_privileges], [])
|
clear_config([:instance, :admin_privileges], [])
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue