Loading TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_17.robot +4 −0 Original line number Diff line number Diff line Loading @@ -73,4 +73,8 @@ Create Temporal Entity Set Suite Variable ${temporal_entity_representation_id} Delete Initial Temporal Entity # The setup mirrors the temporal entity on the current-state side (see # testsuite-doubts.md #9) — remove that twin too, or it pollutes every # later type=Vehicle query (exact-set assertions in the dist-ops tests). Delete Entity ${temporal_entity_representation_id} Delete Temporal Representation Of Entity ${temporal_entity_representation_id} TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_18.robot +4 −0 Original line number Diff line number Diff line Loading @@ -76,4 +76,8 @@ Create Temporal Entity Set Suite Variable ${temporal_entity_representation_id} Delete Initial Temporal Entity # The setup mirrors the temporal entity on the current-state side (see # testsuite-doubts.md #9) — remove that twin too, or it pollutes every # later type=Vehicle query (exact-set assertions in the dist-ops tests). Delete Entity ${temporal_entity_representation_id} Delete Temporal Representation Of Entity ${temporal_entity_representation_id} TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_19.robot +4 −0 Original line number Diff line number Diff line Loading @@ -67,4 +67,8 @@ Create Temporal Entity Set Suite Variable ${temporal_entity_representation_id} Delete Initial Temporal Entity # The setup mirrors the temporal entity on the current-state side (see # testsuite-doubts.md #9) — remove that twin too, or it pollutes every # later type=Vehicle query (exact-set assertions in the dist-ops tests). Delete Entity ${temporal_entity_representation_id} Delete Temporal Representation Of Entity ${temporal_entity_representation_id} TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_20.robot +4 −0 Original line number Diff line number Diff line Loading @@ -68,4 +68,8 @@ Create Temporal Entity Set Suite Variable ${temporal_entity_representation_id} Delete Initial Temporal Entity # The setup mirrors the temporal entity on the current-state side (see # testsuite-doubts.md #9) — remove that twin too, or it pollutes every # later type=Vehicle query (exact-set assertions in the dist-ops tests). Delete Entity ${temporal_entity_representation_id} Delete Temporal Representation Of Entity ${temporal_entity_representation_id} testsuite-doubts.md +25 −0 Original line number Diff line number Diff line Loading @@ -3211,3 +3211,28 @@ any broker that correctly returns B fails the comparison. **Fix:** dedicated expectation `vehicles-temporal-representation-021-25.jsonld` containing both entities (A's instances as in the 021-06 file + B's instances straight from the 2020-09 payload), and 021_25.robot pointed at it. ## 93. `020_17`–`020_20` teardown leaks the current-state twin — 12 dist-ops tests fail by contamination **Hit (full-suite runs only):** all nine `D011_*` query tests plus `D001_01_inc` / `D001_02_inc` / `D001_03_03_inc` fail with `Lengths are different: 1 != 9` (or downstream variants: `KeyError: 'brandName'`, `No value found for path $.speed`). In isolation they all pass. **Analysis:** the [[#9]] setup fix paired each `020_17`–`020_20` temporal test's `POST /temporal/entities` with a current-state `Create Entity` (so the `DELETE /entities/{id}/attrs/{name}` under test has a target). But `Delete Initial Temporal Entity` tears down only the temporal representation — the current-state twin survives. Eight Vehicles (one per test case across the four suites) accumulate in the broker and surface in every later unpinned `type=Vehicle` query; the dist-ops tests assert an exact URI set against the mock's single entity, so they see 9 where they expect 1. Verified by tracing each leaked entity id in the robot `output.xml` back to its creating test: 020_17_01..03, 020_18_01..03, 020_19_01, 020_20_01. **Fix:** teardown deletes the current-state entity too — `Delete Entity` before `Delete Temporal Representation Of Entity` (that order also purges the deletion's own tombstone rows from the temporal store). Loading
TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_17.robot +4 −0 Original line number Diff line number Diff line Loading @@ -73,4 +73,8 @@ Create Temporal Entity Set Suite Variable ${temporal_entity_representation_id} Delete Initial Temporal Entity # The setup mirrors the temporal entity on the current-state side (see # testsuite-doubts.md #9) — remove that twin too, or it pollutes every # later type=Vehicle query (exact-set assertions in the dist-ops tests). Delete Entity ${temporal_entity_representation_id} Delete Temporal Representation Of Entity ${temporal_entity_representation_id}
TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_18.robot +4 −0 Original line number Diff line number Diff line Loading @@ -76,4 +76,8 @@ Create Temporal Entity Set Suite Variable ${temporal_entity_representation_id} Delete Initial Temporal Entity # The setup mirrors the temporal entity on the current-state side (see # testsuite-doubts.md #9) — remove that twin too, or it pollutes every # later type=Vehicle query (exact-set assertions in the dist-ops tests). Delete Entity ${temporal_entity_representation_id} Delete Temporal Representation Of Entity ${temporal_entity_representation_id}
TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_19.robot +4 −0 Original line number Diff line number Diff line Loading @@ -67,4 +67,8 @@ Create Temporal Entity Set Suite Variable ${temporal_entity_representation_id} Delete Initial Temporal Entity # The setup mirrors the temporal entity on the current-state side (see # testsuite-doubts.md #9) — remove that twin too, or it pollutes every # later type=Vehicle query (exact-set assertions in the dist-ops tests). Delete Entity ${temporal_entity_representation_id} Delete Temporal Representation Of Entity ${temporal_entity_representation_id}
TP/NGSI-LD/ContextInformation/Consumption/TemporalEntity/RetrieveTemporalEvolutionOfEntity/020_20.robot +4 −0 Original line number Diff line number Diff line Loading @@ -68,4 +68,8 @@ Create Temporal Entity Set Suite Variable ${temporal_entity_representation_id} Delete Initial Temporal Entity # The setup mirrors the temporal entity on the current-state side (see # testsuite-doubts.md #9) — remove that twin too, or it pollutes every # later type=Vehicle query (exact-set assertions in the dist-ops tests). Delete Entity ${temporal_entity_representation_id} Delete Temporal Representation Of Entity ${temporal_entity_representation_id}
testsuite-doubts.md +25 −0 Original line number Diff line number Diff line Loading @@ -3211,3 +3211,28 @@ any broker that correctly returns B fails the comparison. **Fix:** dedicated expectation `vehicles-temporal-representation-021-25.jsonld` containing both entities (A's instances as in the 021-06 file + B's instances straight from the 2020-09 payload), and 021_25.robot pointed at it. ## 93. `020_17`–`020_20` teardown leaks the current-state twin — 12 dist-ops tests fail by contamination **Hit (full-suite runs only):** all nine `D011_*` query tests plus `D001_01_inc` / `D001_02_inc` / `D001_03_03_inc` fail with `Lengths are different: 1 != 9` (or downstream variants: `KeyError: 'brandName'`, `No value found for path $.speed`). In isolation they all pass. **Analysis:** the [[#9]] setup fix paired each `020_17`–`020_20` temporal test's `POST /temporal/entities` with a current-state `Create Entity` (so the `DELETE /entities/{id}/attrs/{name}` under test has a target). But `Delete Initial Temporal Entity` tears down only the temporal representation — the current-state twin survives. Eight Vehicles (one per test case across the four suites) accumulate in the broker and surface in every later unpinned `type=Vehicle` query; the dist-ops tests assert an exact URI set against the mock's single entity, so they see 9 where they expect 1. Verified by tracing each leaked entity id in the robot `output.xml` back to its creating test: 020_17_01..03, 020_18_01..03, 020_19_01, 020_20_01. **Fix:** teardown deletes the current-state entity too — `Delete Entity` before `Delete Temporal Representation Of Entity` (that order also purges the deletion's own tombstone rows from the temporal store).