[refactor] Move tests from aodh/test_plugin to aodh/test_sender

A number of tests for aodh.sender.Sender are in
aodh/test_plugin.py. Since aodh/test_sender.py was recently
added, it makes sense to move the sender tests to this new
location.

The following tests were moved:
* test_get_alarm_state_severity_low
* test_get_alarm_state_severity_moderate
* test_get_alarm_state_severity_critical

The tests were refactored to use self.sender that is defined
in TestSender/setUp().

Change-Id: I337c37b14f593183a46b8fd4b077c5b47bc791bc
This commit is contained in:
Emma Foley 2017-09-01 14:46:13 +00:00
parent d1ce958bee
commit 1e790c13ad
2 changed files with 53 additions and 64 deletions

View File

@ -27,7 +27,6 @@ import unittest
from collectd_ceilometer.aodh import plugin
from collectd_ceilometer.aodh import sender as aodh_sender
from collectd_ceilometer.common.keystone_light import KeystoneException
from collectd_ceilometer.common.meters import base
from collectd_ceilometer.common import sender as common_sender
from collectd_ceilometer.common import settings
@ -301,69 +300,6 @@ class TestPlugin(unittest.TestCase):
# no requests method has been called
put.assert_not_called()
@mock.patch.object(base.Meter, 'collectd_severity', spec=callable)
def test_get_alarm_state_severity_low(self, severity):
"""Test _get_alarm_state if severity is 'low'.
Set-up: create a sender instance, set severity to low
Test: call _get_alarm_state method with severity=low
Expected-behaviour: returned state value should equal 'ok'
and won't equal 'alarm' or insufficient data'
"""
instance = aodh_sender.Sender()
# run test for moderate severity
severity.return_value = 'low'
self.assertEqual(instance._get_alarm_state('low'), 'ok')
self.assertNotEqual(instance._get_alarm_state('low'), 'alarm')
self.assertNotEqual(instance._get_alarm_state('low'),
'insufficient data')
@mock.patch.object(base.Meter, 'collectd_severity', spec=callable)
def test_get_alarm_state_severity_moderate(self, severity):
"""Test _get_alarm_state if severity is 'moderate'.
Set-up: create a sender instance, set severity to moderate
Test: call _get_alarm_state method with severity=moderate
Expected-behaviour: returned state value should equal 'alarm'
and won't equal 'ok' or insufficient data'
"""
instance = aodh_sender.Sender()
# run test for moderate severity
severity.return_value = 'moderate'
self.assertEqual(instance._get_alarm_state('moderate'), 'alarm')
self.assertNotEqual(instance._get_alarm_state('moderate'), 'ok')
self.assertNotEqual(instance._get_alarm_state('moderate'),
'insufficient data')
@mock.patch.object(base.Meter, 'collectd_severity', spec=callable)
def test_get_alarm_state_severity_critical(self, severity):
"""Test _get_alarm_state if severity is 'critical'.
Set-up: create a sender instance, set severity to critical
Test: call _get_alarm_state method with severity=critical
Expected-behaviour: returned state value should equal 'alarm'
and won't equal 'ok' or 'insufficient data'
"""
instance = aodh_sender.Sender()
# run test for moderate severity
severity.return_value = 'critical'
self.assertEqual(instance._get_alarm_state('critical'), 'alarm')
self.assertNotEqual(instance._get_alarm_state('critical'), 'ok')
self.assertNotEqual(instance._get_alarm_state('critical'),
'insufficient data')
@mock.patch.object(common_sender.Sender, '_perform_request', spec=callable)
@mock.patch.object(common_sender, 'ClientV3', autospec=True)
@mock_collectd()

View File

@ -24,6 +24,8 @@ import unittest
from collectd_ceilometer.aodh import sender as aodh_sender
from collections import OrderedDict
from collectd_ceilometer.common.meters import base
valid_resp = '[{"alarm_actions": [], "event_rule": {"query": [],'\
'"event_type": "events.gauge"}, "ok_actions": [],'\
'"name": "alarm", "severity": "moderate",'\
@ -131,3 +133,54 @@ class TestSender(unittest.TestCase):
mock.ANY, "critical", "link status", "alarm", "critical")
_get_endpoint.assert_called_once_with(mock.ANY, "aodh")
self.assertEqual(alarm_id, valid_alarm_id, "invalid alarm id")
@mock.patch.object(base.Meter, 'collectd_severity', spec=callable)
def test_get_alarm_state_severity_low(self, severity):
"""Test _get_alarm_state if severity is 'low'.
Set-up: create a sender instance, set severity to low
Test: call _get_alarm_state method with severity=low
Expected-behaviour: returned state value should equal 'ok'
and won't equal 'alarm' or insufficient data'
"""
# run test for moderate severity
severity.return_value = 'low'
self.assertEqual('ok', self.sender._get_alarm_state('low'))
self.assertNotEqual('alarm', self.sender._get_alarm_state('low'))
self.assertNotEqual('insufficient data',
self.sender._get_alarm_state('low'))
@mock.patch.object(base.Meter, 'collectd_severity', spec=callable)
def test_get_alarm_state_severity_moderate(self, severity):
"""Test _get_alarm_state if severity is 'moderate'.
Set-up: create a sender instance, set severity to moderate
Test: call _get_alarm_state method with severity=moderate
Expected-behaviour: returned state value should equal 'alarm'
and won't equal 'ok' or insufficient data'
"""
# run test for moderate severity
severity.return_value = 'moderate'
self.assertEqual('alarm', self.sender._get_alarm_state('moderate'))
self.assertNotEqual('ok', self.sender._get_alarm_state('moderate'))
self.assertNotEqual('insufficient data',
self.sender._get_alarm_state('moderate'))
@mock.patch.object(base.Meter, 'collectd_severity', spec=callable)
def test_get_alarm_state_severity_critical(self, severity):
"""Test _get_alarm_state if severity is 'critical'.
Set-up: create a sender instance, set severity to critical
Test: call _get_alarm_state method with severity=critical
Expected-behaviour: returned state value should equal 'alarm'
and won't equal 'ok' or 'insufficient data'
"""
# run test for moderate severity
severity.return_value = 'critical'
self.assertEqual('alarm', self.sender._get_alarm_state('critical'))
self.assertNotEqual('okay', self.sender._get_alarm_state('critical'))
self.assertNotEqual('insufficient data',
self.sender._get_alarm_state('critical'))