Switch token bucket rate limiter to github.com/juju/ratelimit

This commit is contained in:
Jordan Liggitt
2015-06-30 09:59:37 -04:00
parent 800303c843
commit f265d5c5ee
2 changed files with 13 additions and 81 deletions

View File

@@ -22,8 +22,7 @@ import (
)
func TestBasicThrottle(t *testing.T) {
ticker := make(chan time.Time, 1)
r := newTokenBucketRateLimiterFromTicker(ticker, 3)
r := NewTokenBucketRateLimiter(1, 3)
for i := 0; i < 3; i++ {
if !r.CanAccept() {
t.Error("unexpected false accept")
@@ -35,32 +34,22 @@ func TestBasicThrottle(t *testing.T) {
}
func TestIncrementThrottle(t *testing.T) {
ticker := make(chan time.Time, 1)
r := newTokenBucketRateLimiterFromTicker(ticker, 1)
r := NewTokenBucketRateLimiter(1, 1)
if !r.CanAccept() {
t.Error("unexpected false accept")
}
if r.CanAccept() {
t.Error("unexpected true accept")
}
ticker <- time.Now()
r.step()
// Allow to refill
time.Sleep(2 * time.Second)
if !r.CanAccept() {
t.Error("unexpected false accept")
}
}
func TestOverBurst(t *testing.T) {
ticker := make(chan time.Time, 1)
r := newTokenBucketRateLimiterFromTicker(ticker, 3)
for i := 0; i < 4; i++ {
ticker <- time.Now()
r.step()
}
}
func TestThrottle(t *testing.T) {
r := NewTokenBucketRateLimiter(10, 5)