X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_mon%2Ftests%2Funit%2Fevaluator%2Ftest_evaluator_service.py;h=15af5b6e161ed4700b1f38eb40f341b4ec177466;hb=refs%2Fchanges%2F03%2F10803%2F1;hp=e09418d7525f8e96bf4f12ba0bdf142b3b83bd2e;hpb=a2c1bf826f95bebf48448a7100f26132db4680a5;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 e09418d..15af5b6 100644 --- a/osm_mon/tests/unit/evaluator/test_evaluator_service.py +++ b/osm_mon/tests/unit/evaluator/test_evaluator_service.py @@ -24,7 +24,6 @@ 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, 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 @@ -41,7 +40,7 @@ vnfr_record_mock = { { "mac-address": "fa:16:3e:71:fd:b8", "name": "eth0", - "ip-address": "192.168.160.2" + "ip-address": "192.168.160.2", } ], "status": "ACTIVE", @@ -49,7 +48,7 @@ vnfr_record_mock = { "name": "cirros_ns-1-cirros_vnfd-VM-1", "status-detailed": None, "ip-address": "192.168.160.2", - "vdu-id-ref": "cirros_vnfd-VM" + "vdu-id-ref": "cirros_vnfd-VM", } ], "id": "0d9d06ad-3fc2-418c-9934-465e815fafe2", @@ -57,87 +56,72 @@ vnfr_record_mock = { "vnfd-id": "63f44c41-45ee-456b-b10d-5f08fb1796e0", "_admin": { "created": 1535392482.0067868, - "projects_read": [ - "admin" - ], + "projects_read": ["admin"], "modified": 1535392482.0067868, - "projects_write": [ - "admin" - ] + "projects_write": ["admin"], }, "nsr-id-ref": "87776f33-b67c-417a-8119-cb08e4098951", "member-vnf-index-ref": "1", - "connection-point": [ - { - "name": "eth0", - "id": None, - "connection-point-id": None - } - ] + "connection-point": [{"name": "eth0", "id": None, "connection-point-id": None}], } vnfd_record_mock = { "_id": "63f44c41-45ee-456b-b10d-5f08fb1796e0", - "name": "cirros_vdu_scaling_vnf", - "vendor": "OSM", + "id": "cirros_vdu_scaling_vnf", + "_admin": {}, + "product-name": "cirros_vdu_scaling_vnf", + "version": "1.0", "vdu": [ { + "id": "cirros_vnfd-VM", "name": "cirros_vnfd-VM", - "monitoring-param": [ + "int-cpd": [ { - "id": "cirros_vnfd-VM_memory_util", - "nfvi-metric": "average_memory_utilization" + "virtual-network-interface-requirement": [{"name": "vdu-eth0"}], + "id": "vdu-eth0-int", } ], - "vm-flavor": { - "vcpu-count": 1, - "memory-mb": 256, - "storage-gb": 2 - }, - "description": "cirros_vnfd-VM", - "count": 1, - "id": "cirros_vnfd-VM", - "interface": [ + "virtual-compute-desc": "cirros_vnfd-VM-compute", + "virtual-storage-desc": ["cirros_vnfd-VM-storage"], + "sw-image-desc": "cirros034", + "monitoring-parameter": [ { - "name": "eth0", - "external-connection-point-ref": "eth0", - "type": "EXTERNAL", - "virtual-interface": { - "bandwidth": "0", - "type": "VIRTIO", - "vpci": "0000:00:0a.0" - } + "id": "cirros_vnfd-VM_memory_util", + "name": "cirros_vnfd-VM_memory_util", + "performance-metric": "average_memory_utilization", } ], - "image": "cirros034" } ], - "monitoring-param": [ + "virtual-compute-desc": [ { - "id": "cirros_vnf_memory_util", - "name": "cirros_vnf_memory_util", - "aggregation-type": "AVERAGE", - "vdu-monitoring-param": { - "vdu-monitoring-param-ref": "cirros_vnfd-VM_memory_util", - "vdu-ref": "cirros_vnfd-VM" - } + "id": "cirros_vnfd-VM-compute", + "virtual-cpu": {"num-virtual-cpu": 1}, + "virtual-memory": {"size": 1}, } ], - "description": "Simple VNF example with a cirros and a scaling group descriptor", - "id": "cirros_vdu_scaling_vnf", - "logo": "cirros-64.png", - "version": "1.0", - "connection-point": [ + "virtual-storage-desc": [{"id": "cirros_vnfd-VM-storage", "size-of-storage": 2}], + "sw-image-desc": [{"id": "cirros034", "name": "cirros034", "image": "cirros034"}], + "ext-cpd": [ { - "name": "eth0", - "type": "VPORT" + "int-cpd": {"vdu-id": "cirros_vnfd-VM", "cpd": "vdu-eth0-int"}, + "id": "vnf-cp0-ext", } ], - "mgmt-interface": { - "cp": "eth0" - }, - "short-name": "cirros_vdu_scaling_vnf", - "_admin": {} + "df": [ + { + "id": "default-df", + "vdu-profile": [{"id": "cirros_vnfd-VM"}], + "instantiation-level": [ + { + "id": "default-instantiation-level", + "vdu-level": [{"vdu-id": "cirros_vnfd-VM"}], + } + ], + } + ], + "description": "Simple VNF example with a cirros and a scaling group descriptor", + "mgmt-cp": "vnf-cp0-ext", } @@ -149,43 +133,40 @@ class EvaluatorTest(TestCase): self.config = Config() @mock.patch.object(EvaluatorService, "_get_metric_value") - @mock.patch('osm_mon.core.database.db') - def test_evaluate_metric(self, db, get_metric_value): + def test_evaluate_metric(self, get_metric_value): mock_alarm = mock.Mock() - mock_alarm.operation = 'gt' + mock_alarm.operation = "gt" mock_alarm.threshold = 50.0 - mock_alarm.metric = 'metric_name' + mock_alarm.metric = "metric_name" get_metric_value.return_value = 100.0 service = EvaluatorService(self.config) service.queue = mock.Mock() - service._evaluate_metric(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(mock_alarm, {}) + mock_alarm.operation = "lt" + 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(mock_alarm, {}) + service._evaluate_metric(mock_alarm) service.queue.put.assert_called_with((mock_alarm, AlarmStatus.INSUFFICIENT)) - @mock.patch('multiprocessing.Process') + @mock.patch("multiprocessing.Process") @mock.patch.object(EvaluatorService, "_evaluate_metric") @mock.patch.object(CommonDbClient, "get_vnfd") @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, process): + @mock.patch.object(CommonDbClient, "get_alarms") + def test_evaluate_alarms( + self, 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] + mock_alarm.vdur_name = "cirros_ns-1-cirros_vnfd-VM-1" + mock_alarm.monitoring_param = "cirros_vnf_memory_util" + mock_alarm.tags = {"name": "value"} alarm_list.return_value = [mock_alarm] get_vnfr.return_value = vnfr_record_mock get_vnfd.return_value = vnfd_record_mock @@ -193,13 +174,12 @@ class EvaluatorTest(TestCase): evaluator = EvaluatorService(self.config) evaluator.evaluate_alarms() - process.assert_called_with(target=evaluate_metric, args=(mock_alarm, {'name': 'value'})) + process.assert_called_with(target=evaluate_metric, args=(mock_alarm,)) @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') + def test_get_metric_value_prometheus(self, get_metric_value): + self.config.set("evaluator", "backend", "prometheus") evaluator = EvaluatorService(self.config) - evaluator._get_metric_value('test', {}) + evaluator._get_metric_value("test", {}) - get_metric_value.assert_called_with('test', {}) + get_metric_value.assert_called_with("test", {})