X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_mon%2Ftest%2FOpenStack%2Fintegration%2Ftest_notify_alarm.py;h=8aa2c9fec1adcd15f4d5ddc69e916b3bfa26295b;hb=93699898c51364cde193d8d441f4aed45670e7bf;hp=1b2c64cb1fac8f883346767a3416e092cdc24313;hpb=b85fc8cdf840080b10d01c33b4a57a2a39bcc0f1;p=osm%2FMON.git diff --git a/osm_mon/test/OpenStack/integration/test_notify_alarm.py b/osm_mon/test/OpenStack/integration/test_notify_alarm.py index 1b2c64c..8aa2c9f 100644 --- a/osm_mon/test/OpenStack/integration/test_notify_alarm.py +++ b/osm_mon/test/OpenStack/integration/test_notify_alarm.py @@ -21,7 +21,6 @@ ## """Tests for all common OpenStack methods.""" - from __future__ import unicode_literals import json import logging @@ -31,14 +30,14 @@ from threading import Thread import mock import requests +from kafka import KafkaProducer from six.moves.BaseHTTPServer import BaseHTTPRequestHandler from six.moves.BaseHTTPServer import HTTPServer -from osm_mon.core.message_bus.producer import KafkaProducer from osm_mon.core.settings import Config -from osm_mon.plugins.OpenStack.Aodh.alarming import Alarming +from osm_mon.plugins.OpenStack.Aodh.alarm_handler import OpenstackAlarmHandler from osm_mon.plugins.OpenStack.common import Common -from osm_mon.plugins.OpenStack.response import OpenStack_Response +from osm_mon.plugins.OpenStack.response import OpenStackResponseBuilder log = logging.getLogger(__name__) @@ -86,12 +85,10 @@ class MockNotifierHandler(BaseHTTPRequestHandler): def notify_alarm(self, values): """Mock the notify_alarm functionality to generate a valid response.""" - config = Config.instance() - config.read_environ() - self._alarming = Alarming() + cfg = Config.instance() + self._alarming = OpenstackAlarmHandler() self._common = Common() - self._response = OpenStack_Response() - self._producer = KafkaProducer('alarm_response') + self._response = OpenStackResponseBuilder() alarm_id = values['alarm_id'] auth_token = Common.get_auth_token('test_id') @@ -115,14 +112,13 @@ class MockNotifierHandler(BaseHTTPRequestHandler): # Try generate and send response try: resp_message = self._response.generate_response( - 'notify_alarm', a_id=alarm_id, - r_id=resource_id, + 'notify_alarm', + alarm_id=alarm_id, + resource_id=resource_id, sev=values['severity'], date=a_date, state=values['current'], vim_type="OpenStack") - self._producer.notify_alarm( - 'notify_alarm', resp_message, 'alarm_response') except Exception: - pass + log.exception("Error generating response") def get_free_port(): @@ -154,12 +150,11 @@ def test_do_get(): class AlarmNotificationTest(unittest.TestCase): - @mock.patch.object(KafkaProducer, "notify_alarm") - @mock.patch.object(OpenStack_Response, "generate_response") + @mock.patch.object(OpenStackResponseBuilder, "generate_response") @mock.patch.object(Common, "perform_request") @mock.patch.object(Common, "get_endpoint") @mock.patch.object(Common, "get_auth_token") - def test_post_notify_alarm(self, auth, endpoint, perf_req, resp, notify): + def test_post_notify_alarm(self, auth, endpoint, perf_req, resp): """Integration test for notify_alarm.""" url = 'http://localhost:{port}/users'.format(port=mock_server_port) payload = {"severity": "critical", @@ -183,9 +178,6 @@ class AlarmNotificationTest(unittest.TestCase): self.assertEqual(response.status_code, 200) # A response message is generated with the following details resp.assert_called_with( - "notify_alarm", a_id="my_alarm_id", r_id="my_resource_id", + "notify_alarm", alarm_id="my_alarm_id", resource_id="my_resource_id", sev="critical", date='dd-mm-yyyy 00:00', state="current_state", vim_type="OpenStack") - - # Response message is sent back to the SO via MON's producer - notify.assert_called_with("notify_alarm", mock.ANY, "alarm_response")