diff options
Diffstat (limited to 'test/web/admin_api')
3 files changed, 23 insertions, 1 deletions
diff --git a/test/web/admin_api/controllers/admin_api_controller_test.exs b/test/web/admin_api/controllers/admin_api_controller_test.exs index c2433f23c..6082441ee 100644 --- a/test/web/admin_api/controllers/admin_api_controller_test.exs +++ b/test/web/admin_api/controllers/admin_api_controller_test.exs @@ -9,6 +9,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do    import ExUnit.CaptureLog    import Mock    import Pleroma.Factory +  import Swoosh.TestAssertions    alias Pleroma.Activity    alias Pleroma.Config @@ -41,6 +42,16 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do      {:ok, %{admin: admin, token: token, conn: conn}}    end +  test "with valid `admin_token` query parameter, skips OAuth scopes check" do +    clear_config([:admin_token], "password123") + +    user = insert(:user) + +    conn = get(build_conn(), "/api/pleroma/admin/users/#{user.nickname}?admin_token=password123") + +    assert json_response(conn, 200) +  end +    describe "with [:auth, :enforce_oauth_admin_scope_usage]," do      setup do: clear_config([:auth, :enforce_oauth_admin_scope_usage], true) @@ -1721,6 +1732,9 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do                 "@#{admin.nickname} re-sent confirmation email for users: @#{first_user.nickname}, @#{                   second_user.nickname                 }" + +      ObanHelpers.perform_all() +      assert_email_sent(Pleroma.Emails.UserEmail.account_confirmation_email(first_user))      end    end diff --git a/test/web/admin_api/controllers/config_controller_test.exs b/test/web/admin_api/controllers/config_controller_test.exs index 064ef9bc7..61bc9fd39 100644 --- a/test/web/admin_api/controllers/config_controller_test.exs +++ b/test/web/admin_api/controllers/config_controller_test.exs @@ -152,6 +152,14 @@ defmodule Pleroma.Web.AdminAPI.ConfigControllerTest do        assert emoji_val[:groups] == [a: 1, b: 2]        assert assets_val[:mascots] == [a: 1, b: 2]      end + +    test "with valid `admin_token` query parameter, skips OAuth scopes check" do +      clear_config([:admin_token], "password123") + +      build_conn() +      |> get("/api/pleroma/admin/config?admin_token=password123") +      |> json_response_and_validate_schema(200) +    end    end    test "POST /api/pleroma/admin/config error", %{conn: conn} do diff --git a/test/web/admin_api/controllers/report_controller_test.exs b/test/web/admin_api/controllers/report_controller_test.exs index 940bce340..f30dc8956 100644 --- a/test/web/admin_api/controllers/report_controller_test.exs +++ b/test/web/admin_api/controllers/report_controller_test.exs @@ -297,7 +297,7 @@ defmodule Pleroma.Web.AdminAPI.ReportControllerTest do          |> get("/api/pleroma/admin/reports")        assert json_response(conn, :forbidden) == -               %{"error" => "User is not an admin or OAuth admin scope is not granted."} +               %{"error" => "User is not an admin."}      end      test "returns 403 when requested by anonymous" do  | 
