1// +build integration 2 3package route53 4 5import ( 6 "context" 7 "errors" 8 "testing" 9 "time" 10 11 "github.com/aws/aws-sdk-go-v2/aws" 12 "github.com/aws/aws-sdk-go-v2/service/internal/integrationtest" 13 "github.com/aws/aws-sdk-go-v2/service/route53" 14 "github.com/aws/smithy-go" 15) 16 17func TestInteg_00_ListHostedZones(t *testing.T) { 18 ctx, cancelFn := context.WithTimeout(context.Background(), 5*time.Second) 19 defer cancelFn() 20 21 cfg, err := integrationtest.LoadConfigWithDefaultRegion("us-east-1") 22 if err != nil { 23 t.Fatalf("failed to load config, %v", err) 24 } 25 26 client := route53.NewFromConfig(cfg) 27 params := &route53.ListHostedZonesInput{} 28 _, err = client.ListHostedZones(ctx, params) 29 if err != nil { 30 t.Errorf("expect no error, got %v", err) 31 } 32} 33 34func TestInteg_01_GetHostedZone(t *testing.T) { 35 ctx, cancelFn := context.WithTimeout(context.Background(), 5*time.Second) 36 defer cancelFn() 37 38 cfg, err := integrationtest.LoadConfigWithDefaultRegion("us-east-1") 39 if err != nil { 40 t.Fatalf("failed to load config, %v", err) 41 } 42 43 client := route53.NewFromConfig(cfg) 44 params := &route53.GetHostedZoneInput{ 45 Id: aws.String("fake-zone"), 46 } 47 _, err = client.GetHostedZone(ctx, params) 48 if err == nil { 49 t.Fatalf("expect request to fail") 50 } 51 52 var apiErr smithy.APIError 53 if !errors.As(err, &apiErr) { 54 t.Fatalf("expect error to be API error, was not, %v", err) 55 } 56 if len(apiErr.ErrorCode()) == 0 { 57 t.Errorf("expect non-empty error code") 58 } 59 if len(apiErr.ErrorMessage()) == 0 { 60 t.Errorf("expect non-empty error message") 61 } 62} 63