2022-11-03 21:01:22 +08:00
|
|
|
package kafka
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"testing"
|
|
|
|
|
"time"
|
|
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func TestBackoffFunc(t *testing.T) {
|
|
|
|
|
b := 250 * time.Millisecond
|
2024-08-31 03:23:51 +08:00
|
|
|
limit := 1100 * time.Millisecond
|
2022-11-03 21:01:22 +08:00
|
|
|
|
2024-08-31 03:23:51 +08:00
|
|
|
f := makeBackoffFunc(b, limit)
|
2022-11-03 21:01:22 +08:00
|
|
|
require.Equal(t, b, f(0, 0))
|
|
|
|
|
require.Equal(t, b*2, f(1, 0))
|
|
|
|
|
require.Equal(t, b*4, f(2, 0))
|
2024-08-31 03:23:51 +08:00
|
|
|
require.Equal(t, limit, f(3, 0)) // would be 2000 but that's greater than max
|
2022-11-03 21:01:22 +08:00
|
|
|
|
|
|
|
|
f = makeBackoffFunc(b, 0) // max = 0 means no max
|
|
|
|
|
require.Equal(t, b*8, f(3, 0)) // with no max, it's 2000
|
|
|
|
|
}
|