fix(06-12): fail closed on invalid limiter definitions
This commit is contained in:
@@ -389,3 +389,17 @@ func stackThrottle(lim *FixedWindowLimiter, next http.Handler, names ...string)
|
||||
}
|
||||
|
||||
var _ pact.Router = (*Router)(nil)
|
||||
|
||||
func TestRegisterBucketRejectsInvalidDefinitions(t *testing.T) {
|
||||
l := NewFixedWindowLimiter(NewMemoryStore(time.Minute), nil)
|
||||
key := func(*http.Request) string { return "k" }
|
||||
if err := l.RegisterBucket("p", "n", Bucket{Max: 1, Decay: 0, Key: key}); err == nil {
|
||||
t.Fatal("zero decay accepted")
|
||||
}
|
||||
if err := l.RegisterBucket("p", "n", Bucket{Max: 1, Decay: time.Minute}); err == nil {
|
||||
t.Fatal("nil key accepted")
|
||||
}
|
||||
if err := l.ValidateThrottle("1,9223372036854775807"); err == nil {
|
||||
t.Fatal("overflowing minutes accepted")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user