From beabd053961047f170e87e1110f2636dbd50f5fb Mon Sep 17 00:00:00 2001 From: owner Date: Sat, 12 Sep 2026 15:29:18 +0800 Subject: [PATCH] test(governed): align reopen fake CAS with expected_revision contract (V2R2C2 hot-fix) --- tests/test_release_approval_reopen.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/test_release_approval_reopen.py b/tests/test_release_approval_reopen.py index edeaf43..ccd873e 100644 --- a/tests/test_release_approval_reopen.py +++ b/tests/test_release_approval_reopen.py @@ -15,9 +15,10 @@ NOW=datetime(2026,9,12,3,10,tzinfo=timezone.utc) class Sagas: def __init__(self, root): self.root=root - def compare_and_set(self, candidate_id, *, expected_states, target, event, details): + def compare_and_set(self, candidate_id, *, expected_states, target, event, details, expected_revision): p=self.root/"sagas"/f"{candidate_id}.json"; x=json.loads(p.read_text()) if x["state"] not in expected_states: raise RuntimeError("CAS") + if int(x.get("revision",0)) != expected_revision: raise RuntimeError("SagaConflict") x["state"]=target; x["revision"]=int(x.get("revision",0))+1 x.setdefault("events",[]).append({"event":event,"details":details,"timestamp":"2026-09-12T03:10:00Z"}) p.write_text(json.dumps(x,sort_keys=True)); return x