def METHOD_NAME(self):
    filename = os.path.join(self._tempdir, 'outfile')
    cmdline = self.prefix[::]
    cmdline.extend(['--bucket', 'mybucket'])
    cmdline.extend(['--key', 'mykey'])
    cmdline.extend(['--expression', 'SELECT * FROM S3Object'])
    cmdline.extend(['--expression-type', 'SQL'])
    cmdline.extend(['--request-progress', 'Enabled=True'])
    cmdline.extend(['--input-serialization',
                    '{"CSV": {}, "CompressionType": "GZIP"}'])
    cmdline.extend(['--output-serialization', '{"CSV": {}}'])
    cmdline.extend([filename])
    expected_params = {
        'Bucket': 'mybucket',
        'Key': u'mykey',
        'Expression': 'SELECT * FROM S3Object',
        'ExpressionType': 'SQL',
        'InputSerialization': {'CSV': {}, 'CompressionType': 'GZIP'},
        'OutputSerialization': {'CSV': {}},
        'RequestProgress': {'Enabled': True},
    }
    stdout = self.assert_params_for_cmd(cmdline, expected_params)[0]
    self.assertEqual(stdout, '')
    with open(filename, 'r') as f:
        contents = f.read()
        self.assertEqual(contents, (
            'a,b,c,d\n'
            'e,f,g,h\n'
        ))