feat: add ranked season rollover policy

This commit is contained in:
Josh Creek
2026-08-31 20:29:11 +01:00
parent 1793eb7621
commit cc2cd80a01
16 changed files with 688 additions and 249 deletions
+4 -4
View File
@@ -6,7 +6,7 @@ import (
)
func TestApplyIsAtomicOnIllegalTransitionAndStaleRevision(t *testing.T) {
r := NewRecord(QueueTicket, "ticket_1234567890123456", Queued)
r := NewRecord(ResourceQueueTicket, "ticket_1234567890123456", Queued)
if _, err := r.Apply("k1", []byte(`{"state":"LIVE"}`), 0, Live); !errors.Is(err, ErrIllegalTransition) {
t.Fatalf("illegal transition error = %v", err)
}
@@ -22,7 +22,7 @@ func TestApplyIsAtomicOnIllegalTransitionAndStaleRevision(t *testing.T) {
}
func TestApplyReplaysIdenticalIdempotencyWithoutNewRevision(t *testing.T) {
r := NewRecord(QueueTicket, "ticket_1234567890123456", Queued)
r := NewRecord(ResourceQueueTicket, "ticket_1234567890123456", Queued)
payload := []byte(`{"state":"PROPOSED"}`)
first, err := r.Apply("same-key-123456", payload, 0, Proposed)
if err != nil {
@@ -38,7 +38,7 @@ func TestApplyReplaysIdenticalIdempotencyWithoutNewRevision(t *testing.T) {
}
func TestApplyRejectsIdempotencyKeyPayloadConfusion(t *testing.T) {
r := NewRecord(QueueTicket, "ticket_1234567890123456", Queued)
r := NewRecord(ResourceQueueTicket, "ticket_1234567890123456", Queued)
if _, err := r.Apply("same-key-123456", []byte("a"), 0, Proposed); err != nil {
t.Fatal(err)
}
@@ -52,7 +52,7 @@ func TestApplyRejectsIdempotencyKeyPayloadConfusion(t *testing.T) {
func TestTerminalStatesCannotAdvance(t *testing.T) {
for _, state := range []State{Completed, Cancelled, Expired, Failed} {
r := NewRecord(QueueTicket, "ticket_1234567890123456", state)
r := NewRecord(ResourceQueueTicket, "ticket_1234567890123456", state)
if _, err := r.Apply("terminal-key-123", []byte("x"), 0, Live); !errors.Is(err, ErrIllegalTransition) {
t.Fatalf("%s transition error = %v", state, err)
}