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:
Peter Razumovsky
2015-09-07 17:38:03 +03:00
parent cff9dda9c3
commit 9a3182aef1
3 changed files with 37 additions and 59 deletions

View File

@@ -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()

View File

@@ -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)

View File

@@ -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)()