mirror of
https://github.com/rclone/rclone.git
synced 2024-12-03 13:55:34 +01:00
38 lines
1.1 KiB
Go
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")
|
|
}
|
|
}
|