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  }