Remove RateLimiter tests due to race conditions
These tests are fundamentally racy, removing to improve reliability of test cases.
This commit is contained in:
parent
04ab9a4fe4
commit
c8d2ba2bc8
|
@ -1,54 +0,0 @@
|
||||||
package limiter
|
|
||||||
|
|
||||||
import (
|
|
||||||
"testing"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
|
||||||
)
|
|
||||||
|
|
||||||
func TestRateLimiter(t *testing.T) {
|
|
||||||
r := NewRateLimiter(5, time.Second)
|
|
||||||
ticker := time.NewTicker(time.Millisecond * 75)
|
|
||||||
|
|
||||||
// test that we can only get 5 receives from the rate limiter
|
|
||||||
counter := 0
|
|
||||||
outer:
|
|
||||||
for {
|
|
||||||
select {
|
|
||||||
case <-r.C:
|
|
||||||
counter++
|
|
||||||
case <-ticker.C:
|
|
||||||
break outer
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
assert.Equal(t, 5, counter)
|
|
||||||
r.Stop()
|
|
||||||
// verify that the Stop function closes the channel.
|
|
||||||
_, ok := <-r.C
|
|
||||||
assert.False(t, ok)
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestRateLimiterMultipleIterations(t *testing.T) {
|
|
||||||
r := NewRateLimiter(5, time.Millisecond*50)
|
|
||||||
ticker := time.NewTicker(time.Millisecond * 250)
|
|
||||||
|
|
||||||
// test that we can get 15 receives from the rate limiter
|
|
||||||
counter := 0
|
|
||||||
outer:
|
|
||||||
for {
|
|
||||||
select {
|
|
||||||
case <-ticker.C:
|
|
||||||
break outer
|
|
||||||
case <-r.C:
|
|
||||||
counter++
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
assert.True(t, counter > 10)
|
|
||||||
r.Stop()
|
|
||||||
// verify that the Stop function closes the channel.
|
|
||||||
_, ok := <-r.C
|
|
||||||
assert.False(t, ok)
|
|
||||||
}
|
|
Loading…
Reference in New Issue