doubts: bring testsuite-doubts.md fully up-to-date after !283/!284/!285

This MR brings testsuite-doubts.md fully up-to-date with the recent HttpCtrl / URL-param MRs and adds the post-MR remaining cluster.

Status lines added to existing entries

Doubt Status added Why
#2 (closed) PARTIALLY RESOLVED via !284 (merged) trailing-/ slice
#22 (closed) PARTIALLY RESOLVED via !284 (merged) trailing-/ slice; query-params slice still open (see #83 (closed))
#23 (closed) RESOLVED via !285 (merged) 25 distop tests: Should Be EqualAs Integers
#40 (closed) Slice #1 (closed) RESOLVED via !284 (merged) slices #2 (closed)-3 still open (see #83 (closed))
#79 (closed) documented test-side fix not yet (attrs=pick=)
#80 (closed) RESOLVED via !283 (merged) deleteAll= sweep
#80b documented Create Subscription And Entity keyword default-arg bug, low priority
#82 (closed) documented broker side done; test side still pending per item

New entries

#69 (closed) — HttpCtrl Set Stub Reply double-encodes a string body (RESOLVED via !278 (merged)/!282 (merged))

set_stub_reply used to wrap every body in json.dumps(), double-encoding callers that already pass a serialised JSON string (e.g. via Convert JSON To String) — the broker then saw a String where it expected an Array. Now auto-serialises only non-str/bytes bodies. The fix was duplicated across two branches: it landed via the housekeeping bundle !278 (merged) (merged first), leaving standalone !282 (merged) as comment + docstring only.

#83 (closed) — HttpCtrl matcher's non-GET branch ignores the request's query string

So canonical ?options=… / ?deleteAll=… / ?sysAttrs=… forwards never match. Affects D003_02_red, D006_02_inc, D013_01_inc, D013_02_{exc,inc}.

#84 (closed) — Post-MR remaining ETSI cluster (full triage of the 6 "unclear" tests after !283 (merged)/!284 (merged)/!285 (merged) land)

  • 84a D013_01_exc / D014_02_exc — § 9.3.3 fixture (same pattern as #82b on new tests)
  • 84b D013_01_red / D005_01_exc — § 5.9.2 CSR-vs-local-entity conflict (201 != 409)
  • 84c D014_02_inc — HttpCtrl 'NoneType' .get_url (downstream of #83 (closed)'s query-string mismatch)
  • 84d D005_01_inc / D005_01_red / D003_02_red — context-handling (#70 (closed) pattern on new tests)
  • 84e D018_02_02 — not triaged yet
  • 84f D016_01_red — test forgets to stub the GET for the post-merge query
  • 84g D001_01_inc — joins #72 (leftover Vehicle entities in current state)
  • 84h D007_01_exc — Robot keyword choice doesn't tolerate the spec-mandated absence of speed (should use Dictionary Should Not Contain Key)

#85 (closed)D010_01_aux stub body passed as a Python dict; HttpCtrl doesn't auto-serialise (RESOLVED via !273 (merged))

Dict-body counterpart of #69 (closed). Load Entity returns a dict; HttpCtrl only encodes str bodies, so the mock sent headers only. !273 (merged) serialises the body first; with #69 (closed)'s fork fix landed this is now belt-and-suspenders.

Continuation of #79 (closed) (same test, next layer). With no Link header the broker expands the CSR's attrs against the default-core context, a different IRI from the local entity's, so the CSR-side speed is dropped on merge. !277 switched the stub to pick=speed so the mock is reached; the merge bug needs broker-side review.

#87 (closed)020_17020_20 setup must pair the temporal POST with a current-state POST (PARTIALLY RESOLVED via !279)

Fixes the #9 (closed) setup side (8 cases): adds a current-state Create Entity so the body's attr-DELETE has something to tombstone. Two Property cases now pass; the four non-Property cases hit a separate broker bug (deletedAt tombstone collapses every attribute kind to Property/urn:ngsi-ld:null) — own MR.

#88 — DistOps write-op status-code mismatches: 30 tests / 7 patterns (folded from !281 (closed))

Triage of the 30 DistOps status-code failures. 8 are confirmed test bugs (setup creates a CSR that conflicts with a locally-stored entity → spec-correct 409); 5 are the spec ambiguity already in spec-doubts-2 #90; 17 need per-test triage. Broker behaviour is spec-defensible throughout. !281 (closed) is superseded by this entry and closed.

Note

Doc-only — no behaviour change, no test runs affected. The Status: RESOLVED annotations let readers cross-reference exactly which MR fixed which slice of each pre-existing doubt; the new entries cover everything the swBroker ETSI run still flags as unclear after !283 (merged)/!284 (merged)/!285 (merged) land.

Edited by Ken Zangelin

Merge request reports

Loading