| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967 |
- package jsonrpc_test
- import (
- "bytes"
- "encoding/json"
- "encoding/xml"
- "fmt"
- "io"
- "io/ioutil"
- "net/http"
- "net/url"
- "testing"
- "time"
- "github.com/aws/aws-sdk-go/aws"
- "github.com/aws/aws-sdk-go/aws/client"
- "github.com/aws/aws-sdk-go/aws/client/metadata"
- "github.com/aws/aws-sdk-go/aws/request"
- "github.com/aws/aws-sdk-go/aws/signer/v4"
- "github.com/aws/aws-sdk-go/awstesting"
- "github.com/aws/aws-sdk-go/awstesting/unit"
- "github.com/aws/aws-sdk-go/private/protocol"
- "github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
- "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil"
- "github.com/aws/aws-sdk-go/private/util"
- "github.com/stretchr/testify/assert"
- )
- var _ bytes.Buffer // always import bytes
- var _ http.Request
- var _ json.Marshaler
- var _ time.Time
- var _ xmlutil.XMLNode
- var _ xml.Attr
- var _ = ioutil.Discard
- var _ = util.Trim("")
- var _ = url.Values{}
- var _ = io.EOF
- var _ = aws.String
- var _ = fmt.Println
- func init() {
- protocol.RandReader = &awstesting.ZeroReader{}
- }
- //The service client's operations are safe to be used concurrently.
- // It is not safe to mutate any of the client's properties though.
- type OutputService1ProtocolTest struct {
- *client.Client
- }
- // New creates a new instance of the OutputService1ProtocolTest client with a session.
- // If additional configuration is needed for the client instance use the optional
- // aws.Config parameter to add your extra config.
- //
- // Example:
- // // Create a OutputService1ProtocolTest client from just a session.
- // svc := outputservice1protocoltest.New(mySession)
- //
- // // Create a OutputService1ProtocolTest client with additional configuration
- // svc := outputservice1protocoltest.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
- func NewOutputService1ProtocolTest(p client.ConfigProvider, cfgs ...*aws.Config) *OutputService1ProtocolTest {
- c := p.ClientConfig("outputservice1protocoltest", cfgs...)
- return newOutputService1ProtocolTestClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion)
- }
- // newClient creates, initializes and returns a new service client instance.
- func newOutputService1ProtocolTestClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegion string) *OutputService1ProtocolTest {
- svc := &OutputService1ProtocolTest{
- Client: client.New(
- cfg,
- metadata.ClientInfo{
- ServiceName: "outputservice1protocoltest",
- SigningRegion: signingRegion,
- Endpoint: endpoint,
- APIVersion: "",
- JSONVersion: "",
- TargetPrefix: "",
- },
- handlers,
- ),
- }
- // Handlers
- svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler)
- svc.Handlers.Build.PushBackNamed(jsonrpc.BuildHandler)
- svc.Handlers.Unmarshal.PushBackNamed(jsonrpc.UnmarshalHandler)
- svc.Handlers.UnmarshalMeta.PushBackNamed(jsonrpc.UnmarshalMetaHandler)
- svc.Handlers.UnmarshalError.PushBackNamed(jsonrpc.UnmarshalErrorHandler)
- return svc
- }
- // newRequest creates a new request for a OutputService1ProtocolTest operation and runs any
- // custom request initialization.
- func (c *OutputService1ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
- req := c.NewRequest(op, params, data)
- return req
- }
- const opOutputService1TestCaseOperation1 = "OperationName"
- // OutputService1TestCaseOperation1Request generates a "aws/request.Request" representing the
- // client's request for the OutputService1TestCaseOperation1 operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the OutputService1TestCaseOperation1 method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the OutputService1TestCaseOperation1Request method.
- // req, resp := client.OutputService1TestCaseOperation1Request(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *OutputService1ProtocolTest) OutputService1TestCaseOperation1Request(input *OutputService1TestShapeOutputService1TestCaseOperation1Input) (req *request.Request, output *OutputService1TestShapeOutputService1TestCaseOperation1Output) {
- op := &request.Operation{
- Name: opOutputService1TestCaseOperation1,
- HTTPPath: "/",
- }
- if input == nil {
- input = &OutputService1TestShapeOutputService1TestCaseOperation1Input{}
- }
- req = c.newRequest(op, input, output)
- output = &OutputService1TestShapeOutputService1TestCaseOperation1Output{}
- req.Data = output
- return
- }
- func (c *OutputService1ProtocolTest) OutputService1TestCaseOperation1(input *OutputService1TestShapeOutputService1TestCaseOperation1Input) (*OutputService1TestShapeOutputService1TestCaseOperation1Output, error) {
- req, out := c.OutputService1TestCaseOperation1Request(input)
- err := req.Send()
- return out, err
- }
- type OutputService1TestShapeOutputService1TestCaseOperation1Input struct {
- _ struct{} `type:"structure"`
- }
- type OutputService1TestShapeOutputService1TestCaseOperation1Output struct {
- _ struct{} `type:"structure"`
- Char *string `type:"character"`
- Double *float64 `type:"double"`
- FalseBool *bool `type:"boolean"`
- Float *float64 `type:"float"`
- Long *int64 `type:"long"`
- Num *int64 `type:"integer"`
- Str *string `type:"string"`
- TrueBool *bool `type:"boolean"`
- }
- //The service client's operations are safe to be used concurrently.
- // It is not safe to mutate any of the client's properties though.
- type OutputService2ProtocolTest struct {
- *client.Client
- }
- // New creates a new instance of the OutputService2ProtocolTest client with a session.
- // If additional configuration is needed for the client instance use the optional
- // aws.Config parameter to add your extra config.
- //
- // Example:
- // // Create a OutputService2ProtocolTest client from just a session.
- // svc := outputservice2protocoltest.New(mySession)
- //
- // // Create a OutputService2ProtocolTest client with additional configuration
- // svc := outputservice2protocoltest.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
- func NewOutputService2ProtocolTest(p client.ConfigProvider, cfgs ...*aws.Config) *OutputService2ProtocolTest {
- c := p.ClientConfig("outputservice2protocoltest", cfgs...)
- return newOutputService2ProtocolTestClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion)
- }
- // newClient creates, initializes and returns a new service client instance.
- func newOutputService2ProtocolTestClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegion string) *OutputService2ProtocolTest {
- svc := &OutputService2ProtocolTest{
- Client: client.New(
- cfg,
- metadata.ClientInfo{
- ServiceName: "outputservice2protocoltest",
- SigningRegion: signingRegion,
- Endpoint: endpoint,
- APIVersion: "",
- JSONVersion: "",
- TargetPrefix: "",
- },
- handlers,
- ),
- }
- // Handlers
- svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler)
- svc.Handlers.Build.PushBackNamed(jsonrpc.BuildHandler)
- svc.Handlers.Unmarshal.PushBackNamed(jsonrpc.UnmarshalHandler)
- svc.Handlers.UnmarshalMeta.PushBackNamed(jsonrpc.UnmarshalMetaHandler)
- svc.Handlers.UnmarshalError.PushBackNamed(jsonrpc.UnmarshalErrorHandler)
- return svc
- }
- // newRequest creates a new request for a OutputService2ProtocolTest operation and runs any
- // custom request initialization.
- func (c *OutputService2ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
- req := c.NewRequest(op, params, data)
- return req
- }
- const opOutputService2TestCaseOperation1 = "OperationName"
- // OutputService2TestCaseOperation1Request generates a "aws/request.Request" representing the
- // client's request for the OutputService2TestCaseOperation1 operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the OutputService2TestCaseOperation1 method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the OutputService2TestCaseOperation1Request method.
- // req, resp := client.OutputService2TestCaseOperation1Request(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *OutputService2ProtocolTest) OutputService2TestCaseOperation1Request(input *OutputService2TestShapeOutputService2TestCaseOperation1Input) (req *request.Request, output *OutputService2TestShapeOutputService2TestCaseOperation1Output) {
- op := &request.Operation{
- Name: opOutputService2TestCaseOperation1,
- HTTPPath: "/",
- }
- if input == nil {
- input = &OutputService2TestShapeOutputService2TestCaseOperation1Input{}
- }
- req = c.newRequest(op, input, output)
- output = &OutputService2TestShapeOutputService2TestCaseOperation1Output{}
- req.Data = output
- return
- }
- func (c *OutputService2ProtocolTest) OutputService2TestCaseOperation1(input *OutputService2TestShapeOutputService2TestCaseOperation1Input) (*OutputService2TestShapeOutputService2TestCaseOperation1Output, error) {
- req, out := c.OutputService2TestCaseOperation1Request(input)
- err := req.Send()
- return out, err
- }
- type OutputService2TestShapeBlobContainer struct {
- _ struct{} `type:"structure"`
- // Foo is automatically base64 encoded/decoded by the SDK.
- Foo []byte `locationName:"foo" type:"blob"`
- }
- type OutputService2TestShapeOutputService2TestCaseOperation1Input struct {
- _ struct{} `type:"structure"`
- }
- type OutputService2TestShapeOutputService2TestCaseOperation1Output struct {
- _ struct{} `type:"structure"`
- // BlobMember is automatically base64 encoded/decoded by the SDK.
- BlobMember []byte `type:"blob"`
- StructMember *OutputService2TestShapeBlobContainer `type:"structure"`
- }
- //The service client's operations are safe to be used concurrently.
- // It is not safe to mutate any of the client's properties though.
- type OutputService3ProtocolTest struct {
- *client.Client
- }
- // New creates a new instance of the OutputService3ProtocolTest client with a session.
- // If additional configuration is needed for the client instance use the optional
- // aws.Config parameter to add your extra config.
- //
- // Example:
- // // Create a OutputService3ProtocolTest client from just a session.
- // svc := outputservice3protocoltest.New(mySession)
- //
- // // Create a OutputService3ProtocolTest client with additional configuration
- // svc := outputservice3protocoltest.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
- func NewOutputService3ProtocolTest(p client.ConfigProvider, cfgs ...*aws.Config) *OutputService3ProtocolTest {
- c := p.ClientConfig("outputservice3protocoltest", cfgs...)
- return newOutputService3ProtocolTestClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion)
- }
- // newClient creates, initializes and returns a new service client instance.
- func newOutputService3ProtocolTestClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegion string) *OutputService3ProtocolTest {
- svc := &OutputService3ProtocolTest{
- Client: client.New(
- cfg,
- metadata.ClientInfo{
- ServiceName: "outputservice3protocoltest",
- SigningRegion: signingRegion,
- Endpoint: endpoint,
- APIVersion: "",
- JSONVersion: "",
- TargetPrefix: "",
- },
- handlers,
- ),
- }
- // Handlers
- svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler)
- svc.Handlers.Build.PushBackNamed(jsonrpc.BuildHandler)
- svc.Handlers.Unmarshal.PushBackNamed(jsonrpc.UnmarshalHandler)
- svc.Handlers.UnmarshalMeta.PushBackNamed(jsonrpc.UnmarshalMetaHandler)
- svc.Handlers.UnmarshalError.PushBackNamed(jsonrpc.UnmarshalErrorHandler)
- return svc
- }
- // newRequest creates a new request for a OutputService3ProtocolTest operation and runs any
- // custom request initialization.
- func (c *OutputService3ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
- req := c.NewRequest(op, params, data)
- return req
- }
- const opOutputService3TestCaseOperation1 = "OperationName"
- // OutputService3TestCaseOperation1Request generates a "aws/request.Request" representing the
- // client's request for the OutputService3TestCaseOperation1 operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the OutputService3TestCaseOperation1 method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the OutputService3TestCaseOperation1Request method.
- // req, resp := client.OutputService3TestCaseOperation1Request(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *OutputService3ProtocolTest) OutputService3TestCaseOperation1Request(input *OutputService3TestShapeOutputService3TestCaseOperation1Input) (req *request.Request, output *OutputService3TestShapeOutputService3TestCaseOperation1Output) {
- op := &request.Operation{
- Name: opOutputService3TestCaseOperation1,
- HTTPPath: "/",
- }
- if input == nil {
- input = &OutputService3TestShapeOutputService3TestCaseOperation1Input{}
- }
- req = c.newRequest(op, input, output)
- output = &OutputService3TestShapeOutputService3TestCaseOperation1Output{}
- req.Data = output
- return
- }
- func (c *OutputService3ProtocolTest) OutputService3TestCaseOperation1(input *OutputService3TestShapeOutputService3TestCaseOperation1Input) (*OutputService3TestShapeOutputService3TestCaseOperation1Output, error) {
- req, out := c.OutputService3TestCaseOperation1Request(input)
- err := req.Send()
- return out, err
- }
- type OutputService3TestShapeOutputService3TestCaseOperation1Input struct {
- _ struct{} `type:"structure"`
- }
- type OutputService3TestShapeOutputService3TestCaseOperation1Output struct {
- _ struct{} `type:"structure"`
- StructMember *OutputService3TestShapeTimeContainer `type:"structure"`
- TimeMember *time.Time `type:"timestamp" timestampFormat:"unix"`
- }
- type OutputService3TestShapeTimeContainer struct {
- _ struct{} `type:"structure"`
- Foo *time.Time `locationName:"foo" type:"timestamp" timestampFormat:"unix"`
- }
- //The service client's operations are safe to be used concurrently.
- // It is not safe to mutate any of the client's properties though.
- type OutputService4ProtocolTest struct {
- *client.Client
- }
- // New creates a new instance of the OutputService4ProtocolTest client with a session.
- // If additional configuration is needed for the client instance use the optional
- // aws.Config parameter to add your extra config.
- //
- // Example:
- // // Create a OutputService4ProtocolTest client from just a session.
- // svc := outputservice4protocoltest.New(mySession)
- //
- // // Create a OutputService4ProtocolTest client with additional configuration
- // svc := outputservice4protocoltest.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
- func NewOutputService4ProtocolTest(p client.ConfigProvider, cfgs ...*aws.Config) *OutputService4ProtocolTest {
- c := p.ClientConfig("outputservice4protocoltest", cfgs...)
- return newOutputService4ProtocolTestClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion)
- }
- // newClient creates, initializes and returns a new service client instance.
- func newOutputService4ProtocolTestClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegion string) *OutputService4ProtocolTest {
- svc := &OutputService4ProtocolTest{
- Client: client.New(
- cfg,
- metadata.ClientInfo{
- ServiceName: "outputservice4protocoltest",
- SigningRegion: signingRegion,
- Endpoint: endpoint,
- APIVersion: "",
- JSONVersion: "",
- TargetPrefix: "",
- },
- handlers,
- ),
- }
- // Handlers
- svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler)
- svc.Handlers.Build.PushBackNamed(jsonrpc.BuildHandler)
- svc.Handlers.Unmarshal.PushBackNamed(jsonrpc.UnmarshalHandler)
- svc.Handlers.UnmarshalMeta.PushBackNamed(jsonrpc.UnmarshalMetaHandler)
- svc.Handlers.UnmarshalError.PushBackNamed(jsonrpc.UnmarshalErrorHandler)
- return svc
- }
- // newRequest creates a new request for a OutputService4ProtocolTest operation and runs any
- // custom request initialization.
- func (c *OutputService4ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
- req := c.NewRequest(op, params, data)
- return req
- }
- const opOutputService4TestCaseOperation1 = "OperationName"
- // OutputService4TestCaseOperation1Request generates a "aws/request.Request" representing the
- // client's request for the OutputService4TestCaseOperation1 operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the OutputService4TestCaseOperation1 method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the OutputService4TestCaseOperation1Request method.
- // req, resp := client.OutputService4TestCaseOperation1Request(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *OutputService4ProtocolTest) OutputService4TestCaseOperation1Request(input *OutputService4TestShapeOutputService4TestCaseOperation1Input) (req *request.Request, output *OutputService4TestShapeOutputShape) {
- op := &request.Operation{
- Name: opOutputService4TestCaseOperation1,
- HTTPPath: "/",
- }
- if input == nil {
- input = &OutputService4TestShapeOutputService4TestCaseOperation1Input{}
- }
- req = c.newRequest(op, input, output)
- output = &OutputService4TestShapeOutputShape{}
- req.Data = output
- return
- }
- func (c *OutputService4ProtocolTest) OutputService4TestCaseOperation1(input *OutputService4TestShapeOutputService4TestCaseOperation1Input) (*OutputService4TestShapeOutputShape, error) {
- req, out := c.OutputService4TestCaseOperation1Request(input)
- err := req.Send()
- return out, err
- }
- const opOutputService4TestCaseOperation2 = "OperationName"
- // OutputService4TestCaseOperation2Request generates a "aws/request.Request" representing the
- // client's request for the OutputService4TestCaseOperation2 operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the OutputService4TestCaseOperation2 method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the OutputService4TestCaseOperation2Request method.
- // req, resp := client.OutputService4TestCaseOperation2Request(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *OutputService4ProtocolTest) OutputService4TestCaseOperation2Request(input *OutputService4TestShapeOutputService4TestCaseOperation2Input) (req *request.Request, output *OutputService4TestShapeOutputShape) {
- op := &request.Operation{
- Name: opOutputService4TestCaseOperation2,
- HTTPPath: "/",
- }
- if input == nil {
- input = &OutputService4TestShapeOutputService4TestCaseOperation2Input{}
- }
- req = c.newRequest(op, input, output)
- output = &OutputService4TestShapeOutputShape{}
- req.Data = output
- return
- }
- func (c *OutputService4ProtocolTest) OutputService4TestCaseOperation2(input *OutputService4TestShapeOutputService4TestCaseOperation2Input) (*OutputService4TestShapeOutputShape, error) {
- req, out := c.OutputService4TestCaseOperation2Request(input)
- err := req.Send()
- return out, err
- }
- type OutputService4TestShapeOutputService4TestCaseOperation1Input struct {
- _ struct{} `type:"structure"`
- }
- type OutputService4TestShapeOutputService4TestCaseOperation2Input struct {
- _ struct{} `type:"structure"`
- }
- type OutputService4TestShapeOutputShape struct {
- _ struct{} `type:"structure"`
- ListMember []*string `type:"list"`
- ListMemberMap []map[string]*string `type:"list"`
- ListMemberStruct []*OutputService4TestShapeStructType `type:"list"`
- }
- type OutputService4TestShapeStructType struct {
- _ struct{} `type:"structure"`
- }
- //The service client's operations are safe to be used concurrently.
- // It is not safe to mutate any of the client's properties though.
- type OutputService5ProtocolTest struct {
- *client.Client
- }
- // New creates a new instance of the OutputService5ProtocolTest client with a session.
- // If additional configuration is needed for the client instance use the optional
- // aws.Config parameter to add your extra config.
- //
- // Example:
- // // Create a OutputService5ProtocolTest client from just a session.
- // svc := outputservice5protocoltest.New(mySession)
- //
- // // Create a OutputService5ProtocolTest client with additional configuration
- // svc := outputservice5protocoltest.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
- func NewOutputService5ProtocolTest(p client.ConfigProvider, cfgs ...*aws.Config) *OutputService5ProtocolTest {
- c := p.ClientConfig("outputservice5protocoltest", cfgs...)
- return newOutputService5ProtocolTestClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion)
- }
- // newClient creates, initializes and returns a new service client instance.
- func newOutputService5ProtocolTestClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegion string) *OutputService5ProtocolTest {
- svc := &OutputService5ProtocolTest{
- Client: client.New(
- cfg,
- metadata.ClientInfo{
- ServiceName: "outputservice5protocoltest",
- SigningRegion: signingRegion,
- Endpoint: endpoint,
- APIVersion: "",
- JSONVersion: "",
- TargetPrefix: "",
- },
- handlers,
- ),
- }
- // Handlers
- svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler)
- svc.Handlers.Build.PushBackNamed(jsonrpc.BuildHandler)
- svc.Handlers.Unmarshal.PushBackNamed(jsonrpc.UnmarshalHandler)
- svc.Handlers.UnmarshalMeta.PushBackNamed(jsonrpc.UnmarshalMetaHandler)
- svc.Handlers.UnmarshalError.PushBackNamed(jsonrpc.UnmarshalErrorHandler)
- return svc
- }
- // newRequest creates a new request for a OutputService5ProtocolTest operation and runs any
- // custom request initialization.
- func (c *OutputService5ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
- req := c.NewRequest(op, params, data)
- return req
- }
- const opOutputService5TestCaseOperation1 = "OperationName"
- // OutputService5TestCaseOperation1Request generates a "aws/request.Request" representing the
- // client's request for the OutputService5TestCaseOperation1 operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the OutputService5TestCaseOperation1 method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the OutputService5TestCaseOperation1Request method.
- // req, resp := client.OutputService5TestCaseOperation1Request(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *OutputService5ProtocolTest) OutputService5TestCaseOperation1Request(input *OutputService5TestShapeOutputService5TestCaseOperation1Input) (req *request.Request, output *OutputService5TestShapeOutputService5TestCaseOperation1Output) {
- op := &request.Operation{
- Name: opOutputService5TestCaseOperation1,
- HTTPPath: "/",
- }
- if input == nil {
- input = &OutputService5TestShapeOutputService5TestCaseOperation1Input{}
- }
- req = c.newRequest(op, input, output)
- output = &OutputService5TestShapeOutputService5TestCaseOperation1Output{}
- req.Data = output
- return
- }
- func (c *OutputService5ProtocolTest) OutputService5TestCaseOperation1(input *OutputService5TestShapeOutputService5TestCaseOperation1Input) (*OutputService5TestShapeOutputService5TestCaseOperation1Output, error) {
- req, out := c.OutputService5TestCaseOperation1Request(input)
- err := req.Send()
- return out, err
- }
- type OutputService5TestShapeOutputService5TestCaseOperation1Input struct {
- _ struct{} `type:"structure"`
- }
- type OutputService5TestShapeOutputService5TestCaseOperation1Output struct {
- _ struct{} `type:"structure"`
- MapMember map[string][]*int64 `type:"map"`
- }
- //The service client's operations are safe to be used concurrently.
- // It is not safe to mutate any of the client's properties though.
- type OutputService6ProtocolTest struct {
- *client.Client
- }
- // New creates a new instance of the OutputService6ProtocolTest client with a session.
- // If additional configuration is needed for the client instance use the optional
- // aws.Config parameter to add your extra config.
- //
- // Example:
- // // Create a OutputService6ProtocolTest client from just a session.
- // svc := outputservice6protocoltest.New(mySession)
- //
- // // Create a OutputService6ProtocolTest client with additional configuration
- // svc := outputservice6protocoltest.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
- func NewOutputService6ProtocolTest(p client.ConfigProvider, cfgs ...*aws.Config) *OutputService6ProtocolTest {
- c := p.ClientConfig("outputservice6protocoltest", cfgs...)
- return newOutputService6ProtocolTestClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion)
- }
- // newClient creates, initializes and returns a new service client instance.
- func newOutputService6ProtocolTestClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegion string) *OutputService6ProtocolTest {
- svc := &OutputService6ProtocolTest{
- Client: client.New(
- cfg,
- metadata.ClientInfo{
- ServiceName: "outputservice6protocoltest",
- SigningRegion: signingRegion,
- Endpoint: endpoint,
- APIVersion: "",
- JSONVersion: "",
- TargetPrefix: "",
- },
- handlers,
- ),
- }
- // Handlers
- svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler)
- svc.Handlers.Build.PushBackNamed(jsonrpc.BuildHandler)
- svc.Handlers.Unmarshal.PushBackNamed(jsonrpc.UnmarshalHandler)
- svc.Handlers.UnmarshalMeta.PushBackNamed(jsonrpc.UnmarshalMetaHandler)
- svc.Handlers.UnmarshalError.PushBackNamed(jsonrpc.UnmarshalErrorHandler)
- return svc
- }
- // newRequest creates a new request for a OutputService6ProtocolTest operation and runs any
- // custom request initialization.
- func (c *OutputService6ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
- req := c.NewRequest(op, params, data)
- return req
- }
- const opOutputService6TestCaseOperation1 = "OperationName"
- // OutputService6TestCaseOperation1Request generates a "aws/request.Request" representing the
- // client's request for the OutputService6TestCaseOperation1 operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the OutputService6TestCaseOperation1 method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the OutputService6TestCaseOperation1Request method.
- // req, resp := client.OutputService6TestCaseOperation1Request(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *OutputService6ProtocolTest) OutputService6TestCaseOperation1Request(input *OutputService6TestShapeOutputService6TestCaseOperation1Input) (req *request.Request, output *OutputService6TestShapeOutputService6TestCaseOperation1Output) {
- op := &request.Operation{
- Name: opOutputService6TestCaseOperation1,
- HTTPPath: "/",
- }
- if input == nil {
- input = &OutputService6TestShapeOutputService6TestCaseOperation1Input{}
- }
- req = c.newRequest(op, input, output)
- output = &OutputService6TestShapeOutputService6TestCaseOperation1Output{}
- req.Data = output
- return
- }
- func (c *OutputService6ProtocolTest) OutputService6TestCaseOperation1(input *OutputService6TestShapeOutputService6TestCaseOperation1Input) (*OutputService6TestShapeOutputService6TestCaseOperation1Output, error) {
- req, out := c.OutputService6TestCaseOperation1Request(input)
- err := req.Send()
- return out, err
- }
- type OutputService6TestShapeOutputService6TestCaseOperation1Input struct {
- _ struct{} `type:"structure"`
- }
- type OutputService6TestShapeOutputService6TestCaseOperation1Output struct {
- _ struct{} `type:"structure"`
- StrType *string `type:"string"`
- }
- //
- // Tests begin here
- //
- func TestOutputService1ProtocolTestScalarMembersCase1(t *testing.T) {
- svc := NewOutputService1ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")})
- buf := bytes.NewReader([]byte("{\"Str\": \"myname\", \"Num\": 123, \"FalseBool\": false, \"TrueBool\": true, \"Float\": 1.2, \"Double\": 1.3, \"Long\": 200, \"Char\": \"a\"}"))
- req, out := svc.OutputService1TestCaseOperation1Request(nil)
- req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
- // set headers
- // unmarshal response
- jsonrpc.UnmarshalMeta(req)
- jsonrpc.Unmarshal(req)
- assert.NoError(t, req.Error)
- // assert response
- assert.NotNil(t, out) // ensure out variable is used
- assert.Equal(t, "a", *out.Char)
- assert.Equal(t, 1.3, *out.Double)
- assert.Equal(t, false, *out.FalseBool)
- assert.Equal(t, 1.2, *out.Float)
- assert.Equal(t, int64(200), *out.Long)
- assert.Equal(t, int64(123), *out.Num)
- assert.Equal(t, "myname", *out.Str)
- assert.Equal(t, true, *out.TrueBool)
- }
- func TestOutputService2ProtocolTestBlobMembersCase1(t *testing.T) {
- svc := NewOutputService2ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")})
- buf := bytes.NewReader([]byte("{\"BlobMember\": \"aGkh\", \"StructMember\": {\"foo\": \"dGhlcmUh\"}}"))
- req, out := svc.OutputService2TestCaseOperation1Request(nil)
- req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
- // set headers
- // unmarshal response
- jsonrpc.UnmarshalMeta(req)
- jsonrpc.Unmarshal(req)
- assert.NoError(t, req.Error)
- // assert response
- assert.NotNil(t, out) // ensure out variable is used
- assert.Equal(t, "hi!", string(out.BlobMember))
- assert.Equal(t, "there!", string(out.StructMember.Foo))
- }
- func TestOutputService3ProtocolTestTimestampMembersCase1(t *testing.T) {
- svc := NewOutputService3ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")})
- buf := bytes.NewReader([]byte("{\"TimeMember\": 1398796238, \"StructMember\": {\"foo\": 1398796238}}"))
- req, out := svc.OutputService3TestCaseOperation1Request(nil)
- req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
- // set headers
- // unmarshal response
- jsonrpc.UnmarshalMeta(req)
- jsonrpc.Unmarshal(req)
- assert.NoError(t, req.Error)
- // assert response
- assert.NotNil(t, out) // ensure out variable is used
- assert.Equal(t, time.Unix(1.398796238e+09, 0).UTC().String(), out.StructMember.Foo.String())
- assert.Equal(t, time.Unix(1.398796238e+09, 0).UTC().String(), out.TimeMember.String())
- }
- func TestOutputService4ProtocolTestListsCase1(t *testing.T) {
- svc := NewOutputService4ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")})
- buf := bytes.NewReader([]byte("{\"ListMember\": [\"a\", \"b\"]}"))
- req, out := svc.OutputService4TestCaseOperation1Request(nil)
- req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
- // set headers
- // unmarshal response
- jsonrpc.UnmarshalMeta(req)
- jsonrpc.Unmarshal(req)
- assert.NoError(t, req.Error)
- // assert response
- assert.NotNil(t, out) // ensure out variable is used
- assert.Equal(t, "a", *out.ListMember[0])
- assert.Equal(t, "b", *out.ListMember[1])
- }
- func TestOutputService4ProtocolTestListsCase2(t *testing.T) {
- svc := NewOutputService4ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")})
- buf := bytes.NewReader([]byte("{\"ListMember\": [\"a\", null], \"ListMemberMap\": [{}, null, null, {}], \"ListMemberStruct\": [{}, null, null, {}]}"))
- req, out := svc.OutputService4TestCaseOperation2Request(nil)
- req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
- // set headers
- // unmarshal response
- jsonrpc.UnmarshalMeta(req)
- jsonrpc.Unmarshal(req)
- assert.NoError(t, req.Error)
- // assert response
- assert.NotNil(t, out) // ensure out variable is used
- assert.Equal(t, "a", *out.ListMember[0])
- assert.Nil(t, out.ListMember[1])
- assert.Nil(t, out.ListMemberMap[1])
- assert.Nil(t, out.ListMemberMap[2])
- assert.Nil(t, out.ListMemberStruct[1])
- assert.Nil(t, out.ListMemberStruct[2])
- }
- func TestOutputService5ProtocolTestMapsCase1(t *testing.T) {
- svc := NewOutputService5ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")})
- buf := bytes.NewReader([]byte("{\"MapMember\": {\"a\": [1, 2], \"b\": [3, 4]}}"))
- req, out := svc.OutputService5TestCaseOperation1Request(nil)
- req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
- // set headers
- // unmarshal response
- jsonrpc.UnmarshalMeta(req)
- jsonrpc.Unmarshal(req)
- assert.NoError(t, req.Error)
- // assert response
- assert.NotNil(t, out) // ensure out variable is used
- assert.Equal(t, int64(1), *out.MapMember["a"][0])
- assert.Equal(t, int64(2), *out.MapMember["a"][1])
- assert.Equal(t, int64(3), *out.MapMember["b"][0])
- assert.Equal(t, int64(4), *out.MapMember["b"][1])
- }
- func TestOutputService6ProtocolTestIgnoresExtraDataCase1(t *testing.T) {
- svc := NewOutputService6ProtocolTest(unit.Session, &aws.Config{Endpoint: aws.String("https://test")})
- buf := bytes.NewReader([]byte("{\"foo\": \"bar\"}"))
- req, out := svc.OutputService6TestCaseOperation1Request(nil)
- req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
- // set headers
- // unmarshal response
- jsonrpc.UnmarshalMeta(req)
- jsonrpc.Unmarshal(req)
- assert.NoError(t, req.Error)
- // assert response
- assert.NotNil(t, out) // ensure out variable is used
- }
|