~ubuntu-branches/debian/stretch/golang-github-aws-aws-sdk-go/stretch

« back to all changes in this revision

Viewing changes to internal/test/perf/protocol/ec2query_build_test.go

  • Committer: Package Import Robot
  • Author(s): Dmitry Smirnov
  • Date: 2015-09-29 12:34:07 UTC
  • Revision ID: package-import@ubuntu.com-20150929123407-7xmll3gdhvb9zh2l
Tags: upstream-0.9.9+dfsg
ImportĀ upstreamĀ versionĀ 0.9.9+dfsg

Show diffs side-by-side

added added

removed removed

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