X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/bdeca9098f356a4b2b088a3cf4c9276bb6cd5bdb..b4a0205b95c4ba9cf2c9aba4314ddd6867edc158:/lib/cloud/ec2/ec2_test.go?ds=sidebyside diff --git a/lib/cloud/ec2/ec2_test.go b/lib/cloud/ec2/ec2_test.go index 6aa6e857ff..3cd238ded5 100644 --- a/lib/cloud/ec2/ec2_test.go +++ b/lib/cloud/ec2/ec2_test.go @@ -25,6 +25,7 @@ package ec2 import ( "encoding/json" "flag" + "sync/atomic" "testing" "git.arvados.org/arvados.git/lib/cloud" @@ -32,6 +33,7 @@ import ( "git.arvados.org/arvados.git/sdk/go/arvados" "git.arvados.org/arvados.git/sdk/go/config" "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/service/ec2" "github.com/sirupsen/logrus" check "gopkg.in/check.v1" @@ -245,3 +247,15 @@ func (*EC2InstanceSetSuite) TestDestroyInstances(c *check.C) { c.Check(i.Destroy(), check.IsNil) } } + +func (*EC2InstanceSetSuite) TestWrapError(c *check.C) { + retryError := awserr.New("Throttling", "", nil) + wrapped := wrapError(retryError, &atomic.Value{}) + _, ok := wrapped.(cloud.RateLimitError) + c.Check(ok, check.Equals, true) + + quotaError := awserr.New("InsufficientInstanceCapacity", "", nil) + wrapped = wrapError(quotaError, nil) + _, ok = wrapped.(cloud.QuotaError) + c.Check(ok, check.Equals, true) +}