towerops/test/towerops_web/endpoint/body_reader_test.exs
2026-06-16 09:56:51 -05:00

25 lines
797 B
Elixir

defmodule ToweropsWeb.Endpoint.BodyReaderTest do
use ToweropsWeb.ConnCase, async: true
alias ToweropsWeb.Endpoint.BodyReader
describe "read_body/2" do
test "passes through non-protobuf body", %{conn: conn} do
conn =
conn
|> put_req_header("content-type", "application/json")
|> Plug.Conn.put_private(:raw_body, nil)
conn = Plug.Conn.assign(conn, :plug_body_reader, {BodyReader, :read_body, []})
{:ok, body, _conn} = BodyReader.read_body(conn, [])
assert is_binary(body) and byte_size(body) > 0
end
test "skips body parsing for protobuf content type", %{conn: conn} do
conn = put_req_header(conn, "content-type", "application/x-protobuf")
assert {:ok, "", ^conn} = BodyReader.read_body(conn, [])
end
end
end