fastmcp/tests/utilities/openapi
Anthony James Padavano 16eb2ffcb0
fix: serialize object query params per OpenAPI style/explode rules (#3662)
Object-typed query parameters with explode=true (the default) were
passed as raw Python dicts to httpx, which called str() on them —
producing Python repr syntax (single quotes, capitalized booleans)
instead of proper query parameter serialization.

Per the OpenAPI specification, style=form with explode=true on objects
expands each property as a separate query parameter (e.g.
?myAttribute=true). This change handles dict values in both the
explode=true and explode=false branches of _serialize_query_params,
using the existing _query_scalar_to_str helper for correct boolean
formatting.

Fixes #2857
2026-03-27 21:42:36 -04:00
..
__init__.py Switch to new OpenAPI parser as default (#2513) 2025-12-01 20:29:18 -05:00
conftest.py Switch to new OpenAPI parser as default (#2513) 2025-12-01 20:29:18 -05:00
test_allof_requestbody.py Switch to new OpenAPI parser as default (#2513) 2025-12-01 20:29:18 -05:00
test_circular_references.py Split large test files to comply with loq line limit (#3328) 2026-02-28 11:21:11 -05:00
test_direct_array_schemas.py Switch to new OpenAPI parser as default (#2513) 2025-12-01 20:29:18 -05:00
test_director.py fix: serialize object query params per OpenAPI style/explode rules (#3662) 2026-03-27 21:42:36 -04:00
test_legacy_compatibility.py Switch to new OpenAPI parser as default (#2513) 2025-12-01 20:29:18 -05:00
test_models.py Add CIMD (Client ID Metadata Document) support for OAuth (#2871) 2026-02-06 13:44:52 -05:00
test_nullable_fields.py Add loq file size limits and clean up type ignores (#2859) 2026-01-13 07:29:12 -05:00
test_parser.py Switch to new OpenAPI parser as default (#2513) 2025-12-01 20:29:18 -05:00
test_propertynames_ref_rewrite.py OpenAPI: rewrite $ref under propertyNames and patternProperties in _replace_ref_with_defs; add regression test for dict[StrEnum, Model] (#3306) 2026-02-26 16:08:54 -05:00
test_schemas.py Make $ref dereferencing optional via FastMCP(dereference_refs=...) (#3151) 2026-02-11 13:45:37 -05:00
test_transitive_references.py Split large test files to comply with loq line limit (#3328) 2026-02-28 11:21:11 -05:00