X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_mon%2Ftest%2FOpenStack%2Funit%2Ftest_alarm_req.py;h=02cec8b59ea2a20f9a261ff8f823b319303fa917;hb=93699898c51364cde193d8d441f4aed45670e7bf;hp=f767c4741530c747a8e8e8ddf71a908bb497cc16;hpb=e80db311a29dc8562dc84ae3336af167bac2ec5b;p=osm%2FMON.git diff --git a/osm_mon/test/OpenStack/unit/test_alarm_req.py b/osm_mon/test/OpenStack/unit/test_alarm_req.py index f767c47..02cec8b 100644 --- a/osm_mon/test/OpenStack/unit/test_alarm_req.py +++ b/osm_mon/test/OpenStack/unit/test_alarm_req.py @@ -22,17 +22,16 @@ """Tests for all alarm request message keys.""" import json - import logging - import unittest +from io import UnsupportedOperation import mock from osm_mon.core.auth import AuthManager from osm_mon.core.database import VimCredentials, DatabaseManager -from osm_mon.core.message_bus.producer import KafkaProducer -from osm_mon.plugins.OpenStack.Aodh import alarming as alarm_req +from osm_mon.plugins.OpenStack.Aodh import alarm_handler as alarm_req +from osm_mon.plugins.OpenStack.Aodh.alarm_handler import OpenstackAlarmHandler from osm_mon.plugins.OpenStack.common import Common log = logging.getLogger(__name__) @@ -51,14 +50,13 @@ class Message(object): self.value = json.dumps({'mock_value': 'mock_details'}) -@mock.patch.object(KafkaProducer, 'publish', mock.Mock()) class TestAlarmKeys(unittest.TestCase): """Integration test for alarm request keys.""" def setUp(self): """Setup the tests for alarm request keys.""" super(TestAlarmKeys, self).setUp() - self.alarming = alarm_req.Alarming() + self.alarming = alarm_req.OpenstackAlarmHandler() self.alarming.common = Common() @mock.patch.object(AuthManager, 'get_credentials') @@ -67,11 +65,10 @@ class TestAlarmKeys(unittest.TestCase): def test_alarming_authentication(self, get_token, get_endpoint, get_creds): """Test getting an auth_token and endpoint for alarm requests.""" # if auth_token is None environment variables are used to authenticate - message = Message() - get_creds.return_value = mock_creds - self.alarming.alarming(message, 'test_id') + with self.assertRaises(UnsupportedOperation): + self.alarming.handle_message('', {}, 'test_id') get_token.assert_called_with('test_id', verify_ssl=True) get_endpoint.assert_any_call('alarming', 'test_id', verify_ssl=True) @@ -79,59 +76,49 @@ class TestAlarmKeys(unittest.TestCase): @mock.patch.object(Common, 'get_endpoint', mock.Mock()) @mock.patch.object(Common, 'get_auth_token', mock.Mock()) @mock.patch.object(AuthManager, 'get_credentials') - @mock.patch.object(alarm_req.Alarming, 'delete_alarm') + @mock.patch.object(alarm_req.OpenstackAlarmHandler, 'delete_alarm') def test_delete_alarm_key(self, del_alarm, get_creds): """Test the functionality for a create alarm request.""" - # Mock a message value and key - message = Message() - message.key = 'delete_alarm_request' - message.value = json.dumps({'alarm_delete_request': { + value = {'alarm_delete_request': { 'correlation_id': 1, 'alarm_uuid': 'my_alarm_id' - }}) + }} get_creds.return_value = mock_creds del_alarm.return_value = {} # Call the alarming functionality and check delete request - self.alarming.alarming(message, 'test_id') + self.alarming.handle_message('delete_alarm_request', value, 'test_id') del_alarm.assert_called_with(mock.ANY, mock.ANY, 'my_alarm_id', True) @mock.patch.object(Common, 'get_endpoint', mock.Mock()) @mock.patch.object(Common, 'get_auth_token', mock.Mock()) @mock.patch.object(AuthManager, 'get_credentials') - @mock.patch.object(alarm_req.Alarming, 'list_alarms') + @mock.patch.object(alarm_req.OpenstackAlarmHandler, 'list_alarms') def test_list_alarm_key(self, list_alarm, get_creds): """Test the functionality for a list alarm request.""" - # Mock a message with list alarm key and value - message = Message() - message.key = 'list_alarm_request' - message.value = json.dumps({'alarm_list_request': {'correlation_id': 1}}) + value = {'alarm_list_request': {'correlation_id': 1}} get_creds.return_value = mock_creds list_alarm.return_value = [] # Call the alarming functionality and check list functionality - self.alarming.alarming(message, 'test_id') + self.alarming.handle_message('list_alarm_request', value, 'test_id') list_alarm.assert_called_with(mock.ANY, mock.ANY, {'correlation_id': 1}, True) @mock.patch.object(Common, 'get_auth_token', mock.Mock()) @mock.patch.object(Common, 'get_endpoint', mock.Mock()) @mock.patch.object(AuthManager, 'get_credentials') - @mock.patch.object(alarm_req.Alarming, 'update_alarm_state') + @mock.patch.object(alarm_req.OpenstackAlarmHandler, 'update_alarm_state') def test_ack_alarm_key(self, ack_alarm, get_creds): """Test the functionality for an acknowledge alarm request.""" - # Mock a message with acknowledge alarm key and value - message = Message() - message.key = 'acknowledge_alarm' - message.value = json.dumps({'ack_details': - {'alarm_uuid': 'my_alarm_id'}}) + value = {'ack_details': {'alarm_uuid': 'my_alarm_id'}} get_creds.return_value = mock_creds # Call alarming functionality and check acknowledge functionality - self.alarming.alarming(message, 'test_id') + self.alarming.handle_message('acknowledge_alarm_request', value, 'test_id') ack_alarm.assert_called_with(mock.ANY, mock.ANY, 'my_alarm_id', True) @mock.patch.object(Common, 'get_auth_token', mock.Mock()) @@ -139,25 +126,22 @@ class TestAlarmKeys(unittest.TestCase): @mock.patch.object(DatabaseManager, 'save_alarm', mock.Mock()) @mock.patch.object(Common, "perform_request") @mock.patch.object(AuthManager, 'get_credentials') - @mock.patch.object(alarm_req.Alarming, 'configure_alarm') + @mock.patch.object(alarm_req.OpenstackAlarmHandler, 'configure_alarm') def test_config_alarm_key(self, config_alarm, get_creds, perf_req): """Test the functionality for a create alarm request.""" - # Mock a message with config alarm key and value - message = Message() - message.key = 'create_alarm_request' - message.value = json.dumps({'alarm_create_request': {'correlation_id': 1, 'threshold_value': 50, - 'operation': 'GT', 'metric_name': 'cpu_utilization', - 'vdu_name': 'vdu', - 'vnf_member_index': '1', - 'ns_id': '1', - 'resource_uuid': '123'}}) + value = {'alarm_create_request': {'correlation_id': 1, 'threshold_value': 50, + 'operation': 'GT', 'metric_name': 'cpu_utilization', + 'vdu_name': 'vdu', + 'vnf_member_index': '1', + 'ns_id': '1', + 'resource_uuid': '123'}} mock_perf_req_return_value = {"metrics": {"cpu_util": 123}} perf_req.return_value = type('obj', (object,), {'text': json.dumps(mock_perf_req_return_value, sort_keys=True)}) get_creds.return_value = mock_creds # Call alarming functionality and check config alarm call config_alarm.return_value = 'my_alarm_id' - self.alarming.alarming(message, 'test_id') + self.alarming.handle_message('create_alarm_request', value, 'test_id') config_alarm.assert_called_with(mock.ANY, mock.ANY, {'correlation_id': 1, 'threshold_value': 50, 'operation': 'GT', 'metric_name': 'cpu_utilization',