diff options
author | lain <lain@soykaf.club> | 2020-04-28 14:16:21 +0200 |
---|---|---|
committer | lain <lain@soykaf.club> | 2020-04-28 14:16:21 +0200 |
commit | b5dc59c8fa587b4db844c7fc0ba16e5cb00bfd38 (patch) | |
tree | 85fa5f1a8a1c87aaa4d6fc999995950c1da27d98 /test/support | |
parent | f8e56d4271f8c495316d304dd0de7f0a63eb0645 (diff) | |
parent | 12bb7fc0dc94068d8337f10fc337ab23c8c7e77e (diff) | |
download | pleroma-b5dc59c8fa587b4db844c7fc0ba16e5cb00bfd38.tar.gz |
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms
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) |