github.com/aavshr/aws-sdk-go@v1.41.3/private/protocol/ec2query/build_bench_test.go (about) 1 //go:build bench 2 // +build bench 3 4 package ec2query_test 5 6 import ( 7 "testing" 8 9 "github.com/aavshr/aws-sdk-go/aws" 10 "github.com/aavshr/aws-sdk-go/aws/request" 11 "github.com/aavshr/aws-sdk-go/awstesting" 12 "github.com/aavshr/aws-sdk-go/private/protocol/ec2query" 13 "github.com/aavshr/aws-sdk-go/service/ec2" 14 ) 15 16 func BenchmarkEC2QueryBuild_Complex_ec2AuthorizeSecurityGroupEgress(b *testing.B) { 17 params := &ec2.AuthorizeSecurityGroupEgressInput{ 18 GroupId: aws.String("String"), // Required 19 CidrIp: aws.String("String"), 20 DryRun: aws.Bool(true), 21 FromPort: aws.Int64(1), 22 IpPermissions: []*ec2.IpPermission{ 23 { // Required 24 FromPort: aws.Int64(1), 25 IpProtocol: aws.String("String"), 26 IpRanges: []*ec2.IpRange{ 27 { // Required 28 CidrIp: aws.String("String"), 29 }, 30 // More values... 31 }, 32 PrefixListIds: []*ec2.PrefixListId{ 33 { // Required 34 PrefixListId: aws.String("String"), 35 }, 36 // More values... 37 }, 38 ToPort: aws.Int64(1), 39 UserIdGroupPairs: []*ec2.UserIdGroupPair{ 40 { // Required 41 GroupId: aws.String("String"), 42 GroupName: aws.String("String"), 43 UserId: aws.String("String"), 44 }, 45 // More values... 46 }, 47 }, 48 // More values... 49 }, 50 IpProtocol: aws.String("String"), 51 SourceSecurityGroupName: aws.String("String"), 52 SourceSecurityGroupOwnerId: aws.String("String"), 53 ToPort: aws.Int64(1), 54 } 55 56 benchEC2QueryBuild(b, "AuthorizeSecurityGroupEgress", params) 57 } 58 59 func BenchmarkEC2QueryBuild_Simple_ec2AttachNetworkInterface(b *testing.B) { 60 params := &ec2.AttachNetworkInterfaceInput{ 61 DeviceIndex: aws.Int64(1), // Required 62 InstanceId: aws.String("String"), // Required 63 NetworkInterfaceId: aws.String("String"), // Required 64 DryRun: aws.Bool(true), 65 } 66 67 benchEC2QueryBuild(b, "AttachNetworkInterface", params) 68 } 69 70 func benchEC2QueryBuild(b *testing.B, opName string, params interface{}) { 71 svc := awstesting.NewClient() 72 svc.ServiceName = "ec2" 73 svc.APIVersion = "2015-04-15" 74 75 for i := 0; i < b.N; i++ { 76 r := svc.NewRequest(&request.Operation{ 77 Name: opName, 78 HTTPMethod: "POST", 79 HTTPPath: "/", 80 }, params, nil) 81 ec2query.Build(r) 82 if r.Error != nil { 83 b.Fatal("Unexpected error", r.Error) 84 } 85 } 86 }