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)
	}
}