+25
−0
Loading
Per testsuite-doubts.md #9: each test's `Create Temporal Entity` setup only did `POST /temporal/entities`; the body's `DELETE /entities/{id}/attrs/{name}` then 404'd because the entity had no current-state representation. No `deletedAt` tombstone was written, so the temporal-evolution assertion failed for the entire 020_17..020_20 cluster (8 test cases). Changes: - Two new minimal current-state fixtures matching the temporal payloads: - `data/entities/vehicle-different-attribute-types.jsonld` for the fuelLevel/isParkedIn/name family (020_17, 020_18). - `data/entities/vehicle-with-scope.jsonld` for the scope family (020_19, 020_20). - In all four `Create Temporal Entity` setups: prepend a `Create Entity` call with the matching fixture, asserting 201 on creation. Document inline why the pair is necessary (spec § 10.2.7 vs § 11.2.2). - The subsequent `POST /temporal/entities` is now valid to return 201 (created) *or* 204 (appended to existing) per TS 104-175 § 11.2.2.5, so the strict 201 check is relaxed to a `Should Be True ... in ["201", "204"]`. Result: 020_17_01 (Property) and 020_18_01 (Property + temporalValues) pass. The four non-Property cases (Relationship/LanguageProperty/Scope) still fail, but on a *different* root cause now surfaced — a broker bug where the deletedAt tombstone collapses all attribute kinds into `Property` with `urn:ngsi-ld:null`, losing the original kind. That broker fix belongs in its own MR; tracked separately in the doubts file.