X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_mon%2Ftest%2FOpenStack%2Funit%2Ftest_metric_calls.py;h=b71ca722246dfff7e35d4a601d0e6741d3531c25;hb=93699898c51364cde193d8d441f4aed45670e7bf;hp=3f89a910a234b7f5752cc7c8fe5bf7bbeff6a0cc;hpb=9608081aa7b0ff8823ddbcd1144948ee0369160e;p=osm%2FMON.git diff --git a/osm_mon/test/OpenStack/unit/test_metric_calls.py b/osm_mon/test/OpenStack/unit/test_metric_calls.py index 3f89a91..b71ca72 100644 --- a/osm_mon/test/OpenStack/unit/test_metric_calls.py +++ b/osm_mon/test/OpenStack/unit/test_metric_calls.py @@ -22,16 +22,13 @@ """Tests for all metric request message keys.""" import json - import logging - import unittest import mock from osm_mon.core.auth import AuthManager -from osm_mon.plugins.OpenStack.Gnocchi import metrics as metric_req - +from osm_mon.plugins.OpenStack.Gnocchi import metric_handler as metric_req from osm_mon.plugins.OpenStack.common import Common log = logging.getLogger(__name__) @@ -72,10 +69,10 @@ class TestMetricCalls(unittest.TestCase): def setUp(self): """Setup the tests for metric request keys.""" super(TestMetricCalls, self).setUp() - self.metrics = metric_req.Metrics() + self.metrics = metric_req.OpenstackMetricHandler() self.metrics._common = Common() - @mock.patch.object(metric_req.Metrics, "get_metric_id") + @mock.patch.object(metric_req.OpenstackMetricHandler, "get_metric_id") @mock.patch.object(Common, "perform_request") def test_invalid_config_metric_req( self, perf_req, get_metric): @@ -83,31 +80,28 @@ class TestMetricCalls(unittest.TestCase): # Test invalid configuration for creating a metric values = {"metric_details": "invalid_metric"} - m_id, r_id, status = self.metrics.configure_metric( - endpoint, auth_token, values, verify_ssl=False) + with self.assertRaises(ValueError): + self.metrics.configure_metric(endpoint, auth_token, values, verify_ssl=False) perf_req.assert_not_called() - self.assertEqual(status, False) # Test with an invalid metric name, will not perform request values = {"resource_uuid": "r_id"} - m_id, r_id, status = self.metrics.configure_metric( - endpoint, auth_token, values, verify_ssl=False) + with self.assertRaises(ValueError): + self.metrics.configure_metric(endpoint, auth_token, values, verify_ssl=False) perf_req.assert_not_called() - self.assertEqual(status, False) # If metric exists, it won't be recreated get_metric.return_value = "metric_id" - m_id, r_id, status = self.metrics.configure_metric( - endpoint, auth_token, values, verify_ssl=False) + with self.assertRaises(ValueError): + self.metrics.configure_metric(endpoint, auth_token, values, verify_ssl=False) perf_req.assert_not_called() - self.assertEqual(status, False) - @mock.patch.object(metric_req.Metrics, "get_metric_id") + @mock.patch.object(metric_req.OpenstackMetricHandler, "get_metric_id") @mock.patch.object(Common, "perform_request") @mock.patch.object(AuthManager, "get_credentials") def test_valid_config_metric_req( @@ -136,6 +130,10 @@ class TestMetricCalls(unittest.TestCase): @mock.patch.object(Common, "perform_request") def test_delete_metric_req(self, perf_req): """Test the delete metric function.""" + mock_response = Response() + mock_response.status_code = 200 + perf_req.return_value = mock_response + self.metrics.delete_metric(endpoint, auth_token, "metric_id", verify_ssl=False) perf_req.assert_called_with( @@ -146,11 +144,10 @@ class TestMetricCalls(unittest.TestCase): """Test invalid response for delete request.""" perf_req.return_value = type('obj', (object,), {"status_code": "404"}) - status = self.metrics.delete_metric(endpoint, auth_token, "metric_id", verify_ssl=False) - - self.assertEqual(status, False) + with self.assertRaises(ValueError): + self.metrics.delete_metric(endpoint, auth_token, "metric_id", verify_ssl=False) - @mock.patch.object(metric_req.Metrics, "response_list") + @mock.patch.object(metric_req.OpenstackMetricHandler, "response_list") @mock.patch.object(Common, "perform_request") def test_complete_list_metric_req(self, perf_req, resp_list): """Test the complete list metric function.""" @@ -163,7 +160,7 @@ class TestMetricCalls(unittest.TestCase): "/v1/metric?sort=name:asc", auth_token, req_type="get", verify_ssl=False) resp_list.assert_called_with([{u'id': u'test_id'}]) - @mock.patch.object(metric_req.Metrics, "response_list") + @mock.patch.object(metric_req.OpenstackMetricHandler, "response_list") @mock.patch.object(Common, "perform_request") def test_resource_list_metric_req(self, perf_req, resp_list): """Test the resource list metric function.""" @@ -175,7 +172,7 @@ class TestMetricCalls(unittest.TestCase): perf_req.assert_any_call( "/v1/metric/test_id", auth_token, req_type="get", verify_ssl=False) - @mock.patch.object(metric_req.Metrics, "response_list") + @mock.patch.object(metric_req.OpenstackMetricHandler, "response_list") @mock.patch.object(Common, "perform_request") def test_name_list_metric_req(self, perf_req, resp_list): """Test the metric_name list metric function.""" @@ -189,7 +186,7 @@ class TestMetricCalls(unittest.TestCase): resp_list.assert_called_with( [{u'id': u'test_id'}], metric_name="disk_write_bytes") - @mock.patch.object(metric_req.Metrics, "response_list") + @mock.patch.object(metric_req.OpenstackMetricHandler, "response_list") @mock.patch.object(Common, "perform_request") def test_combined_list_metric_req(self, perf_req, resp_list): """Test the combined resource and metric list metric function.""" @@ -206,13 +203,15 @@ class TestMetricCalls(unittest.TestCase): @mock.patch.object(Common, "perform_request") def test_get_metric_id(self, perf_req): """Test get_metric_id function.""" - perf_req.return_value = type('obj', (object,), {'text': '{"alarm_id":"1"}'}) + mock_response = Response() + mock_response.text = json.dumps({'metrics': {'my_metric': 'id'}}) + perf_req.return_value = mock_response self.metrics.get_metric_id(endpoint, auth_token, "my_metric", "r_id", verify_ssl=False) perf_req.assert_called_with( "/v1/resource/generic/r_id", auth_token, req_type="get", verify_ssl=False) - @mock.patch.object(metric_req.Metrics, "get_metric_id") + @mock.patch.object(metric_req.OpenstackMetricHandler, "get_metric_id") @mock.patch.object(Common, "perform_request") def test_valid_read_data_req(self, perf_req, get_metric): """Test the read metric data function, for a valid call.""" @@ -230,15 +229,11 @@ class TestMetricCalls(unittest.TestCase): @mock.patch.object(Common, "perform_request") def test_invalid_read_data_req(self, perf_req): - """Test the read metric data function, for an invalid call.""" - # Teo empty lists wil be returned because the values are invalid + """Test the read metric data function for an invalid call.""" values = {} - times, data = self.metrics.read_metric_data( - endpoint, auth_token, values, verify_ssl=False) - - self.assertEqual(times, []) - self.assertEqual(data, []) + with self.assertRaises(KeyError): + self.metrics.read_metric_data(endpoint, auth_token, values, verify_ssl=False) def test_complete_response_list(self): """Test the response list function for formatting metric lists."""