docstr: Credentials - Encrypted Credentials - KMS Decrypt - Errors if KMS Fails to Respond
docstr_tok: ["Credentials","-","Encrypted","Credentials","-","KMS","Decrypt","-","Errors","if","KMS","Fails","to","Respond"]
code: def test_decrypt_kms_error(self, logging_exception, boto3):
      """Credentials - Encrypted Credentials - KMS Decrypt - Errors if KMS Fails to Respond"""
  
      # We pretend that KMS errors out
      boto3_client = MagicMock()
      boto3.return_value = boto3_client
  
      response = MagicMock()
      boto3_client.decrypt.side_effect = ClientError(
          response, "kms_decrypt"
      )
  
      assert_is_none(self._credentials.get_data_kms_decrypted())
      logging_exception.assert_called_with(
          "an error occurred during credentials decryption"
      )
  
imports: import json
  import os
  from collections import OrderedDict
  from botocore.exceptions import ClientError
  from mock import patch, MagicMock
  from moto import mock_kms, mock_ssm
  from nose.tools import assert_equal, assert_false, assert_is_instance, assert_is_none, assert_is_not_none, assert_not_equal, assert_true
  from streamalert.alert_processor.outputs.output_base import OutputProperty
  from streamalert.alert_processor.outputs.credentials.provider import SSMDriver, LocalFileDriver, Credentials, OutputCredentialsProvider, EphemeralUnencryptedDriver, SpooledTempfileDriver, get_formatted_output_credentials_name
  from tests.unit.streamalert.alert_processor import PREFIX, CONFIG, KMS_ALIAS, REGION, MOCK_ENV
  from tests.unit.streamalert.alert_processor.helpers import encrypt_with_kms, setup_mock_kms
label_desc: Use image node_id 7 for calling the TestCredentialsEncrypted obj's underlying member method code with example usage: obj.test_decrypt_kms_error(logging_exception, boto3) without return types