diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/pleroma/web/admin_api/controllers/chat_controller_test.exs | 14 | ||||
| -rw-r--r-- | test/pleroma/web/admin_api/controllers/status_controller_test.exs | 20 | 
2 files changed, 33 insertions, 1 deletions
| diff --git a/test/pleroma/web/admin_api/controllers/chat_controller_test.exs b/test/pleroma/web/admin_api/controllers/chat_controller_test.exs index 3798083aa..e080cd225 100644 --- a/test/pleroma/web/admin_api/controllers/chat_controller_test.exs +++ b/test/pleroma/web/admin_api/controllers/chat_controller_test.exs @@ -27,7 +27,10 @@ defmodule Pleroma.Web.AdminAPI.ChatControllerTest do    end    describe "DELETE /api/pleroma/admin/chats/:id/messages/:message_id" do -    setup do: admin_setup() +    setup do +      clear_config([:instance, :admin_privileges], [:status_delete]) +      admin_setup() +    end      test "it deletes a message from the chat", %{conn: conn, admin: admin} do        user = insert(:user) @@ -60,6 +63,15 @@ defmodule Pleroma.Web.AdminAPI.ChatControllerTest do        refute MessageReference.get_by_id(recipient_cm_ref.id)        assert %{data: %{"type" => "Tombstone"}} = Object.get_by_id(object.id)      end + +    test "it requires privileged role :status_delete", %{conn: conn} do +      clear_config([:instance, :admin_privileges], []) + +      assert conn +             |> put_req_header("content-type", "application/json") +             |> delete("/api/pleroma/admin/chats/some_id/messages/some_ref_id") +             |> json_response(:forbidden) +    end    end    describe "GET /api/pleroma/admin/chats/:id/messages" do diff --git a/test/pleroma/web/admin_api/controllers/status_controller_test.exs b/test/pleroma/web/admin_api/controllers/status_controller_test.exs index d18577961..2daf6a50d 100644 --- a/test/pleroma/web/admin_api/controllers/status_controller_test.exs +++ b/test/pleroma/web/admin_api/controllers/status_controller_test.exs @@ -64,6 +64,7 @@ defmodule Pleroma.Web.AdminAPI.StatusControllerTest do    describe "PUT /api/pleroma/admin/statuses/:id" do      setup do +      clear_config([:instance, :admin_privileges], [:status_delete])        activity = insert(:note_activity)        %{id: activity.id} @@ -132,10 +133,20 @@ defmodule Pleroma.Web.AdminAPI.StatusControllerTest do        assert %{"error" => "test - Invalid value for enum."} =                 json_response_and_validate_schema(conn, :bad_request)      end + +    test "it requires privileged role :status_delete", %{conn: conn} do +      clear_config([:instance, :admin_privileges], []) + +      assert conn +             |> put_req_header("content-type", "application/json") +             |> put("/api/pleroma/admin/statuses/some_id", %{}) +             |> json_response(:forbidden) +    end    end    describe "DELETE /api/pleroma/admin/statuses/:id" do      setup do +      clear_config([:instance, :admin_privileges], [:status_delete])        activity = insert(:note_activity)        %{id: activity.id} @@ -159,6 +170,15 @@ defmodule Pleroma.Web.AdminAPI.StatusControllerTest do        assert json_response_and_validate_schema(conn, :not_found) == %{"error" => "Not found"}      end + +    test "it requires privileged role :status_delete", %{conn: conn} do +      clear_config([:instance, :admin_privileges], []) + +      assert conn +             |> put_req_header("content-type", "application/json") +             |> delete("/api/pleroma/admin/statuses/some_id") +             |> json_response(:forbidden) +    end    end    describe "GET /api/pleroma/admin/statuses" do | 
