github.com/aavshr/aws-sdk-go@v1.41.3/aws/client/no_op_retryer_test.go (about) 1 package client 2 3 import ( 4 "net/http" 5 "testing" 6 "time" 7 8 "github.com/aavshr/aws-sdk-go/aws/request" 9 ) 10 11 func TestNoOpRetryer(t *testing.T) { 12 cases := []struct { 13 r request.Request 14 expectMaxRetries int 15 expectRetryDelay time.Duration 16 expectRetry bool 17 }{ 18 { 19 r: request.Request{ 20 HTTPResponse: &http.Response{StatusCode: 200}, 21 }, 22 expectMaxRetries: 0, 23 expectRetryDelay: 0, 24 expectRetry: false, 25 }, 26 } 27 28 d := NoOpRetryer{} 29 for i, c := range cases { 30 maxRetries := d.MaxRetries() 31 retry := d.ShouldRetry(&c.r) 32 retryDelay := d.RetryRules(&c.r) 33 34 if e, a := c.expectMaxRetries, maxRetries; e != a { 35 t.Errorf("%d: expected %v, but received %v for number of max retries", i, e, a) 36 } 37 38 if e, a := c.expectRetry, retry; e != a { 39 t.Errorf("%d: expected %v, but received %v for should retry", i, e, a) 40 } 41 42 if e, a := c.expectRetryDelay, retryDelay; e != a { 43 t.Errorf("%d: expected %v, but received %v as retry delay", i, e, a) 44 } 45 } 46 }