class_docstr: Test class to test ThreatStream functionalities
class_docstr_tok: ["Test","class","to","test","ThreatStream","functionalities"]
docstr: ThreatStream - Write Intel to DynamoDB Table, Error
docstr_tok: ["ThreatStream","-","Write","Intel","to","DynamoDB","Table",",","Error"]
code: def test_write_to_dynamodb_table_error(self, boto_mock):
      """ThreatStream - Write Intel to DynamoDB Table, Error"""
      intel = [
          self._get_fake_intel("malicious_domain.com", "test_source")
      ]
      err = ClientError({"Error": {"Code": 404}}, "PutItem")
      batch_writer = (
          boto_mock.return_value.Table.return_value.batch_writer.return_value
      )
      batch_writer.__enter__.return_value.put_item.side_effect = err
  
      self.threatstream._write_to_dynamodb_table(intel)
  
imports: from datetime import datetime
  import os
  import boto3
  from botocore.exceptions import ClientError
  from mock import Mock, patch
  from moto import mock_ssm
  from nose.tools import assert_equal, raises
  from streamalert.shared.config import load_config
  from streamalert.threat_intel_downloader.exceptions import ThreatStreamCredsError, ThreatStreamLambdaInvokeError, ThreatStreamRequestsError
  from streamalert.threat_intel_downloader.main import ThreatStream
  from tests.unit.streamalert.apps.test_helpers import MockLambdaClient
  from tests.unit.streamalert.shared.test_config import get_mock_lambda_context
  from tests.unit.streamalert.threat_intel_downloader.test_helpers import put_mock_params
label_desc: Use image node_id 29 for calling the TestThreatStream obj's underlying member method code with example usage: obj.test_write_to_dynamodb_table_error(boto_mock) without return types