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))
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')
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')