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. // // See OutputService1TestCaseOperation1 for usage and error information. // // 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 } // OutputService1TestCaseOperation1 API operation for . // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for 's // API operation OutputService1TestCaseOperation1 for usage and error information. 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. // // See OutputService2TestCaseOperation1 for usage and error information. // // 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 } // OutputService2TestCaseOperation1 API operation for . // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for 's // API operation OutputService2TestCaseOperation1 for usage and error information. 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. // // See OutputService3TestCaseOperation1 for usage and error information. // // 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 } // OutputService3TestCaseOperation1 API operation for . // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for 's // API operation OutputService3TestCaseOperation1 for usage and error information. 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. // // See OutputService4TestCaseOperation1 for usage and error information. // // 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 } // OutputService4TestCaseOperation1 API operation for . // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for 's // API operation OutputService4TestCaseOperation1 for usage and error information. 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. // // See OutputService4TestCaseOperation2 for usage and error information. // // 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 } // OutputService4TestCaseOperation2 API operation for . // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for 's // API operation OutputService4TestCaseOperation2 for usage and error information. 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. // // See OutputService5TestCaseOperation1 for usage and error information. // // 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 } // OutputService5TestCaseOperation1 API operation for . // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for 's // API operation OutputService5TestCaseOperation1 for usage and error information. 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. // // See OutputService6TestCaseOperation1 for usage and error information. // // 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 } // OutputService6TestCaseOperation1 API operation for . // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for 's // API operation OutputService6TestCaseOperation1 for usage and error information. 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 }