Commit 5c62f436 authored by kzangeli's avatar kzangeli
Browse files

testsuite-doubts: develop merged (2026-10-07) - #112 101ca20b's D002_02_exc /...

testsuite-doubts: develop merged (2026-10-07) - #112 101ca20b's D002_02_exc / D003_0[12]_exc not taken, #113 the mock's parameterless GET stub, #114 D010_01_aux's two forms; group H upstream; 1106/1106
parent 3aab8b3d
Loading
Loading
Loading
Loading
+60 −0
Changes for testsuite-doubts.md: 60 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -43,6 +43,13 @@ may be obsolete since !311 rewrote D009_01.

The corrected suite (this branch, forge-free) against coraine, 2026-10-03: **1107 / 1107**.

**2026-10-07:** develop (5c398518) merged into this branch (52be3138). Group **H** is now upstream (develop
installs the vendored HttpCtrl itself), and so are dkastl's mock fixes (geolonia !8-!11). Taken from
dkastl (geolonia/ngsi-ld-test-suite-patches): D001_01_inc (#21), D005_01_inc (#25), 021_08 (#29) - develop
regressions, his commits. New entries #112-#114. `url` no longer ends in `/ngsi-ld/v1` (develop's paths
add it): `ETSI_API_PATH= etsiRun cor`. Against coraine (main + #271 + #272): **1106 / 1106** on MongoDB +
TimescaleDB and on corDB.

---

## 1. `Get Stub Count` int vs Robot literal string
@@ -3152,3 +3159,56 @@ and a stored q changes meaning each time it is read back. coraine decodes a URL'
layer) and a body's never, so `%20` here is three literal characters and nothing matches.

**Fix (our branch):** `"q": "name==\"Eiffel Tower\""`. (2026-09-30)



## 112. `D002_02_exc` / `D003_01_exc` / `D003_02_exc` — develop's 101ca20b rewrite not taken

**Upstream (2026-10-07):** develop 101ca20b rewrote all three; ours kept on this branch (2a6da2e0) - spec question, MR group J.

**Hit:** after merging develop (5c398518), develop's forms fail on coraine; ours pass.

- `D002_02_exc`: develop registers speed exclusively with **no** `operations` (default `federationOps`, no
  `deleteEntity`), creates the entity with the CB **forwarding** the create, stubs the Context Source's
  DELETE with 409 and expects **204**. Ours registers `retrieveOps` (the registration still claims speed but
  supports no delete), creates the entity `local=true`, and expects **207**: the local delete succeeds,
  the exclusive registration that does not support the operation is a Conflict (TS 104-175 clause 10.2.8.4
  + clause 9: "an error of type Conflict ... or a partial success if some parts succeeded").
- `D003_01_exc`: develop creates the entity through the CB (the exclusive speed is then forwarded, not
  held locally) and checks the response without a context; ours creates it `local=true` and retrieves
  with the suite context - the local view must LACK the exclusively registered speed (clause 4.3.6.3).
- `D003_02_exc`: develop checks `options=noOverwrite` on the **client's** own request URL
  (`${response.request.url}`) and a stub count; ours waits for the forwarded request and checks the
  option on what the **Context Source** received - the point of the test.

**Why it's a doubt:** each side asserts a different status / a different request for the same
paragraph. Needs the group's reading of 10.2.8.4 for an exclusive registration without the operation.

**Fix (our branch):** ours, with develop's tags (cf_04).


## 113. HttpCtrl: a GET stub without parameters and without an id never matches a forward with parameters

**Upstream (2026-10-07):** develop's matcher (dkastl's !8-!11 fixes, 0cb6b158..d9f208fa) returns False for it; ours adds the rule in the merge (52be3138) - MR group D2.

**Hit:** `D016_01_red` stubs the query-back as `GET /broker1/ngsi-ld/v1/entities` (no query). The broker
forwards `GET /broker1/ngsi-ld/v1/entities?type=Vehicle&id=...&sysAttrs=true`. Develop's
`__is_satisfy` handles a parameterless stub only when its path holds an id (`urn`); otherwise `False` -
the mock never answers, the broker times out, the query returns `[]`.

**Why it's wrong:** a broker may add optional parameters to a forward (sysAttrs, pick, ...); a stub
registered without parameters means "this path, whatever the query".

**Fix (our branch):** a GET stub without parameters and without an id matches the exact decoded path,
ignoring the request's query.


## 114. `D010_01_aux` — two forms, one per context data set

**Upstream (2026-10-07):** develop 4040f5e3 (expanded `brandName`, no context on the retrieve); ours
2cad72cc (short names, the suite context) - both follow the suite context now defining `isParked`.

**Hit:** after the merge, develop's form failed on our data files (`No value found for path $.isParked`).
Each form fits its own data files; only one should go forward.

**Fix (our branch):** ours (3aab8b3d), with develop's tag.