class_docstr: S3Payload tests
class_docstr_tok: ["S3Payload","tests"]
docstr: S3Payload - Read Downloaded Object
docstr_tok: ["S3Payload","-","Read","Downloaded","Object"]
code: def test_read_downloaded_object(self):
      """S3Payload - Read Downloaded Object"""
      record = {"key": "value"}
      with tempfile.SpooledTemporaryFile(max_size=10 * 1024) as reader:
          reader.write(json.dumps(record, indent=2).encode())
          reader.seek(0)
          read_lines = list(S3Payload._read_downloaded_object(reader))
          assert_equal(read_lines, [(1, record)])
  
imports: import json
  import gzip
  import os
  import tempfile
  import boto3
  from botocore.exceptions import ClientError
  from mock import patch
  from moto import mock_s3
  from nose.tools import assert_equal, assert_raises
  from pyfakefs import fake_filesystem_unittest
  from streamalert.classifier.payload.s3 import S3Payload, S3PayloadError
label_desc: Use image node_id 14 for calling the TestS3Payload obj's underlying member method code with example usage: obj.test_read_downloaded_object() without return types