27 lines
461 B
Go
27 lines
461 B
Go
package client
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
)
|
|
|
|
func TestRetryFunc(t *testing.T) {
|
|
err := retryFunc(1, func() error { return nil })
|
|
if err != nil {
|
|
t.Errorf("should not return an error: %s", err)
|
|
}
|
|
|
|
i := 0
|
|
fn := func() error {
|
|
i++
|
|
return fmt.Errorf("oh no, something went wrong!")
|
|
}
|
|
err = retryFunc(2, fn)
|
|
if err == nil {
|
|
t.Error("should return an error")
|
|
}
|
|
if i != 2 {
|
|
t.Errorf("The function should have been called 1 times, got %d", i)
|
|
}
|
|
}
|