Delete children handle_delete testing (Ceilometer)
Delete children handle_delete correctness testing for Resource's children classes. This tests can be deleted because of testing correctness of handle_delete in test_resource. Also, small fix for overloaded handle_delete in alarms. Change-Id: Ide2ce186bffd6faba23d68a58cf10fdf9e2cd28c
This commit is contained in:
@@ -372,7 +372,7 @@ class CeilometerAlarm(resource.Resource):
|
||||
except exception.WatchRuleNotFound:
|
||||
pass
|
||||
|
||||
super(CeilometerAlarm, self).handle_delete()
|
||||
return super(CeilometerAlarm, self).handle_delete()
|
||||
|
||||
def handle_check(self):
|
||||
watch_name = self.physical_resource_name()
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
import copy
|
||||
import json
|
||||
|
||||
from ceilometerclient import exc as ceilometerclient_exc
|
||||
import mock
|
||||
import mox
|
||||
import six
|
||||
@@ -28,6 +27,7 @@ from heat.engine import rsrc_defn
|
||||
from heat.engine import scheduler
|
||||
from heat.engine import stack as parser
|
||||
from heat.engine import template as tmpl
|
||||
from heat.engine import watchrule
|
||||
from heat.tests import common
|
||||
from heat.tests import utils
|
||||
|
||||
@@ -453,22 +453,47 @@ class CeilometerAlarmTest(common.HeatTestCase):
|
||||
'MEMAlarmHigh', resource_defns['MEMAlarmHigh'], stack)
|
||||
self.assertIsNone(rsrc.validate())
|
||||
|
||||
def test_delete_alarm_not_found(self):
|
||||
def test_delete_watchrule_destroy(self):
|
||||
t = template_format.parse(alarm_template)
|
||||
|
||||
self.stack = self.create_stack(template=json.dumps(t))
|
||||
self.m.StubOutWithMock(self.fa.alarms, 'delete')
|
||||
self.fa.alarms.delete('foo').AndRaise(
|
||||
ceilometerclient_exc.HTTPNotFound())
|
||||
|
||||
self.m.ReplayAll()
|
||||
self.stack.create()
|
||||
rsrc = self.stack['MEMAlarmHigh']
|
||||
|
||||
scheduler.TaskRunner(rsrc.delete)()
|
||||
self.assertEqual((rsrc.DELETE, rsrc.COMPLETE), rsrc.state)
|
||||
wr = mock.MagicMock()
|
||||
self.patchobject(watchrule.WatchRule, 'load', return_value=wr)
|
||||
wr.destroy.return_value = None
|
||||
|
||||
self.m.VerifyAll()
|
||||
self.patchobject(ceilometer.CeilometerClientPlugin, 'client',
|
||||
return_value=self.fa)
|
||||
self.patchobject(self.fa.alarms, 'delete')
|
||||
rsrc.resource_id = '12345'
|
||||
|
||||
self.assertEqual('12345', rsrc.handle_delete())
|
||||
self.assertEqual(1, wr.destroy.call_count)
|
||||
# check that super method has been called and execute deleting
|
||||
self.assertEqual(1, self.fa.alarms.delete.call_count)
|
||||
|
||||
def test_delete_no_watchrule(self):
|
||||
t = template_format.parse(alarm_template)
|
||||
|
||||
self.stack = self.create_stack(template=json.dumps(t))
|
||||
rsrc = self.stack['MEMAlarmHigh']
|
||||
|
||||
wr = mock.MagicMock()
|
||||
self.patchobject(watchrule.WatchRule, 'load',
|
||||
side_effect=[exception.WatchRuleNotFound(
|
||||
watch_name='test')])
|
||||
wr.destroy.return_value = None
|
||||
|
||||
self.patchobject(ceilometer.CeilometerClientPlugin, 'client',
|
||||
return_value=self.fa)
|
||||
self.patchobject(self.fa.alarms, 'delete')
|
||||
rsrc.resource_id = '12345'
|
||||
|
||||
self.assertEqual('12345', rsrc.handle_delete())
|
||||
self.assertEqual(0, wr.destroy.call_count)
|
||||
# check that super method has been called and execute deleting
|
||||
self.assertEqual(1, self.fa.alarms.delete.call_count)
|
||||
|
||||
def _prepare_check_resource(self):
|
||||
snippet = template_format.parse(not_string_alarm_template)
|
||||
@@ -718,29 +743,6 @@ class CombinationAlarmTest(common.HeatTestCase):
|
||||
|
||||
self.m.VerifyAll()
|
||||
|
||||
def test_delete(self):
|
||||
rsrc = self.create_alarm()
|
||||
self.m.StubOutWithMock(self.fc.alarms, 'delete')
|
||||
self.fc.alarms.delete('foo')
|
||||
self.m.ReplayAll()
|
||||
scheduler.TaskRunner(rsrc.create)()
|
||||
scheduler.TaskRunner(rsrc.delete)()
|
||||
self.assertEqual((rsrc.DELETE, rsrc.COMPLETE), rsrc.state)
|
||||
|
||||
self.m.VerifyAll()
|
||||
|
||||
def test_delete_not_found(self):
|
||||
rsrc = self.create_alarm()
|
||||
self.m.StubOutWithMock(self.fc.alarms, 'delete')
|
||||
self.fc.alarms.delete('foo').AndRaise(
|
||||
ceilometerclient_exc.HTTPNotFound())
|
||||
self.m.ReplayAll()
|
||||
scheduler.TaskRunner(rsrc.create)()
|
||||
scheduler.TaskRunner(rsrc.delete)()
|
||||
self.assertEqual((rsrc.DELETE, rsrc.COMPLETE), rsrc.state)
|
||||
|
||||
self.m.VerifyAll()
|
||||
|
||||
def _prepare_check_resource(self):
|
||||
snippet = template_format.parse(combination_alarm_template)
|
||||
self.stack = utils.parse_stack(snippet)
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
|
||||
import copy
|
||||
|
||||
from ceilometerclient import exc as ceilometerclient_exc
|
||||
import mock
|
||||
import mox
|
||||
|
||||
@@ -191,29 +190,6 @@ class GnocchiResourcesAlarmTest(common.HeatTestCase):
|
||||
|
||||
self.m.VerifyAll()
|
||||
|
||||
def test_delete(self):
|
||||
rsrc = self.create_alarm()
|
||||
self.m.StubOutWithMock(self.fc.alarms, 'delete')
|
||||
self.fc.alarms.delete('foo')
|
||||
self.m.ReplayAll()
|
||||
scheduler.TaskRunner(rsrc.create)()
|
||||
scheduler.TaskRunner(rsrc.delete)()
|
||||
self.assertEqual((rsrc.DELETE, rsrc.COMPLETE), rsrc.state)
|
||||
|
||||
self.m.VerifyAll()
|
||||
|
||||
def test_delete_not_found(self):
|
||||
rsrc = self.create_alarm()
|
||||
self.m.StubOutWithMock(self.fc.alarms, 'delete')
|
||||
self.fc.alarms.delete('foo').AndRaise(
|
||||
ceilometerclient_exc.HTTPNotFound())
|
||||
self.m.ReplayAll()
|
||||
scheduler.TaskRunner(rsrc.create)()
|
||||
scheduler.TaskRunner(rsrc.delete)()
|
||||
self.assertEqual((rsrc.DELETE, rsrc.COMPLETE), rsrc.state)
|
||||
|
||||
self.m.VerifyAll()
|
||||
|
||||
def test_check(self):
|
||||
res = self._prepare_check_resource()
|
||||
scheduler.TaskRunner(res.check)()
|
||||
|
||||
Reference in New Issue
Block a user