def test_assemble_alert_publisher_for_output_dict_key_both_descriptor_output_list( self): """AlertPublisher - AlertPublisherRepository - assemble() - Dict full match Lists""" self._alert.publishers = { 'demisto': [ 'tests.unit.stream_alert_shared.test_publisher.SamplePublisher1', 'tests.unit.stream_alert_shared.test_publisher.SamplePublisher2', ], 'demisto:some_descriptor': [ 'tests.unit.stream_alert_shared.test_publisher.SamplePublisher3', 'tests.unit.stream_alert_shared.test_publisher.SamplePublisher4', ], 'pagerduty': [ 'tests.unit.stream_alert_shared.test_publisher.sample_publisher_5', ] } publisher = _assemble_alert_publisher_for_output( self._alert, self._output, self._descriptor) assert_true(isinstance(publisher, CompositePublisher)) assert_equal(len(publisher._publishers), 4) # Order is important; the generic ones are loaded first then the specific ones are last assert_true(isinstance(publisher._publishers[0], SamplePublisher1)) assert_true(isinstance(publisher._publishers[1], SamplePublisher2)) assert_true(isinstance(publisher._publishers[2], SamplePublisher3)) assert_true(isinstance(publisher._publishers[3], SamplePublisher4))
def test_assemble_alert_publisher_for_output_dict_empty(self): """AlertPublisher - AlertPublisherRepository - assemble() - Empty Dict""" self._alert.publishers = {} publisher = _assemble_alert_publisher_for_output( self._alert, self._output, self._descriptor) assert_true(isinstance(publisher, DefaultPublisher))
def test_assemble_alert_publisher_for_output_none(self): """AlertPublisher - AlertPublisherRepository - assemble() - String""" self._alert.publishers = None publisher = _assemble_alert_publisher_for_output( self._alert, self._output, self._descriptor) assert_true(isinstance(publisher, DefaultPublisher))
def test_assemble_alert_publisher_for_output_single_string(self): """AlertPublisher - AlertPublisherRepository - assemble() - String""" self._alert.publishers = 'tests.unit.stream_alert_shared.test_publisher.SamplePublisher1' publisher = _assemble_alert_publisher_for_output( self._alert, self._output, self._descriptor) assert_true(isinstance(publisher, CompositePublisher)) assert_equal(len(publisher._publishers), 1) assert_true(isinstance(publisher._publishers[0], SamplePublisher1))
def test_assemble_alert_publisher_for_output_dict_irrelevant_key(self): """AlertPublisher - AlertPublisherRepository - assemble() - Dict with Irrelevant Key""" self._alert.publishers = { 'pagerduty': ['tests.unit.stream_alert_shared.test_publisher.SamplePublisher1'] } publisher = _assemble_alert_publisher_for_output( self._alert, self._output, self._descriptor) assert_true(isinstance(publisher, DefaultPublisher))
def test_assemble_alert_publisher_for_output_dict_key_descriptor_string( self): """AlertPublisher - AlertPublisherRepository - assemble() - Dict matches Desc String""" self._alert.publishers = { 'demisto:some_descriptor': ('tests.unit.stream_alert_shared.test_publisher.SamplePublisher1'), 'pagerduty': ['tests.unit.stream_alert_shared.test_publisher.SamplePublisher2'], } publisher = _assemble_alert_publisher_for_output( self._alert, self._output, self._descriptor) assert_true(isinstance(publisher, CompositePublisher)) assert_equal(len(publisher._publishers), 1)
def test_assemble_alert_publisher_for_output_dict_key_string(self): """AlertPublisher - AlertPublisherRepository - assemble() - Dict with Key -> String""" self._alert.publishers = { 'demisto': 'tests.unit.stream_alert_shared.test_publisher.SamplePublisher1', 'pagerduty': ['tests.unit.stream_alert_shared.test_publisher.SamplePublisher2'] } publisher = _assemble_alert_publisher_for_output( self._alert, self._output, self._descriptor) assert_true(isinstance(publisher, CompositePublisher)) assert_equal(len(publisher._publishers), 1) assert_true(isinstance(publisher._publishers[0], SamplePublisher1))