fix: preserve assignment event revisions

This commit is contained in:
Josh Creek
2026-09-01 08:13:35 +01:00
parent 23134796ee
commit 0cdb60c0d9
4 changed files with 27 additions and 2 deletions
+16
View File
@@ -983,3 +983,19 @@ func TestAssignmentRecoveryIsPlayerScopedAndRejectsExpiredOrMismatchedViews(t *t
t.Fatalf("expired assignment status=%d", status)
}
}
func TestAssignmentEventUsesAuthoritativeRevisionWithoutChangingResponseShape(t *testing.T) {
now := time.Unix(1000, 0).UTC()
view := AssignmentView{MatchID: "match-1", ServerID: "server-1", PlayerID: "player-a", Revision: 7}
event := assignmentChangedEvent(view, now)
if event.Revision != 7 || event.ResourceID != "match-1" || event.PlayerID != "player-a" {
t.Fatalf("assignment event = %+v", event)
}
payload, err := json.Marshal(view)
if err != nil {
t.Fatal(err)
}
if strings.Contains(string(payload), "revision") {
t.Fatalf("assignment response leaked event revision: %s", payload)
}
}