| 123456789101112131415161718192021222324 |
- package repository
- import (
- "context"
- "testing"
- "time"
- "github.com/stretchr/testify/require"
- )
- func TestLatestReviewLoweredRPMReturnsEarliestActualAdmission(t *testing.T) {
- server,cache,plan:=trafficFixture(t);ctx:=context.Background()
- start:=time.Date(2026,9,14,12,0,0,0,time.UTC)
- for i:=0;i<3;i++ { server.SetTime(start.Add(time.Duration(i)*10*time.Second));a,err:=cache.Acquire(ctx,plan,string(rune('a'+i)));require.NoError(t,err);require.True(t,a.Allowed) }
- server.SetTime(start.Add(30*time.Second));plan.Revision=2;plan.Signature="lowered";plan.Policy.RPM=1;plan.Policy.Burst=1
- require.NoError(t,cache.Sync(ctx,plan));denied,err:=cache.Acquire(ctx,plan,"blocked");require.NoError(t,err);require.False(t,denied.Allowed)
- require.Equal(t,50*time.Second,denied.RetryAfter,"all three old requests must age out before the new cap of 1 permits another request")
- }
- func TestLatestReviewObserveStalePlanRejectionIsReal(t *testing.T) {
- _,cache,old:=trafficFixture(t);ctx:=context.Background();old.Policy.StrictRPMEnabled=false;old.Policy.AdaptiveEnabled=true
- next:=old;next.Revision=2;next.Signature="new-observe-threshold";next.Policy.FailureThreshold=5
- require.NoError(t,cache.Sync(ctx,next));result,err:=cache.Acquire(ctx,old,"old-ws-turn");require.NoError(t,err)
- require.True(t,result.Allowed,"editing an observation threshold should not stop an existing observation-only session")
- }
|