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_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(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, [])