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 Equal → As 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 ofspeed(should useDictionary 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.
#86 — D011_02_exc_01 CSR response without a Link header → broker can't reconcile attribute IRIs (OPEN)
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_17–020_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.