Loading
fix: lowercase boolean URL params (local=true, deleteAll=true)
NGSI-LD § 4 (URL parameter conventions) and RFC 3986 § 6.2.2.1 both
specify that URL parameter values are case-sensitive. The spec uses
the literal lowercase tokens `true` and `false` throughout.
Nine call sites across eight tests passed `local=${True}` (or
`${true}`) — Robot Framework's `${True}`/`${true}` is Python's
`True`, which the requests library serializes as the string
"True" (capital T) in URL parameters. Plus one `deleteAll=${true}`
in 046_22_08. Brokers that strictly enforce the spec's case-
sensitive convention correctly reject this as 400 BadRequestData;
the affected tests were never reaching their intended assertions.
Replaced all nine occurrences with the literal lowercase `true`.
Affected tests:
- 046_22_08 (deleteAll=true on DELETE attrs)
- D010_01_exc, D010_02_exc, D010_02_red
- D002_01_exc, D002_02_exc
- D003_02_exc, D004_01_exc
Verified on swBroker: D010_02_red, D010_02_exc, D002_01_exc, and
046_22_08 now pass cleanly. The remaining four tests still fail —
but at strictly later errors (stub-call counts, mock-server
timeouts, unexpected 204s) rather than the parseBool 400, exposing
unrelated test-side or broker-logic issues that the case-sensitivity
rejection had been masking. Those will be addressed independently.
Co-Authored-By:
Claude Opus 4.7 <noreply@anthropic.com>