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) 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