package ratelimit import "testing" func TestRedisWindowLimitsHonorBurst(t *testing.T) { sec, minute, effective := redisWindowLimits(Rate{ RequestsPerSecond: 1, RequestsPerMinute: 60, Burst: 30, }) if sec != 30 || minute != 60 || effective != 30 { t.Fatalf("limits = (%d, %d, %d), want (30, 60, 30)", sec, minute, effective) } } func TestRedisWindowLimitsKeepMinuteOnlyRatesUsable(t *testing.T) { sec, minute, _ := redisWindowLimits(Rate{ RequestsPerSecond: 10.0 / 60.0, RequestsPerMinute: 10, Burst: 6, }) if sec != 6 || minute != 10 { t.Fatalf("limits = (%d, %d), want burst 6 and minute 10", sec, minute) } }