示例#1
0
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".*')
示例#2
0
    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."))
示例#3
0
文件: stub.py 项目: brint/botocore
    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."))
示例#4
0
 def _validate_value_against_schema(self, model, value):
     validate_parameters(value, model)
示例#5
0
 def _validate_value_against_schema(self, model, value):
     validate_parameters(value, model)