# Path: monasca_notification/notification.py
# class Notification(object):
#     def __init__(self, id, type, name, address, period, retry_count, alarm):
#     def __eq__(self, other):
#     def __ne__(self, other):
#     def to_json(self):
# 
# Path: monasca_notification/plugins/hipchat_notifier.py
# CONF = cfg.CONF
# SEVERITY_COLORS = {"low": 'green',
#                    'medium': 'gray',
#                    'high': 'yellow',
#                    'critical': 'red'}
# class HipChatNotifier(abstract_notifier.AbstractNotifier):
#     def __init__(self, log):
#     def config(self, config_dict=None):
#     def statsd_name(self):
#     def _build_hipchat_message(self, notification):
#     def _get_color(self, severity):
#     def send_notification(self, notification):
# def register_opts(conf):
# def list_opts():
# 
# Path: tests/base.py
# class DisableStatsdFixture(fixtures.Fixture):
# class ConfigFixture(oo_cfg.Config):
# class BaseTestCase(oslotest_base.BaseTestCase):
# class PluginTestCase(BaseTestCase):
#     def setUp(self):
#     def __init__(self):
#     def setUp(self):
#     def _clean_config_loaded_flag():
#     def setUp(self):
#     def conf_override(**kw):
#     def conf_default(**kw):
#     def setUp(self, register_opts=None):


import json
import queue
from unittest import mock
from monasca_notification import notification as m_notification
from monasca_notification.plugins import hipchat_notifier
from tests import base
    def __init__(self, status):
        self.status_code = status


class TestHipchat(base.PluginTestCase):
    def setUp(self):
        super(TestHipchat, self).setUp(hipchat_notifier.register_opts)
        self.conf_default(group='hipchat_notifier', timeout=50)

        self.trap = queue.Queue()

    def tearDown(self):
        super(TestHipchat, self).tearDown()
        self.assertTrue(self.trap.empty())

    def _http_post_200(self, url, data, **kwargs):
        self.trap.put(url)
        self.trap.put(data)
        r = requestsResponse(200)
        return r

    @mock.patch('monasca_notification.plugins.hipchat_notifier.requests')
    def notify(self, http_func, mock_requests):
        mock_log = mock.MagicMock()
        mock_log.warn = self.trap.put
        mock_log.error = self.trap.put
        mock_log.exception = self.trap.put

        mock_requests.post = http_func


# Path: monasca_notification/notification.py
# class Notification(object):
#     def __init__(self, id, type, name, address, period, retry_count, alarm):
#     def __eq__(self, other):
#     def __ne__(self, other):
#     def to_json(self):
# 
# Path: monasca_notification/plugins/hipchat_notifier.py
# CONF = cfg.CONF
# SEVERITY_COLORS = {"low": 'green',
#                    'medium': 'gray',
#                    'high': 'yellow',
#                    'critical': 'red'}
# class HipChatNotifier(abstract_notifier.AbstractNotifier):
#     def __init__(self, log):
#     def config(self, config_dict=None):
#     def statsd_name(self):
#     def _build_hipchat_message(self, notification):
#     def _get_color(self, severity):
#     def send_notification(self, notification):
# def register_opts(conf):
# def list_opts():
# 
# Path: tests/base.py
# class DisableStatsdFixture(fixtures.Fixture):
# class ConfigFixture(oo_cfg.Config):
# class BaseTestCase(oslotest_base.BaseTestCase):
# class PluginTestCase(BaseTestCase):
#     def setUp(self):
#     def __init__(self):
#     def setUp(self):
#     def _clean_config_loaded_flag():
#     def setUp(self):
#     def conf_override(**kw):
#     def conf_default(**kw):
#     def setUp(self, register_opts=None):


# Path: tests/test_hipchat_notification.py
import json
import queue
from unittest import mock
from monasca_notification import notification as m_notification
from monasca_notification.plugins import hipchat_notifier
from tests import base

    def __init__(self, status):
        self.status_code = status


class TestHipchat(base.PluginTestCase):
    def setUp(self):
        super(TestHipchat, self).setUp(hipchat_notifier.register_opts)
        self.conf_default(group='hipchat_notifier', timeout=50)

        self.trap = queue.Queue()

    def tearDown(self):
        super(TestHipchat, self).tearDown()
        self.assertTrue(self.trap.empty())

    def _http_post_200(self, url, data, **kwargs):
        self.trap.put(url)
        self.trap.put(data)
        r = requestsResponse(200)
        return r

    @mock.patch('monasca_notification.plugins.hipchat_notifier.requests')
    def notify(self, http_func, mock_requests):
        mock_log = mock.MagicMock()
        mock_log.warn = self.trap.put
        mock_log.error = self.trap.put
        mock_log.exception = self.trap.put

        mock_requests.post = http_func


        hipchat = hipchat_notifier.HipChatNotifier(mock_log)