class_docstr: Test class for OutputDispatcher
docstr: OutputDispatcher - Constructor
docstr_tok: ["OutputDispatcher","-","Constructor"]
code: def test_credentials_provider(self, provider_constructor):
      """OutputDispatcher - Constructor"""
      provider = MagicMock()
      provider_constructor.return_value = provider
  
      _ = OutputDispatcher(CONFIG)
  
      provider_constructor.assert_called_with(
          "test_service", config=CONFIG, defaults=None, region=REGION
      )
      assert_equal(
          self._dispatcher._credentials_provider._service_name,
          "test_service",
      )
  
imports: from mock import Mock, patch, MagicMock
  from moto import mock_kms, mock_ssm
  from nose.tools import assert_equal, assert_is_instance, assert_is_not_none, assert_is_none, assert_count_equal
  from requests.exceptions import Timeout
  from streamalert.alert_processor.outputs.output_base import OutputDispatcher, OutputProperty, OutputRequestFailure, StreamAlertOutput
  from streamalert.alert_processor.outputs.aws import S3Output
  from tests.unit.streamalert.alert_processor import CONFIG, KMS_ALIAS, MOCK_ENV, REGION, PREFIX
  from tests.unit.streamalert.alert_processor.helpers import put_mock_ssm_parameters
label_desc: Use image node_id 2 for calling the TestOutputDispatcher obj's underlying member method code with example usage: obj.test_credentials_provider(provider_constructor) without return types