Exemple #1
0
    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.streamalert.shared.test_publisher.SamplePublisher1',
                'tests.unit.streamalert.shared.test_publisher.SamplePublisher2',
            ],
            'demisto:some_descriptor': [
                'tests.unit.streamalert.shared.test_publisher.SamplePublisher3',
                'tests.unit.streamalert.shared.test_publisher.SamplePublisher4',
            ],
            'pagerduty': [
                'tests.unit.streamalert.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))
Exemple #2
0
    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))
Exemple #3
0
    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))
Exemple #4
0
    def test_assemble_alert_publisher_for_output_single_string(self):
        """AlertPublisher - AlertPublisherRepository - assemble() - String"""
        self._alert.publishers = 'tests.unit.streamalert.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))
Exemple #5
0
    def test_assemble_alert_publisher_for_output_dict_irrelevant_key(self):
        """AlertPublisher - AlertPublisherRepository - assemble() - Dict with Irrelevant Key"""
        self._alert.publishers = {
            'pagerduty':
            ['tests.unit.streamalert.shared.test_publisher.SamplePublisher1']
        }

        publisher = _assemble_alert_publisher_for_output(
            self._alert, self._output, self._descriptor)

        assert_true(isinstance(publisher, DefaultPublisher))
Exemple #6
0
    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.streamalert.shared.test_publisher.SamplePublisher1'),
            'pagerduty':
            ['tests.unit.streamalert.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)
Exemple #7
0
    def test_assemble_alert_publisher_for_output_dict_key_string(self):
        """AlertPublisher - AlertPublisherRepository - assemble() - Dict with Key -> String"""
        self._alert.publishers = {
            'demisto':
            'tests.unit.streamalert.shared.test_publisher.SamplePublisher1',
            'pagerduty':
            ['tests.unit.streamalert.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))