Exemple #1
0
    def test_publish_snmpv3(self, mock_snmp):
        mock_snmp.return_value = SnmpHandler('user',
                                             '1.3.6.1.4.1.3375.2.100',
                                             port=TEST_PORT)
        with UdpReceiver(TEST_PORT) as server:
            with patch.dict('os.environ'):
                os.environ['OBSRVBL_SNMP_ENABLED'] = 'True'
                os.environ['OBSRVBL_SNMP_OBJECTID'] = '1.3.6.1.4.1.3375.2.100'
                os.environ['OBSRVBL_SNMP_SERVER'] = 'localhost'
                os.environ['OBSRVBL_SNMP_USER'] = '******'
                os.environ['OBSRVBL_SNMP_VERSION'] = '3'
                os.environ['OBSRVBL_SNMPV3_ENGINEID'] = '01020304'
                os.environ['OBSRVBL_SNMPV3_PASSPHRASE'] = 'opensesame'

                pub = NotificationPublisher()

                messages = []
                messages.append('foobar')
                pub.publish(messages, 'error')

            msg = server.pop()
            self.assertRegexpMatches(msg, 'foobar')

        self.assertEquals(mock_snmp.call_args_list, [
            call(objectID='1.3.6.1.4.1.3375.2.100',
                 port=162,
                 host='localhost',
                 user='******',
                 version='3',
                 passcode='opensesame',
                 engineID='01020304'),
        ])
    def test_publish_snmpv3(self, mock_snmp):
        mock_snmp.return_value = SnmpHandler('user', '1.3.6.1.4.1.3375.2.100',
                                             port=TEST_PORT)
        with UdpReceiver(TEST_PORT) as server:
            with patch.dict('os.environ'):
                os.environ['OBSRVBL_SNMP_ENABLED'] = 'True'
                os.environ['OBSRVBL_SNMP_OBJECTID'] = '1.3.6.1.4.1.3375.2.100'
                os.environ['OBSRVBL_SNMP_SERVER'] = 'localhost'
                os.environ['OBSRVBL_SNMP_USER'] = '******'
                os.environ['OBSRVBL_SNMP_VERSION'] = '3'
                os.environ['OBSRVBL_SNMPV3_ENGINEID'] = '01020304'
                os.environ['OBSRVBL_SNMPV3_PASSPHRASE'] = 'opensesame'

                pub = NotificationPublisher()

                messages = []
                messages.append('foobar')
                pub.publish(messages, 'error')

            msg = server.pop()
            self.assertRegexpMatches(msg, 'foobar')

        self.assertEquals(mock_snmp.call_args_list, [
            call(objectID='1.3.6.1.4.1.3375.2.100', port=162, host='localhost',
                 user='******', version='3', passcode='opensesame',
                 engineID='01020304'),
        ])
Exemple #3
0
    def test_publish_syslog(self):
        with UdpReceiver(TEST_PORT) as server:
            with patch.dict('os.environ'):
                os.environ['OBSRVBL_SYSLOG_ENABLED'] = 'True'
                os.environ['OBSRVBL_SYSLOG_SERVER'] = 'localhost'
                os.environ['OBSRVBL_SYSLOG_SERVER_PORT'] = str(TEST_PORT)
                os.environ['OBSRVBL_SYSLOG_FACILITY'] = 'user'

                pub = NotificationPublisher()

                messages = []
                messages.append('foobar')
                pub.publish(messages, 'error')

            msg = server.pop()
            # expect timestamp of the form:
            time = re.search(">(\d+-\d+-\d+T\d+:\d+:\d+.\d+\+00:00)",
                             msg).groups()[0]
            self.assertEqual(
                msg, get_syslog_string(time, 'user', 'error', 'foobar'))
    def test_publish_syslog(self):
        with UdpReceiver(TEST_PORT) as server:
            with patch.dict('os.environ'):
                os.environ['OBSRVBL_SYSLOG_ENABLED'] = 'True'
                os.environ['OBSRVBL_SYSLOG_SERVER'] = 'localhost'
                os.environ['OBSRVBL_SYSLOG_SERVER_PORT'] = str(TEST_PORT)
                os.environ['OBSRVBL_SYSLOG_FACILITY'] = 'user'

                pub = NotificationPublisher()

                messages = []
                messages.append('foobar')
                pub.publish(messages, 'error')

            msg = server.pop()
            # expect timestamp of the form:
            time = re.search(">(\d+-\d+-\d+T\d+:\d+:\d+.\d+\+00:00)",
                             msg).groups()[0]
            self.assertEqual(
                msg, get_syslog_string(time, 'user', 'error', 'foobar'))
Exemple #5
0
    def test_publish(self, mock_create_logger):
        mock_logger = Mock()
        mock_create_logger.return_value = mock_logger

        pub = NotificationPublisher()

        messages = ['foo', 'bar']
        pub.publish(messages, 'error')
        self.assertEquals(mock_logger.error.call_args_list, [
            call('foo'),
            call('bar'),
        ])

        messages = ['what?']
        pub.publish(messages, 'info')
        self.assertEquals(mock_logger.info.call_args_list, [
            call('what?'),
        ])

        pub.publish([], 'nope')
        self.assertEquals(mock_logger.nope.call_args_list, [])
    def test_publish(self, mock_create_logger):
        mock_logger = Mock()
        mock_create_logger.return_value = mock_logger

        pub = NotificationPublisher()

        messages = ['foo', 'bar']
        pub.publish(messages, 'error')
        self.assertEquals(mock_logger.error.call_args_list, [
            call('foo'),
            call('bar'),
        ])

        messages = ['what?']
        pub.publish(messages, 'info')
        self.assertEquals(mock_logger.info.call_args_list, [
            call('what?'),
        ])

        pub.publish([], 'nope')
        self.assertEquals(mock_logger.nope.call_args_list, [])