Loading testsuite-doubts.md +14 −15 Changes for testsuite-doubts.md: 14 added lines, 15 removed lines. Original line number Diff line number Diff line Loading @@ -494,21 +494,20 @@ LanguageProperty, the two fixtures disagree on the wire form: "previousLanguageMap": { fr: ..., nl: ... } } ``` Spec TS 104-175 § 10.5.7 only says "the value (or object) shall be set to `urn:ngsi-ld:null`". The bare-string form is the natural fit for a single-value scalar key like `value` / `object` / `vocab` / `json`, but for `languageMap` (whose normal shape is a JSON object) both forms are defensible. The fixtures should pick one and stick with it. **Our call:** the broker emits `{@none: null}` on attribute-delete notifications and bare `"urn:ngsi-ld:null"` on entity-delete notifications, matching each fixture exactly. Both are spec-allowed. **Fix wanted:** fixtures should agree (preferably both bare null, since other types use bare null and TS 104-175 § 10.5.7 reads more naturally that way). Once aligned, the broker's two code paths can be unified. **RESOLVED 2026-10-02 - the map form, and the spec is explicit.** TS 104-175 § 10.5.7 (Notification behaviour), on deleted Attributes: "...a JSON object with all the required information is provided, where the `value` or the `object` is set to the URI "urn:ngsi-ld:null" respectively or, in the case of a LanguageProperty, the `languageMap` is set to `{"@none":"urn:ngsi-ld:null"}`." An entity deletion with showChanges lists every attribute as deleted, so the same form applies. (This note first claimed the clause only said "set to urn:ngsi-ld:null" and leaned towards the bare string - it missed that sentence; corrected after geolonia/ngsi-ld-test-suite-patches#2 pointed it out.) **Fixed:** `entity-different-attributes-types-deleted-entity.json` (046_37) now expects `{"@none": "urn:ngsi-ld:null"}`; the broker sends the map on both paths (coraine: corNgsild#58). ## 16. `051_02_01`, `051_04_02/03`, `053_03_01` — missing resource imports Loading Loading
testsuite-doubts.md +14 −15 Changes for testsuite-doubts.md: 14 added lines, 15 removed lines. Original line number Diff line number Diff line Loading @@ -494,21 +494,20 @@ LanguageProperty, the two fixtures disagree on the wire form: "previousLanguageMap": { fr: ..., nl: ... } } ``` Spec TS 104-175 § 10.5.7 only says "the value (or object) shall be set to `urn:ngsi-ld:null`". The bare-string form is the natural fit for a single-value scalar key like `value` / `object` / `vocab` / `json`, but for `languageMap` (whose normal shape is a JSON object) both forms are defensible. The fixtures should pick one and stick with it. **Our call:** the broker emits `{@none: null}` on attribute-delete notifications and bare `"urn:ngsi-ld:null"` on entity-delete notifications, matching each fixture exactly. Both are spec-allowed. **Fix wanted:** fixtures should agree (preferably both bare null, since other types use bare null and TS 104-175 § 10.5.7 reads more naturally that way). Once aligned, the broker's two code paths can be unified. **RESOLVED 2026-10-02 - the map form, and the spec is explicit.** TS 104-175 § 10.5.7 (Notification behaviour), on deleted Attributes: "...a JSON object with all the required information is provided, where the `value` or the `object` is set to the URI "urn:ngsi-ld:null" respectively or, in the case of a LanguageProperty, the `languageMap` is set to `{"@none":"urn:ngsi-ld:null"}`." An entity deletion with showChanges lists every attribute as deleted, so the same form applies. (This note first claimed the clause only said "set to urn:ngsi-ld:null" and leaned towards the bare string - it missed that sentence; corrected after geolonia/ngsi-ld-test-suite-patches#2 pointed it out.) **Fixed:** `entity-different-attributes-types-deleted-entity.json` (046_37) now expects `{"@none": "urn:ngsi-ld:null"}`; the broker sends the map on both paths (coraine: corNgsild#58). ## 16. `051_02_01`, `051_04_02/03`, `053_03_01` — missing resource imports Loading