diff options
| author | rinpatch <rinpatch@sdf.org> | 2020-04-28 11:57:16 +0000 | 
|---|---|---|
| committer | rinpatch <rinpatch@sdf.org> | 2020-04-28 11:57:16 +0000 | 
| commit | 12bb7fc0dc94068d8337f10fc337ab23c8c7e77e (patch) | |
| tree | db22ab2a17bad9edc35734596b098a8bd3f0195b /test/support | |
| parent | 9994768312ede572c4ddd6beda7027b0a2baddce (diff) | |
| parent | dda65f7799e9dfa2e7b87389848eeee10993a858 (diff) | |
| download | pleroma-12bb7fc0dc94068d8337f10fc337ab23c8c7e77e.tar.gz pleroma-12bb7fc0dc94068d8337f10fc337ab23c8c7e77e.zip  | |
Merge branch 'openapi/account' into 'develop'
Add OpenAPI specs for AccountController
See merge request pleroma/pleroma!2374
Diffstat (limited to 'test/support')
| -rw-r--r-- | test/support/conn_case.ex | 26 | 
1 files changed, 22 insertions, 4 deletions
diff --git a/test/support/conn_case.ex b/test/support/conn_case.ex index 781622476..fa30a0c41 100644 --- a/test/support/conn_case.ex +++ b/test/support/conn_case.ex @@ -51,7 +51,19 @@ defmodule Pleroma.Web.ConnCase do          %{user: user, token: token, conn: conn}        end -      defp json_response_and_validate_schema(conn, status \\ nil) do +      defp request_content_type(%{conn: conn}) do +        conn = put_req_header(conn, "content-type", "multipart/form-data") +        [conn: conn] +      end + +      defp json_response_and_validate_schema( +             %{ +               private: %{ +                 open_api_spex: %{operation_id: op_id, operation_lookup: lookup, spec: spec} +               } +             } = conn, +             status +           ) do          content_type =            conn            |> Plug.Conn.get_resp_header("content-type") @@ -59,10 +71,12 @@ defmodule Pleroma.Web.ConnCase do            |> String.split(";")            |> List.first() -        status = status || conn.status +        status = Plug.Conn.Status.code(status) -        %{private: %{open_api_spex: %{operation_id: op_id, operation_lookup: lookup, spec: spec}}} = -          conn +        unless lookup[op_id].responses[status] do +          err = "Response schema not found for #{conn.status} #{conn.method} #{conn.request_path}" +          flunk(err) +        end          schema = lookup[op_id].responses[status].content[content_type].schema          json = json_response(conn, status) @@ -87,6 +101,10 @@ defmodule Pleroma.Web.ConnCase do          end        end +      defp json_response_and_validate_schema(conn, _status) do +        flunk("Response schema not found for #{conn.method} #{conn.request_path} #{conn.status}") +      end +        defp ensure_federating_or_authenticated(conn, url, user) do          initial_setting = Config.get([:instance, :federating])          on_exit(fn -> Config.put([:instance, :federating], initial_setting) end)  | 
