Beispiel #1
0
 def test_filter_silenced(self):
     handler = Handler()
     with patch.object(Handler, '_api_request') as mock_method:
         sentinel.Response.status_code = 200
         mock_method.return_value = sentinel.Response
         self.assertEqual(handler.filter_silenced(), True)
         sentinel.Response.status_code = 404
         self.assertEqual(handler.filter_silenced(), False)
Beispiel #2
0
 def test_stash_exists(self):
     handler = Handler()
     with patch.object(Handler, '_api_request') as mock_method:
         sentinel.Response.status_code = 200
         mock_method.return_value = sentinel.Response
         self.assertEqual(handler.stash_exists('/foo'), True)
         sentinel.Response.status_code = 404
         self.assertEqual(handler.stash_exists('/foo'), False)
Beispiel #3
0
 def setUp(self):
     self.cfg_file_1 = 'tests/config.json'
     self.cfg_file_2 = 'tests/checks.json'
     self.sample_event_file = 'tests/event.json'
     os.environ['SENSU_CONFIG_FILES'] = '{0}:{1}'.format(self.cfg_file_1,
         self.cfg_file_2)
     self.evt_json = open(self.sample_event_file, 'r').read()
     os.environ['SENSU_EVENT'] = self.evt_json
     os.environ['SENSU_TEST'] = 'True'
     self.handler = Handler()
Beispiel #4
0
 def test_filter_dependencies(self):
     handler = Handler()
     with patch.object(Handler, '_api_request') as mock_method:
         # check hit
         sentinel.Response.status_code = 200
         handler.event['check']['dependencies'] = ['foo', 'bar']
         mock_method.return_value = sentinel.Response
         self.assertEqual(handler.filter_dependencies(), True)
         # check miss
         sentinel.Response.status_code = 404
         del handler.event['check']['dependencies']
         self.assertEqual(handler.filter_dependencies(), False)
Beispiel #5
0
 def test_event_exists(self):
     handler = Handler()
     with patch.object(Handler, '_api_request') as mock_method:
         # check hit
         sentinel.Response.status_code = 200
         mock_method.return_value = sentinel.Response
         self.assertEqual(handler.event_exists('sensu.test', 'cron'), True)
         mock_method.assert_called_with('/event/sensu.test/cron')
         # check miss
         sentinel.Response.status_code = 404
         self.assertEqual(handler.event_exists('sensu.test', 'cron'), False)
         mock_method.assert_called_with('/event/sensu.test/cron')
Beispiel #6
0
class HandlerTestCase(unittest.TestCase):
    def setUp(self):
        self.cfg_file_1 = 'tests/config.json'
        self.cfg_file_2 = 'tests/checks.json'
        self.sample_event_file = 'tests/event.json'
        os.environ['SENSU_CONFIG_FILES'] = '{0}:{1}'.format(self.cfg_file_1,
            self.cfg_file_2)
        self.evt_json = open(self.sample_event_file, 'r').read()
        os.environ['SENSU_EVENT'] = self.evt_json
        os.environ['SENSU_TEST'] = 'True'
        self.handler = Handler()

    def tearDown(self):
        pass

    def test_handler_settings(self):
        self.assertTrue(self.handler.settings.has_key('api'))
        self.assertTrue(self.handler.settings.has_key('handlers'))
        self.assertTrue(self.handler.settings.has_key('checks'))

    def test_handler_event(self):
        self.assertNotEqual(self.handler.event, None)
        self.assertTrue(self.handler.event.has_key('check'))
        self.assertTrue(self.handler.event.has_key('action'))

    def test_handle(self):
        with self.assertRaises(HandlerException):
            self.handler.handle()

    def test_filter_disabled(self):
        self.assertEqual(self.handler.filter_disabled(), False)
        self.handler.event['check']['alert'] = False
        self.assertEqual(self.handler.filter_disabled(), True)

    def test_filter_repeated(self):
        self.handler.event['occurrences'] = 2
        self.assertEqual(self.handler.filter_repeated(), True)
        self.handler.event['occurrences'] = 60
        self.assertEqual(self.handler.filter_repeated(), False)

    def test_stash_exists(self):
        handler = Handler()
        with patch.object(Handler, '_api_request') as mock_method:
            sentinel.Response.status_code = 200
            mock_method.return_value = sentinel.Response
            self.assertEqual(handler.stash_exists('/foo'), True)
            sentinel.Response.status_code = 404
            self.assertEqual(handler.stash_exists('/foo'), False)

    def test_filter_silenced(self):
        handler = Handler()
        with patch.object(Handler, '_api_request') as mock_method:
            sentinel.Response.status_code = 200
            mock_method.return_value = sentinel.Response
            self.assertEqual(handler.filter_silenced(), True)
            sentinel.Response.status_code = 404
            self.assertEqual(handler.filter_silenced(), False)

    def test_event_exists(self):
        handler = Handler()
        with patch.object(Handler, '_api_request') as mock_method:
            # check hit
            sentinel.Response.status_code = 200
            mock_method.return_value = sentinel.Response
            self.assertEqual(handler.event_exists('sensu.test', 'cron'), True)
            mock_method.assert_called_with('/event/sensu.test/cron')
            # check miss
            sentinel.Response.status_code = 404
            self.assertEqual(handler.event_exists('sensu.test', 'cron'), False)
            mock_method.assert_called_with('/event/sensu.test/cron')

    def test_filter_dependencies(self):
        handler = Handler()
        with patch.object(Handler, '_api_request') as mock_method:
            # check hit
            sentinel.Response.status_code = 200
            handler.event['check']['dependencies'] = ['foo', 'bar']
            mock_method.return_value = sentinel.Response
            self.assertEqual(handler.filter_dependencies(), True)
            # check miss
            sentinel.Response.status_code = 404
            del handler.event['check']['dependencies']
            self.assertEqual(handler.filter_dependencies(), False)