X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_mon%2Ftests%2Funit%2Fevaluator%2Ftest_evaluator_service.py;h=e09418d7525f8e96bf4f12ba0bdf142b3b83bd2e;hb=628df021896fa8775f9743af62a4267b617cc35c;hp=88e3b4d66e86bde7d8bfb040aa543b2680d0a083;hpb=a97bdb3eafa4f3d07d61d32635f7f36f5cc36c58;p=osm%2FMON.git diff --git a/osm_mon/tests/unit/evaluator/test_evaluator_service.py b/osm_mon/tests/unit/evaluator/test_evaluator_service.py index 88e3b4d..e09418d 100644 --- a/osm_mon/tests/unit/evaluator/test_evaluator_service.py +++ b/osm_mon/tests/unit/evaluator/test_evaluator_service.py @@ -24,8 +24,9 @@ from unittest import TestCase, mock from osm_mon.core.common_db import CommonDbClient from osm_mon.core.config import Config -from osm_mon.core.database import AlarmRepository +from osm_mon.core.database import AlarmRepository, AlarmTag from osm_mon.core.message_bus_client import MessageBusClient +from osm_mon.evaluator.backends.prometheus import PrometheusBackend from osm_mon.evaluator.evaluator import AlarmStatus from osm_mon.evaluator.service import EvaluatorService @@ -153,21 +154,22 @@ class EvaluatorTest(TestCase): mock_alarm = mock.Mock() mock_alarm.operation = 'gt' mock_alarm.threshold = 50.0 + mock_alarm.metric = 'metric_name' get_metric_value.return_value = 100.0 service = EvaluatorService(self.config) service.queue = mock.Mock() - service._evaluate_metric('test_id', 1, 'test_name', 'test_metric_name', mock_alarm) + service._evaluate_metric(mock_alarm, {}) service.queue.put.assert_called_with((mock_alarm, AlarmStatus.ALARM)) service.queue.reset_mock() mock_alarm.operation = 'lt' - service._evaluate_metric('test_id', 1, 'test_name', 'test_metric_name', mock_alarm) + service._evaluate_metric(mock_alarm, {}) service.queue.put.assert_called_with((mock_alarm, AlarmStatus.OK)) service.queue.reset_mock() get_metric_value.return_value = None - service._evaluate_metric('test_id', 1, 'test_name', 'test_metric_name', mock_alarm) + service._evaluate_metric(mock_alarm, {}) service.queue.put.assert_called_with((mock_alarm, AlarmStatus.INSUFFICIENT)) @mock.patch('multiprocessing.Process') @@ -176,10 +178,14 @@ class EvaluatorTest(TestCase): @mock.patch.object(CommonDbClient, "get_vnfr") @mock.patch.object(AlarmRepository, "list") @mock.patch('osm_mon.core.database.db') - def test_evaluate(self, db, alarm_list, get_vnfr, get_vnfd, evaluate_metric, proccess): + def test_evaluate(self, db, alarm_list, get_vnfr, get_vnfd, evaluate_metric, process): mock_alarm = mock.Mock() mock_alarm.vdur_name = 'cirros_ns-1-cirros_vnfd-VM-1' mock_alarm.monitoring_param = 'cirros_vnf_memory_util' + mock_tag = AlarmTag() + mock_tag.name = 'name' + mock_tag.value = 'value' + mock_alarm.tags = [mock_tag] alarm_list.return_value = [mock_alarm] get_vnfr.return_value = vnfr_record_mock get_vnfd.return_value = vnfd_record_mock @@ -187,6 +193,13 @@ class EvaluatorTest(TestCase): evaluator = EvaluatorService(self.config) evaluator.evaluate_alarms() - proccess.assert_called_with(target=evaluate_metric, args=( - '87776f33-b67c-417a-8119-cb08e4098951', '1', 'cirros_ns-1-cirros_vnfd-VM-1', 'average_memory_utilization', - mock_alarm)) + process.assert_called_with(target=evaluate_metric, args=(mock_alarm, {'name': 'value'})) + + @mock.patch.object(PrometheusBackend, "get_metric_value") + @mock.patch('osm_mon.core.database.db') + def test_get_metric_value_prometheus(self, db, get_metric_value): + self.config.set('evaluator', 'backend', 'prometheus') + evaluator = EvaluatorService(self.config) + evaluator._get_metric_value('test', {}) + + get_metric_value.assert_called_with('test', {})