def METHOD_NAME(self):
    self.http_response.status_code = 400
    self.parsed_response = {
        'Error': {
            'Code': 'CastFailed',
            'Message': 'Attempt to convert from one data type to another',
        }
    }
    cmdline = self.prefix + [
        '--bucket', 'mybucket',
        '--key', 'mykey',
        '--expression', 'SELECT * FROM S3Object',
        '--expression-type', 'SQL',
        '--request-progress', 'Enabled=True',
        '--input-serialization', '{"CSV": {}, "CompressionType": "GZIP"}',
        '--output-serialization', '{"CSV": {}}',
        os.path.join(self._tempdir, 'outfile'),
    ]
    expected_params = {
        'Bucket': 'mybucket',
        'Key': u'mykey',
        'Expression': 'SELECT * FROM S3Object',
        'ExpressionType': 'SQL',
        'InputSerialization': {'CSV': {}, 'CompressionType': 'GZIP'},
        'OutputSerialization': {'CSV': {}},
        'RequestProgress': {'Enabled': True},
    }
    self.assert_params_for_cmd(
        cmd=cmdline, params=expected_params,
        expected_rc=255,
        stderr_contains=(
            'An error occurred (CastFailed) when '
            'calling the SelectObjectContent operation'),
    )