console: a window expiry after a cut is refused whatever deadline the worker read
Pins SetSelfServeExpiry's cut predicate on its own: the cut zeroes window_deadline, so the old-deadline case alone could not tell it apart.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
1 file changed,
+5
−0
internal/console/selfserve_store_test.go+5 −0
diff --git a/internal/console/selfserve_store_test.go b/internal/console/selfserve_store_test.go| index 218b67134..a67c60684 100644 |
| --- a/internal/console/selfserve_store_test.go |
| +++ b/internal/console/selfserve_store_test.go |
| @@ -544,6 +544,11 @@ func TestSelfServeCutAndExpiryPredicates(t *testing.T) { |
| if ok, err := st.SetSelfServeExpiry(ssID, "ready", "window", window, true); err != nil || ok { |
| t.Fatalf("the obsolete window expiry = %v, %v; want refused", ok, err) |
| } |
| + // No window expiry is recorded after a cut, whatever deadline the |
| + // worker read (the cut retired it to zero). |
| + if ok, err := st.SetSelfServeExpiry(ssID, "ready", "window", time.Time{}, true); err != nil || ok { |
| + t.Fatalf("a window expiry after the cut = %v, %v; want refused", ok, err) |
| + } |
| // The copy's step expiry after the cut is accepted. |
| if ok, err := st.SetSelfServeExpiry(ssID, "ready", "step", copyDeadline, true); err != nil || !ok { |
| t.Fatalf("the copy's step expiry = %v, %v", ok, err) |