def test_validate_parameters(awsclient): client_s3 = awsclient.get_client('s3') service_model = client_s3.meta.service_model #print(service_model.operation_names) operation_model = service_model.operation_model('HeadObject') params = {'foo': 'bar'} with pytest.raises(Exception) as einfo: validate_parameters(params, operation_model.input_shape) assert einfo.match(r'.*Missing required parameter in input: "Bucket".*') assert einfo.match(r'.*Missing required parameter in input: "Key".*') assert einfo.match(r'.*Unknown parameter in input: "foo".*')
def _validate_response(self, operation_name, service_response): service_model = self.client.meta.service_model operation_model = service_model.operation_model(operation_name) output_shape = operation_model.output_shape # Remove ResponseMetadata so that the validator doesn't attempt to # perform validation on it. response = service_response if 'ResponseMetadata' in response: response = copy.copy(service_response) del response['ResponseMetadata'] if output_shape is not None: validate_parameters(response, output_shape) elif response: # If the output shape is None, that means the response should be # empty apart from ResponseMetadata raise ParamValidationError(report=( "Service response should only contain ResponseMetadata."))
def _validate_response(self, operation_name, service_response): service_model = self.client.meta.service_model operation_model = service_model.operation_model(operation_name) output_shape = operation_model.output_shape # Remove ResponseMetadata so that the validator doesn't attempt to # perform validation on it. response = service_response if 'ResponseMetadata' in response: response = copy.copy(service_response) del response['ResponseMetadata'] if output_shape is not None: validate_parameters(response, output_shape) elif response: # If the output shape is None, that means the response should be # empty apart from ResponseMetadata raise ParamValidationError( report=( "Service response should only contain ResponseMetadata."))
def _validate_value_against_schema(self, model, value): validate_parameters(value, model)