docstr: OutputCredentials - Load Credentials Returns None on Driver Failure
docstr_tok: ["OutputCredentials","-","Load","Credentials","Returns","None","on","Driver","Failure"]
code: def test_load_credentials_returns_none_on_driver_failure(
      self, logging_error
  ):
      """OutputCredentials - Load Credentials Returns None on Driver Failure"""
      descriptor = "descriptive"
  
      # To pretend all drivers fail, we can just remove all of the drivers.
      self._provider._drivers = []
      self._provider._core_driver = None
  
      creds_dict = self._provider.load_credentials(descriptor)
      assert_is_none(creds_dict)
      logging_error.assert_called_with(
          "All drivers failed to retrieve credentials for [%s.%s]",
          "service",
          descriptor,
      )
  
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 4 for calling the TestOutputCredentialsProvider obj's underlying member method code with example usage: obj.test_load_credentials_returns_none_on_driver_failure(logging_error) without return types