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  }