rclone/vendor/github.com/aws/aws-sdk-go/service/ec2/retryer_test.go
2018-03-19 15:51:38 +00:00

38 lines
1.1 KiB
Go

package ec2
import (
"testing"
"time"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/client"
"github.com/aws/aws-sdk-go/awstesting/unit"
)
func TestCustomRetryer(t *testing.T) {
svc := New(unit.Session, &aws.Config{Region: aws.String("us-west-2")})
if _, ok := svc.Client.Retryer.(retryer); !ok {
t.Error("expected custom retryer, but received otherwise")
}
req, _ := svc.ModifyNetworkInterfaceAttributeRequest(&ModifyNetworkInterfaceAttributeInput{
NetworkInterfaceId: aws.String("foo"),
})
duration := svc.Client.Retryer.RetryRules(req)
if duration < time.Second*1 || duration > time.Second*2 {
t.Errorf("expected duration to be between 1 and 2, but received %v", duration)
}
req.RetryCount = 15
duration = svc.Client.Retryer.RetryRules(req)
if duration < time.Second*5 || duration > time.Second*10 {
t.Errorf("expected duration to be between 1 and 2, but received %v", duration)
}
svc = New(unit.Session, &aws.Config{Region: aws.String("us-west-2"), Retryer: client.DefaultRetryer{}})
if _, ok := svc.Client.Retryer.(client.DefaultRetryer); !ok {
t.Error("expected default retryer, but received otherwise")
}
}