class_docstr: Test class for FirehoseClient
docstr: FirehoseClient - Send Batch
code: def test_send_batch(self):
      """FirehoseClient - Send Batch"""
      records = [
          '{"unit_key_02":"test","unit_key_01":1}\n',
          '{"unit_key_02":"test","unit_key_01":2}\n',
      ]
  
      stream_name = "test_stream_name"
      expected_second_call = [{"Data": records[1]}]
      with patch.object(self._client, "_client") as boto_mock:
          boto_mock.put_record_batch.side_effect = [
              {
                  "FailedPutCount": 1,
                  "RequestResponses": [
                      {"RecordId": "rec_id_01"},
                      {"ErrorCode": 10, "ErrorMessage": "foo"},
                  ],
              },
              {
                  "FailedPutCount": 0,
                  "RequestResponses": [
                      {"RecordId": "rec_id_02"},
                  ],
              },
          ]
  
          self._client._send_batch(
              stream_name, records, "test_function_name"
          )
  
          boto_mock.put_record_batch.assert_called_with(
              DeliveryStreamName=stream_name,
              Records=expected_second_call,
          )
  
imports: from botocore.exceptions import ClientError
  from mock import Mock, patch
  from nose.tools import assert_equal
  from streamalert.shared.firehose import FirehoseClient
label_desc: Use image node_id 17 for calling the TestFirehoseClient obj's underlying member method code with example usage: obj.test_send_batch() without return types