diff options
Diffstat (limited to 'test/web')
| -rw-r--r-- | test/web/api_spec/app_operation_test.exs | 45 | ||||
| -rw-r--r-- | test/web/mastodon_api/controllers/account_controller_test.exs | 4 | ||||
| -rw-r--r-- | test/web/mastodon_api/controllers/app_controller_test.exs | 4 | 
3 files changed, 50 insertions, 3 deletions
diff --git a/test/web/api_spec/app_operation_test.exs b/test/web/api_spec/app_operation_test.exs new file mode 100644 index 000000000..5b96abb44 --- /dev/null +++ b/test/web/api_spec/app_operation_test.exs @@ -0,0 +1,45 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/> +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.ApiSpec.AppOperationTest do +  use Pleroma.Web.ConnCase, async: true + +  alias Pleroma.Web.ApiSpec +  alias Pleroma.Web.ApiSpec.Schemas.AppCreateRequest +  alias Pleroma.Web.ApiSpec.Schemas.AppCreateResponse + +  import OpenApiSpex.TestAssertions +  import Pleroma.Factory + +  test "AppCreateRequest example matches schema" do +    api_spec = ApiSpec.spec() +    schema = AppCreateRequest.schema() +    assert_schema(schema.example, "AppCreateRequest", api_spec) +  end + +  test "AppCreateResponse example matches schema" do +    api_spec = ApiSpec.spec() +    schema = AppCreateResponse.schema() +    assert_schema(schema.example, "AppCreateResponse", api_spec) +  end + +  test "AppController produces a AppCreateResponse", %{conn: conn} do +    api_spec = ApiSpec.spec() +    app_attrs = build(:oauth_app) + +    json = +      conn +      |> put_req_header("content-type", "application/json") +      |> post( +        "/api/v1/apps", +        Jason.encode!(%{ +          client_name: app_attrs.client_name, +          redirect_uris: app_attrs.redirect_uris +        }) +      ) +      |> json_response(200) + +    assert_schema(json, "AppCreateResponse", api_spec) +  end +end diff --git a/test/web/mastodon_api/controllers/account_controller_test.exs b/test/web/mastodon_api/controllers/account_controller_test.exs index a9fa0ce48..a450a732c 100644 --- a/test/web/mastodon_api/controllers/account_controller_test.exs +++ b/test/web/mastodon_api/controllers/account_controller_test.exs @@ -794,7 +794,9 @@ defmodule Pleroma.Web.MastodonAPI.AccountControllerTest do      test "Account registration via Application", %{conn: conn} do        conn = -        post(conn, "/api/v1/apps", %{ +        conn +        |> put_req_header("content-type", "application/json") +        |> post("/api/v1/apps", %{            client_name: "client_name",            redirect_uris: "urn:ietf:wg:oauth:2.0:oob",            scopes: "read, write, follow" diff --git a/test/web/mastodon_api/controllers/app_controller_test.exs b/test/web/mastodon_api/controllers/app_controller_test.exs index 77d234d67..e7b11d14e 100644 --- a/test/web/mastodon_api/controllers/app_controller_test.exs +++ b/test/web/mastodon_api/controllers/app_controller_test.exs @@ -16,8 +16,7 @@ defmodule Pleroma.Web.MastodonAPI.AppControllerTest do      conn =        conn -      |> assign(:user, token.user) -      |> assign(:token, token) +      |> put_req_header("authorization", "Bearer #{token.token}")        |> get("/api/v1/apps/verify_credentials")      app = Repo.preload(token, :app).app @@ -37,6 +36,7 @@ defmodule Pleroma.Web.MastodonAPI.AppControllerTest do      conn =        conn +      |> put_req_header("content-type", "application/json")        |> assign(:user, user)        |> post("/api/v1/apps", %{          client_name: app_attrs.client_name,  | 
