docstr: AlertPublisher - AlertPublisherRepository - create_composite_publisher() - Valid
docstr_tok: ["AlertPublisher","-","AlertPublisherRepository","-","create_composite_publisher","(",")","-","Valid"]
code: def test_create_composite_publisher():
      """AlertPublisher - AlertPublisherRepository - create_composite_publisher() - Valid"""
      publisher = AlertPublisherRepository.create_composite_publisher(
          [
              "tests.unit.streamalert.shared.test_publisher.SamplePublisher1",
              "tests.unit.streamalert.shared.test_publisher.SamplePublisher2",
          ]
      )
  
      assert_true(isinstance(publisher, CompositePublisher))
      assert_equal(len(publisher._publishers), 2)
      assert_true(
          isinstance(publisher._publishers[0], SamplePublisher1)
      )
      assert_true(
          isinstance(publisher._publishers[1], SamplePublisher2)
      )
  
imports: from mock import patch
  from nose.tools import assert_true, assert_equal, assert_false
  from streamalert.alert_processor.helpers import _assemble_alert_publisher_for_output
  from streamalert.shared.publisher import AlertPublisherRepository, AlertPublisher, CompositePublisher, DefaultPublisher, Register, WrappedFunctionPublisher
  from tests.unit.streamalert.alert_processor.helpers import get_alert
label_desc: Use image node_id 9 for calling the TestAlertPublisherRepository obj's underlying member method code with example usage: obj.test_create_composite_publisher() without return types