towerops/test/towerops_web/endpoint/body_reader_test.exs
Graham McIntire d1403c8069 Fix failing tests and clean up code
- Fix doctests for Accounts, Agents.Stats, Snmp to match actual behavior
- Fix dynamic_extra_test vendor post-processing tests to seed sensor data
- Fix activity_controller_test to seed devices for feed data
- Fix session_manager_test to create browser session for test
- Fix topology_test link creation for connection test
- Fix device_monitor/driver_worker tests for unique job constraints
- Fix accounts_test expired_tokens assertion (magic link token is expired)
- Fix happy_path_test and show_events_test to seed monitor data
- Fix admin user_live_test user.name -> user.email (no name field)
- Fix schema_test to seed activity data
- Fix mobile_qr_live_test to match actual template text
- Fix SnmpKit.MIB doctests and tests for enriched return values
- Fix onboarding_live, mobile_controller, mib_test weak assertions
- Remove dead code and fix credo warnings
2026-06-16 14:54:34 -05:00

28 lines
853 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" do
body_content = ~s({"key": "value"})
conn =
"POST"
|> Plug.Test.conn("/", body_content)
|> 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 body == body_content
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