X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_mon%2Ftests%2Funit%2Fcollector%2Fvnf_collectors%2Fvmware%2Ftest_vrops_helper.py;h=db8b28a8b35d003036f4038332c889187768bc61;hb=refs%2Fchanges%2F03%2F10803%2F1;hp=3589d7dc81ada576e1f57af24dfaf338dfefbaf0;hpb=a2eeb474200b8f9ebcaee6fa68fe52b6e1a5e337;p=osm%2FMON.git diff --git a/osm_mon/tests/unit/collector/vnf_collectors/vmware/test_vrops_helper.py b/osm_mon/tests/unit/collector/vnf_collectors/vmware/test_vrops_helper.py index 3589d7d..db8b28a 100644 --- a/osm_mon/tests/unit/collector/vnf_collectors/vmware/test_vrops_helper.py +++ b/osm_mon/tests/unit/collector/vnf_collectors/vmware/test_vrops_helper.py @@ -21,7 +21,9 @@ # # from osm_mon.collector.vnf_collectors.vrops.vrops_helper import vROPS_Helper -from osm_mon.tests.unit.collector.vnf_collectors.vmware.mock_http import mock_http_response +from osm_mon.tests.unit.collector.vnf_collectors.vmware.mock_http import ( + mock_http_response, +) from unittest import TestCase import json @@ -30,7 +32,6 @@ import requests_mock class vROPS_Helper_Resource_List_Test(TestCase): - def setUp(self): super().setUp() self.vrops = vROPS_Helper() @@ -40,64 +41,93 @@ class vROPS_Helper_Resource_List_Test(TestCase): def test_get_vm_resource_list_from_vrops(self): with requests_mock.Mocker() as mock_requests: - mock_http_response(mock_requests, method='POST', - url_pattern='/suite-api/api/auth/token/acquire', - response_file='vrops_token.json') - mock_http_response(mock_requests, - url_pattern='/suite-api/api/resources\\?resourceKind=VirtualMachine', - response_file='vrops_resources.json') + mock_http_response( + mock_requests, + method="POST", + url_pattern="/suite-api/api/auth/token/acquire", + response_file="vrops_token.json", + ) + mock_http_response( + mock_requests, + url_pattern="/suite-api/api/resources\\?resourceKind=VirtualMachine", + response_file="vrops_resources.json", + ) resource_list = self.vrops.get_vm_resource_list_from_vrops() - self.assertEqual(len(resource_list), 3, "List of resources from canned vrops_resources.json") + self.assertEqual( + len(resource_list), + 3, + "List of resources from canned vrops_resources.json", + ) def test_get_vm_resource_list_from_vrops_http_404(self): with requests_mock.Mocker() as mock_requests: - mock_http_response(mock_requests, method='POST', - url_pattern='/suite-api/api/auth/token/acquire', - response_file='vrops_token.json') - mock_http_response(mock_requests, - url_pattern='/suite-api/api/resources\\?resourceKind=VirtualMachine', - response_file='404.txt', status_code=404) + mock_http_response( + mock_requests, + method="POST", + url_pattern="/suite-api/api/auth/token/acquire", + response_file="vrops_token.json", + ) + mock_http_response( + mock_requests, + url_pattern="/suite-api/api/resources\\?resourceKind=VirtualMachine", + response_file="404.txt", + status_code=404, + ) resource_list = self.vrops.get_vm_resource_list_from_vrops() self.assertEqual(len(resource_list), 0, "Should return an empty list") def test_get_vm_resource_list_from_vrops_bad_json(self): with requests_mock.Mocker() as mock_requests: - mock_http_response(mock_requests, method='POST', - url_pattern='/suite-api/api/auth/token/acquire', - response_file='vrops_token.json') - mock_http_response(mock_requests, - url_pattern='/suite-api/api/resources\\?resourceKind=VirtualMachine', - response_file='malformed.json') + mock_http_response( + mock_requests, + method="POST", + url_pattern="/suite-api/api/auth/token/acquire", + response_file="vrops_token.json", + ) + mock_http_response( + mock_requests, + url_pattern="/suite-api/api/resources\\?resourceKind=VirtualMachine", + response_file="malformed.json", + ) resource_list = self.vrops.get_vm_resource_list_from_vrops() self.assertEqual(len(resource_list), 0, "Should return an empty list") class vROPS_Helper_Get_Metrics_Test(TestCase): - def setUp(self): super().setUp() self.vrops = vROPS_Helper() - with open(os.path.join(os.path.dirname(__file__), 'osm_mocks', 'VNFR.json'), 'r') as f: + with open( + os.path.join(os.path.dirname(__file__), "osm_mocks", "VNFR.json"), "r" + ) as f: self.vnfr = json.load(f) def tearDown(self): super().tearDown() def test_collect_one_metric_only(self): - vdu_mappings = {'VMWARE-OID-VM-1': - {'name': 'vmware-scaling-1-ubuntu_vnfd-VM-2', - 'vrops_id': 'VROPS-UUID-1'}} + vdu_mappings = { + "VMWARE-OID-VM-1": { + "name": "vmware-scaling-1-ubuntu_vnfd-VM-2", + "vrops_id": "VROPS-UUID-1", + } + } monitoring_params = [ {"id": "ubuntu_vnf_cpu_util", "performance-metric": "cpu_utilization"}, - ] + ] with requests_mock.Mocker() as mock_requests: - mock_http_response(mock_requests, method='POST', - url_pattern='/suite-api/api/auth/token/acquire', - response_file='vrops_token.json') - mock_http_response(mock_requests, - url_pattern='/suite-api/api/resources/stats.*', - response_file='vrops_multi.json') + mock_http_response( + mock_requests, + method="POST", + url_pattern="/suite-api/api/auth/token/acquire", + response_file="vrops_token.json", + ) + mock_http_response( + mock_requests, + url_pattern="/suite-api/api/resources/stats.*", + response_file="vrops_multi.json", + ) metrics = self.vrops.get_metrics(vdu_mappings, monitoring_params, self.vnfr) self.assertEqual(len(metrics), 1, "Number of metrics returned") @@ -105,45 +135,66 @@ class vROPS_Helper_Get_Metrics_Test(TestCase): self.assertEqual(metrics[0].value, 100.0, "CPU metric value") def test_collect_cpu_and_memory(self): - vdu_mappings = {'VMWARE-OID-VM-1': - {'name': 'vmware-scaling-1-ubuntu_vnfd-VM-2', - 'vrops_id': 'VROPS-UUID-1'}} + vdu_mappings = { + "VMWARE-OID-VM-1": { + "name": "vmware-scaling-1-ubuntu_vnfd-VM-2", + "vrops_id": "VROPS-UUID-1", + } + } monitoring_params = [ {"id": "ubuntu_vnf_cpu_util", "performance-metric": "cpu_utilization"}, - {"id": "ubuntu_vnf_average_memory_utilization", "performance-metric": "average_memory_utilization"} - ] + { + "id": "ubuntu_vnf_average_memory_utilization", + "performance-metric": "average_memory_utilization", + }, + ] with requests_mock.Mocker() as mock_requests: - mock_http_response(mock_requests, method='POST', - url_pattern='/suite-api/api/auth/token/acquire', - response_file='vrops_token.json') - mock_http_response(mock_requests, - url_pattern='/suite-api/api/resources/stats.*', - response_file='vrops_multi.json') + mock_http_response( + mock_requests, + method="POST", + url_pattern="/suite-api/api/auth/token/acquire", + response_file="vrops_token.json", + ) + mock_http_response( + mock_requests, + url_pattern="/suite-api/api/resources/stats.*", + response_file="vrops_multi.json", + ) metrics = self.vrops.get_metrics(vdu_mappings, monitoring_params, self.vnfr) self.assertEqual(len(metrics), 2, "Number of metrics returned") self.assertEqual(metrics[0].name, "cpu_utilization", "First metric name") self.assertEqual(metrics[0].value, 100.0, "CPU metric value") - self.assertEqual(metrics[1].name, "average_memory_utilization", "Second metric name") + self.assertEqual( + metrics[1].name, "average_memory_utilization", "Second metric name" + ) self.assertEqual(metrics[1].value, 20.515941619873047, "Memory metric value") def test_collect_adjusted_metric(self): - vdu_mappings = {'VMWARE-OID-VM-1': - {'name': 'vmware-scaling-1-ubuntu_vnfd-VM-2', - 'vrops_id': 'VROPS-UUID-1'}} + vdu_mappings = { + "VMWARE-OID-VM-1": { + "name": "vmware-scaling-1-ubuntu_vnfd-VM-2", + "vrops_id": "VROPS-UUID-1", + } + } monitoring_params = [ - {'id': 'ubuntu_vnf_cpu_util', 'performance-metric': 'disk_read_bytes'} - ] + {"id": "ubuntu_vnf_cpu_util", "performance-metric": "disk_read_bytes"} + ] with requests_mock.Mocker() as mock_requests: - mock_http_response(mock_requests, method='POST', - url_pattern='/suite-api/api/auth/token/acquire', - response_file='vrops_token.json') - mock_http_response(mock_requests, - url_pattern='/suite-api/api/resources/stats.*', - response_file='vrops_multi.json') + mock_http_response( + mock_requests, + method="POST", + url_pattern="/suite-api/api/auth/token/acquire", + response_file="vrops_token.json", + ) + mock_http_response( + mock_requests, + url_pattern="/suite-api/api/resources/stats.*", + response_file="vrops_multi.json", + ) metrics = self.vrops.get_metrics(vdu_mappings, monitoring_params, self.vnfr) @@ -152,151 +203,232 @@ class vROPS_Helper_Get_Metrics_Test(TestCase): self.assertEqual(metrics[0].value, 10240.0, "Disk read bytes (not KB/s)") def test_collect_not_provided_metric(self): - vdu_mappings = {'VMWARE-OID-VM-1': - {'name': 'vmware-scaling-1-ubuntu_vnfd-VM-2', - 'vrops_id': 'VROPS-UUID-1'}} + vdu_mappings = { + "VMWARE-OID-VM-1": { + "name": "vmware-scaling-1-ubuntu_vnfd-VM-2", + "vrops_id": "VROPS-UUID-1", + } + } monitoring_params = [ - {'id': 'cirros_vnf_packets_sent', 'performance-metric': 'packets_in_dropped'}, - ] + { + "id": "cirros_vnf_packets_sent", + "performance-metric": "packets_in_dropped", + }, + ] with requests_mock.Mocker() as mock_requests: - mock_http_response(mock_requests, method='POST', - url_pattern='/suite-api/api/auth/token/acquire', - response_file='vrops_token.json') - mock_http_response(mock_requests, - url_pattern='/suite-api/api/resources/stats.*', - response_file='vrops_multi.json') + mock_http_response( + mock_requests, + method="POST", + url_pattern="/suite-api/api/auth/token/acquire", + response_file="vrops_token.json", + ) + mock_http_response( + mock_requests, + url_pattern="/suite-api/api/resources/stats.*", + response_file="vrops_multi.json", + ) metrics = self.vrops.get_metrics(vdu_mappings, monitoring_params, self.vnfr) self.assertEqual(len(metrics), 0, "Number of metrics returned") def test_collect_unkown_metric(self): - vdu_mappings = {'VMWARE-OID-VM-1': - {'name': 'vmware-scaling-1-ubuntu_vnfd-VM-2', - 'vrops_id': 'VROPS-UUID-1'}} + vdu_mappings = { + "VMWARE-OID-VM-1": { + "name": "vmware-scaling-1-ubuntu_vnfd-VM-2", + "vrops_id": "VROPS-UUID-1", + } + } monitoring_params = [ - {'id': 'cirros_vnf-Unknown_Metric', 'performance-metric': 'unknown'}, - ] + {"id": "cirros_vnf-Unknown_Metric", "performance-metric": "unknown"}, + ] with requests_mock.Mocker() as mock_requests: - mock_http_response(mock_requests, method='POST', - url_pattern='/suite-api/api/auth/token/acquire', - response_file='vrops_token.json') - mock_http_response(mock_requests, - url_pattern='/suite-api/api/resources/stats.*', - response_file='vrops_multi.json') + mock_http_response( + mock_requests, + method="POST", + url_pattern="/suite-api/api/auth/token/acquire", + response_file="vrops_token.json", + ) + mock_http_response( + mock_requests, + url_pattern="/suite-api/api/resources/stats.*", + response_file="vrops_multi.json", + ) metrics = self.vrops.get_metrics(vdu_mappings, monitoring_params, self.vnfr) self.assertEqual(len(metrics), 0, "Number of metrics returned") def test_collect_vrops_no_data(self): - vdu_mappings = {'VMWARE-OID-VM-1': - {'name': 'vmware-scaling-1-ubuntu_vnfd-VM-2', - 'vrops_id': 'VROPS-UUID-1'}} + vdu_mappings = { + "VMWARE-OID-VM-1": { + "name": "vmware-scaling-1-ubuntu_vnfd-VM-2", + "vrops_id": "VROPS-UUID-1", + } + } monitoring_params = [ {"id": "ubuntu_vnf_cpu_util", "performance-metric": "cpu_utilization"}, - ] + ] with requests_mock.Mocker() as mock_requests: - mock_http_response(mock_requests, method='POST', - url_pattern='/suite-api/api/auth/token/acquire', - response_file='vrops_token.json') - mock_http_response(mock_requests, - url_pattern='/suite-api/api/resources/stats.*', - response_file='OK.json') + mock_http_response( + mock_requests, + method="POST", + url_pattern="/suite-api/api/auth/token/acquire", + response_file="vrops_token.json", + ) + mock_http_response( + mock_requests, + url_pattern="/suite-api/api/resources/stats.*", + response_file="OK.json", + ) metrics = self.vrops.get_metrics(vdu_mappings, monitoring_params, self.vnfr) self.assertEqual(len(metrics), 0, "Number of metrics returned") def test_collect_vrops_unknown_vim_id(self): - vdu_mappings = {'VMWARE-OID-VM-1': - {'name': 'vmware-scaling-1-ubuntu_vnfd-VM-2'}} + vdu_mappings = { + "VMWARE-OID-VM-1": {"name": "vmware-scaling-1-ubuntu_vnfd-VM-2"} + } monitoring_params = [ {"id": "ubuntu_vnf_cpu_util", "performance-metric": "cpu_utilization"}, - ] + ] with requests_mock.Mocker() as mock_requests: - mock_http_response(mock_requests, method='POST', - url_pattern='/suite-api/api/auth/token/acquire', - response_file='vrops_token.json') - mock_http_response(mock_requests, - url_pattern='/suite-api/api/resources/stats.*', - response_file='vrops_multi.json') + mock_http_response( + mock_requests, + method="POST", + url_pattern="/suite-api/api/auth/token/acquire", + response_file="vrops_token.json", + ) + mock_http_response( + mock_requests, + url_pattern="/suite-api/api/resources/stats.*", + response_file="vrops_multi.json", + ) metrics = self.vrops.get_metrics(vdu_mappings, monitoring_params, self.vnfr) self.assertEqual(len(metrics), 0, "Number of metrics returned") def test_collect_vrops_http_error(self): - vdu_mappings = {'VMWARE-OID-VM-1': - {'name': 'vmware-scaling-1-ubuntu_vnfd-VM-2', - 'vrops_id': 'VROPS-UUID-1'}} + vdu_mappings = { + "VMWARE-OID-VM-1": { + "name": "vmware-scaling-1-ubuntu_vnfd-VM-2", + "vrops_id": "VROPS-UUID-1", + } + } monitoring_params = [ {"id": "ubuntu_vnf_cpu_util", "performance-metric": "cpu_utilization"}, - ] + ] with requests_mock.Mocker() as mock_requests: - mock_http_response(mock_requests, method='POST', - url_pattern='/suite-api/api/auth/token/acquire', - response_file='vrops_token.json') - mock_http_response(mock_requests, - url_pattern='/suite-api/api/resources/stats.*', - response_file='404.txt', status_code=404) + mock_http_response( + mock_requests, + method="POST", + url_pattern="/suite-api/api/auth/token/acquire", + response_file="vrops_token.json", + ) + mock_http_response( + mock_requests, + url_pattern="/suite-api/api/resources/stats.*", + response_file="404.txt", + status_code=404, + ) metrics = self.vrops.get_metrics(vdu_mappings, monitoring_params, self.vnfr) self.assertEqual(len(metrics), 0, "Number of metrics returned") def test_collect_vrops_json_parse_error(self): - vdu_mappings = {'VMWARE-OID-VM-1': - {'name': 'vmware-scaling-1-ubuntu_vnfd-VM-2', - 'vrops_id': 'VROPS-UUID-1'}} + vdu_mappings = { + "VMWARE-OID-VM-1": { + "name": "vmware-scaling-1-ubuntu_vnfd-VM-2", + "vrops_id": "VROPS-UUID-1", + } + } monitoring_params = [ {"id": "ubuntu_vnf_cpu_util", "performance-metric": "cpu_utilization"}, - ] + ] with requests_mock.Mocker() as mock_requests: - mock_http_response(mock_requests, method='POST', - url_pattern='/suite-api/api/auth/token/acquire', - response_file='vrops_token.json') - mock_http_response(mock_requests, - url_pattern='/suite-api/api/resources/stats.*', - response_file='404.txt') + mock_http_response( + mock_requests, + method="POST", + url_pattern="/suite-api/api/auth/token/acquire", + response_file="vrops_token.json", + ) + mock_http_response( + mock_requests, + url_pattern="/suite-api/api/resources/stats.*", + response_file="404.txt", + ) metrics = self.vrops.get_metrics(vdu_mappings, monitoring_params, self.vnfr) self.assertEqual(len(metrics), 0, "Number of metrics returned") def test_collect_multi_vdu(self): - vdu_mappings = {'VMWARE-UUID-VM-1': - {'name': 'vmware-scaling-1-ubuntu_vnfd-VM-1', 'vrops_id': 'VROPS-UUID-1'}, - 'VMWARE-UUID-VM-2': - {'name': 'vmware-scaling-1-ubuntu_vnfd-VM-2', 'vrops_id': 'VROPS-UUID-2'}, - 'VMWARE-UUID-VM-3': - {'name': 'vmware-scaling-1-ubuntu_vnfd-VM-2', 'vrops_id': 'VROPS-UUID-3'} - } + vdu_mappings = { + "VMWARE-UUID-VM-1": { + "name": "vmware-scaling-1-ubuntu_vnfd-VM-1", + "vrops_id": "VROPS-UUID-1", + }, + "VMWARE-UUID-VM-2": { + "name": "vmware-scaling-1-ubuntu_vnfd-VM-2", + "vrops_id": "VROPS-UUID-2", + }, + "VMWARE-UUID-VM-3": { + "name": "vmware-scaling-1-ubuntu_vnfd-VM-2", + "vrops_id": "VROPS-UUID-3", + }, + } monitoring_params = [ - {'id': 'ubuntu_vnf_cpu_util', 'performance-metric': 'cpu_utilization'}, - {'id': 'ubuntu_vnf_average_memory_utilization', 'performance-metric': 'average_memory_utilization'}, - {'id': 'ubuntu_vnf_disk_read_ops', 'performance-metric': 'disk_read_ops'}, - {'id': 'ubuntu_vnf_disk_write_ops', 'performance-metric': 'disk_write_ops'}, - {'id': 'ubuntu_vnf_disk_read_bytes', 'performance-metric': 'disk_read_bytes'}, - {'id': 'ubuntu_vnf_disk_write_bytes', 'performance-metric': 'disk_write_bytes'}, - {'id': 'ubuntu_vnf_packets_out_dropped', 'performance-metric': 'packets_out_dropped'}, - {'id': 'ubuntu_vnf_packets_received', 'performance-metric': 'packets_received'}, - {'id': 'ubuntu_vnf_packets_sent', 'performance-metric': 'packets_sent'} - ] + {"id": "ubuntu_vnf_cpu_util", "performance-metric": "cpu_utilization"}, + { + "id": "ubuntu_vnf_average_memory_utilization", + "performance-metric": "average_memory_utilization", + }, + {"id": "ubuntu_vnf_disk_read_ops", "performance-metric": "disk_read_ops"}, + {"id": "ubuntu_vnf_disk_write_ops", "performance-metric": "disk_write_ops"}, + { + "id": "ubuntu_vnf_disk_read_bytes", + "performance-metric": "disk_read_bytes", + }, + { + "id": "ubuntu_vnf_disk_write_bytes", + "performance-metric": "disk_write_bytes", + }, + { + "id": "ubuntu_vnf_packets_out_dropped", + "performance-metric": "packets_out_dropped", + }, + { + "id": "ubuntu_vnf_packets_received", + "performance-metric": "packets_received", + }, + {"id": "ubuntu_vnf_packets_sent", "performance-metric": "packets_sent"}, + ] with requests_mock.Mocker() as mock_requests: - mock_http_response(mock_requests, method='POST', - url_pattern='/suite-api/api/auth/token/acquire', - response_file='vrops_token.json') - mock_http_response(mock_requests, - url_pattern='/suite-api/api/resources/stats.*', - response_file='vrops_multi.json') + mock_http_response( + mock_requests, + method="POST", + url_pattern="/suite-api/api/auth/token/acquire", + response_file="vrops_token.json", + ) + mock_http_response( + mock_requests, + url_pattern="/suite-api/api/resources/stats.*", + response_file="vrops_multi.json", + ) metrics = self.vrops.get_metrics(vdu_mappings, monitoring_params, self.vnfr) - self.assertEqual(len(metrics), len(monitoring_params) * len(vdu_mappings), "Number of metrics returned") + self.assertEqual( + len(metrics), + len(monitoring_params) * len(vdu_mappings), + "Number of metrics returned", + )