28 lines
911 B
Go
28 lines
911 B
Go
package processor
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestBackoff(t *testing.T) {
|
|
for i := 0; i < 10; i++ {
|
|
assert.Greater(t, FirstRetryMinWait*1*2+time.Second, nextRetryDuration(0))
|
|
assert.Less(t, FirstRetryMinWait*1-time.Second, nextRetryDuration(0))
|
|
|
|
assert.Greater(t, FirstRetryMinWait*2*2+time.Second, nextRetryDuration(1))
|
|
assert.Less(t, FirstRetryMinWait*2-time.Second, nextRetryDuration(1))
|
|
|
|
assert.Greater(t, FirstRetryMinWait*4*2+time.Second, nextRetryDuration(2))
|
|
assert.Less(t, FirstRetryMinWait*4-time.Second, nextRetryDuration(2))
|
|
|
|
assert.Greater(t, FirstRetryMinWait*8*2+time.Second, nextRetryDuration(3))
|
|
assert.Less(t, FirstRetryMinWait*8-time.Second, nextRetryDuration(3))
|
|
|
|
assert.Greater(t, FirstRetryMinWait*1024*2+time.Second, nextRetryDuration(10))
|
|
assert.Less(t, FirstRetryMinWait*1024-time.Second, nextRetryDuration(10))
|
|
}
|
|
}
|