Commit 9cacfa7d authored by kzangeli's avatar kzangeli
Browse files

Merge branch 'fix/020-current-state-teardown' into integration/all-fixes

# Conflicts:
#	testsuite-doubts.md
parents f2661bf0 94789a66
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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}
+4 −0
Original line number Diff line number Diff line
@@ -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}
+4 −0
Original line number Diff line number Diff line
@@ -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}
+4 −0
Original line number Diff line number Diff line
@@ -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}
+25 −0
Original line number Diff line number Diff line
@@ -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).