1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
package retry
import (
"testing"
"github.com/aws/aws-sdk-go-v2/aws"
)
var _ aws.RetryerV2 = (*withIsErrorRetryable)(nil)
var _ aws.RetryerV2 = (*withMaxAttempts)(nil)
var _ aws.RetryerV2 = (*withMaxBackoffDelay)(nil)
func TestAddWithErrorCodes(t *testing.T) {
cases := map[string]struct {
Err error
Expect bool
}{
"retryable": {
Err: &mockErrorCodeError{code: "Error1"},
Expect: true,
},
"not retryable": {
Err: &mockErrorCodeError{code: "Error3"},
Expect: false,
},
}
r := AddWithErrorCodes(aws.NopRetryer{}, "Error1", "Error2")
for name, c := range cases {
t.Run(name, func(t *testing.T) {
if e, a := c.Expect, r.IsErrorRetryable(c.Err); e != a {
t.Errorf("expect %v, got %v", e, a)
}
})
}
}
|