package pipeline import ( "testing" "time" ) func TestClampRevisionRetentionMinutes(t *testing.T) { if got := ClampRevisionRetentionMinutes(0); got != int(RevisionDefaultTTL/time.Minute) { t.Fatalf("default: got %d", got) } if got := ClampRevisionRetentionMinutes(5); got != RevisionMinTTLMin { t.Fatalf("min clamp: got %d", got) } if got := ClampRevisionRetentionMinutes(999999); got != RevisionMaxTTLMin { t.Fatalf("max clamp: got %d", got) } if got := ClampRevisionRetentionMinutes(120); got != 120 { t.Fatalf("unchanged: got %d", got) } } func TestRevisionCutoffFromMinutes(t *testing.T) { before := time.Now().UTC() cutoff := RevisionCutoffFromMinutes(60) after := time.Now().UTC().Add(-59 * time.Minute) if cutoff.After(before.Add(-59*time.Minute)) || cutoff.Before(after.Add(-2*time.Minute)) { t.Fatalf("cutoff out of range: %v", cutoff) } }