- 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
28 lines
853 B
Elixir
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
|