func TestMissingRequiredParameters(t *testing.T) { input := &StructShape{} req := aws.NewRequest(service, &aws.Operation{}, input, nil) aws.ValidateParameters(req) assert.Error(t, req.Error) assert.Equal(t, "InvalidParameter", req.Error.(awserr.Error).Code()) assert.Equal(t, "3 validation errors:\n- missing required parameter: RequiredList\n- missing required parameter: RequiredMap\n- missing required parameter: RequiredBool", req.Error.(awserr.Error).Message()) }
// newRequest creates a new request for a ECS operation and runs any // custom request initialization. func (c *ECS) newRequest(op *aws.Operation, params, data interface{}) *aws.Request { req := aws.NewRequest(c.Service, op, params, data) // Run custom request initialization if present if initRequest != nil { initRequest(req) } return req }
// InputService8TestCaseOperation6Request generates a request for the InputService8TestCaseOperation6 operation. func (c *InputService8ProtocolTest) InputService8TestCaseOperation6Request(input *InputService8TestShapeInputShape) (req *aws.Request, output *InputService8TestShapeInputService8TestCaseOperation6Output) { if opInputService8TestCaseOperation6 == nil { opInputService8TestCaseOperation6 = &aws.Operation{ Name: "OperationName", } } req = aws.NewRequest(c.Service, opInputService8TestCaseOperation6, input, output) output = &InputService8TestShapeInputService8TestCaseOperation6Output{} req.Data = output return }
// OutputService11TestCaseOperation1Request generates a request for the OutputService11TestCaseOperation1 operation. func (c *OutputService11ProtocolTest) OutputService11TestCaseOperation1Request(input *OutputService11TestShapeOutputService11TestCaseOperation1Input) (req *aws.Request, output *OutputService11TestShapeOutputShape) { if opOutputService11TestCaseOperation1 == nil { opOutputService11TestCaseOperation1 = &aws.Operation{ Name: "OperationName", } } req = aws.NewRequest(c.Service, opOutputService11TestCaseOperation1, input, output) output = &OutputService11TestShapeOutputShape{} req.Data = output return }
func TestNoErrors(t *testing.T) { input := &StructShape{ RequiredList: []*ConditionalStructShape{}, RequiredMap: &map[string]*ConditionalStructShape{ "key1": &ConditionalStructShape{Name: aws.String("Name")}, "key2": &ConditionalStructShape{Name: aws.String("Name")}, }, RequiredBool: aws.Boolean(true), OptionalStruct: &ConditionalStructShape{Name: aws.String("Name")}, } req := aws.NewRequest(service, &aws.Operation{}, input, nil) aws.ValidateParameters(req) assert.NoError(t, req.Error) }
func TestNestedMissingRequiredParameters(t *testing.T) { input := &StructShape{ RequiredList: []*ConditionalStructShape{&ConditionalStructShape{}}, RequiredMap: &map[string]*ConditionalStructShape{ "key1": &ConditionalStructShape{Name: aws.String("Name")}, "key2": &ConditionalStructShape{}, }, RequiredBool: aws.Boolean(true), OptionalStruct: &ConditionalStructShape{}, } req := aws.NewRequest(service, &aws.Operation{}, input, nil) aws.ValidateParameters(req) assert.Error(t, req.Error) assert.Equal(t, "InvalidParameter", req.Error.(awserr.Error).Code()) assert.Equal(t, "3 validation errors:\n- missing required parameter: RequiredList[0].Name\n- missing required parameter: RequiredMap[\"key2\"].Name\n- missing required parameter: OptionalStruct.Name", req.Error.(awserr.Error).Message()) }
func TestAnonymousCredentials(t *testing.T) { r := aws.NewRequest( aws.NewService(&aws.Config{Credentials: credentials.AnonymousCredentials}), &aws.Operation{ Name: "BatchGetItem", HTTPMethod: "POST", HTTPPath: "/", }, nil, nil, ) Sign(r) urlQ := r.HTTPRequest.URL.Query() assert.Empty(t, urlQ.Get("X-Amz-Signature")) assert.Empty(t, urlQ.Get("X-Amz-Credential")) assert.Empty(t, urlQ.Get("X-Amz-SignedHeaders")) assert.Empty(t, urlQ.Get("X-Amz-Date")) hQ := r.HTTPRequest.Header assert.Empty(t, hQ.Get("Authorization")) assert.Empty(t, hQ.Get("X-Amz-Date")) }
// newRequest creates a new request for a InputService1ProtocolTest operation and runs any // custom request initialization. func (c *InputService1ProtocolTest) newRequest(op *aws.Operation, params, data interface{}) *aws.Request { req := aws.NewRequest(c.Service, op, params, data) return req }