def test_is_valid_alarm_definition(self):
     self.assertEqual(True, validator.is_valid_alarm_definition(
         self.util.get_alarm_def("alarm_def_1")))
     self.assertEqual(True, validator.is_valid_alarm_definition(
         self.util.get_alarm_def("alarm_def_0")))
     self.assertEqual(True, validator.is_valid_alarm_definition(
         self.util.get_alarm_def("alarm_def_1_update")))
     self.assertEqual(True, validator.is_valid_alarm_definition(
         self.util.get_alarm_def("alarm_def_1_update_wrong_0")))
     self.assertEqual(False, validator.is_valid_alarm_definition(
         self.util.get_alarm_def("alarm_def_0_wrong_0")))
     self.assertEqual(False, validator.is_valid_alarm_definition(
         self.util.get_alarm_def("alarm_def_0_wrong_1")))
     self.assertEqual(True, validator.is_valid_alarm_definition(
         self.util.get_alarm_def("alarm_def_1_update_wrong_1")))
 def test_is_valid_alarm_definition(self):
     self.assertEqual(True, validator.is_valid_alarm_definition(
         self.alarm_definition1))
     self.assertEqual(True, validator.is_valid_alarm_definition(
         self.alarm_definition0))
     self.assertEqual(True, validator.is_valid_alarm_definition(
         self.alarm_definition1_update))
     self.assertEqual(True, validator.is_valid_alarm_definition(
         self.alarm_definition1_update_wrong0))
     self.assertEqual(False, validator.is_valid_alarm_definition(
         self.alarm_definition0_wrong0))
     self.assertEqual(False, validator.is_valid_alarm_definition(
         self.alarm_definition0_wrong1))
     self.assertEqual(True, validator.is_valid_alarm_definition(
         self.alarm_definition1_update_wrong1))
Exemplo n.º 3
0
    def do_post_alarm_definitions(self, req, res):
        LOG.debug('Creating the alarm definitions')
        msg = req.stream.read()
        LOG.debug("Message: %s" % msg)
        post_msg = ast.literal_eval(msg)

        # random uuid generation for alarm definition
        id = str(uuid.uuid4())
        post_msg["id"] = id
        post_msg = AlarmDefinitionUtil.severityparsing(post_msg)
        post_msg_json = json.dumps(post_msg)
        LOG.debug("Validating Alarm Definition Data: %s" % post_msg_json)

        if alarm_expr_validator.is_valid_alarm_definition(post_msg_json):
            LOG.debug("Post Alarm Definition method: %s" % post_msg)
            try:
                expression_parsed = (
                    alarm_expr_parser.AlarmExprParser(post_msg["expression"]))
                expression_data = expression_parsed.sub_alarm_expressions
                expression_data_list = []
                for temp in expression_data:
                    expression_data_list.append(expression_data[temp])
                post_msg["expression_data"] = expression_data_list
                LOG.debug(post_msg)

                es_res = self._es_conn.post_messages(json.dumps(post_msg), id)
                LOG.debug('Query to ElasticSearch returned Status: %s' %
                          es_res)
                res.status = getattr(falcon, 'HTTP_%s' % es_res)
            except Exception:
                LOG.exception('Error occurred while handling '
                              'Alarm Definition Post Request.')
                res.status = getattr(falcon, 'HTTP_400')
        else:
            LOG.error('Alarm definition is not valid.')
            res.status = getattr(falcon, 'HTTP_400')
Exemplo n.º 4
0
    def do_post_alarm_definitions(self, req, res):
        LOG.debug('Creating the alarm definitions')
        msg = req.stream.read()
        LOG.debug("Message: %s" % msg)
        post_msg = ast.literal_eval(msg)

        # random uuid generation for alarm definition
        id = str(uuid.uuid4())
        post_msg["id"] = id
        post_msg = AlarmDefinitionUtil.severityparsing(post_msg)
        post_msg_json = json.dumps(post_msg)
        LOG.debug("Validating Alarm Definition Data: %s" % post_msg_json)

        if alarm_expr_validator.is_valid_alarm_definition(post_msg_json):
            LOG.debug("Post Alarm Definition method: %s" % post_msg)
            try:
                expression_parsed = (alarm_expr_parser.AlarmExprParser(
                    post_msg["expression"]))
                expression_data = expression_parsed.sub_alarm_expressions
                expression_data_list = []
                for temp in expression_data:
                    expression_data_list.append(expression_data[temp])
                post_msg["expression_data"] = expression_data_list
                LOG.debug(post_msg)

                es_res = self._es_conn.post_messages(json.dumps(post_msg), id)
                LOG.debug('Query to ElasticSearch returned Status: %s' %
                          es_res)
                res.status = getattr(falcon, 'HTTP_%s' % es_res)
            except Exception:
                LOG.exception('Error occurred while handling '
                              'Alarm Definition Post Request.')
                res.status = getattr(falcon, 'HTTP_400')
        else:
            LOG.error('Alarm definition is not valid.')
            res.status = getattr(falcon, 'HTTP_400')