From 87e02d79b8023334407b26dc725607c52fc613d0 Mon Sep 17 00:00:00 2001 From: Angus Salkeld Date: Fri, 26 Jul 2013 12:34:09 +1000 Subject: [PATCH] Fix a timing sensive cloudwatch testcase This was leaving a watchrule in the db and causing a test case in test_engine_service.py to fail. Also cleanup the created stacks. Change-Id: If8451291b4f17c797b72fd3ab51793d51c2c97ad --- heat/tests/test_cloudwatch.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/heat/tests/test_cloudwatch.py b/heat/tests/test_cloudwatch.py index 3a877e4b..f1b26055 100644 --- a/heat/tests/test_cloudwatch.py +++ b/heat/tests/test_cloudwatch.py @@ -44,17 +44,19 @@ class CloudWatchAlarmTest(common.HeatTestCase): def setUp(self): super(CloudWatchAlarmTest, self).setUp() utils.setup_dummy_db() + self.ctx = utils.dummy_context() def parse_stack(self): t = template_format.parse(AWS_CloudWatch_Alarm) - return utils.parse_stack(t) + self.stack = utils.parse_stack(t) + return self.stack - @utils.wr_delete_after + @utils.stack_delete_after def test_resource_create_good(self): s = self.parse_stack() - self.wr = s['test_me'] self.assertEqual(None, scheduler.TaskRunner(s['test_me'].create)()) + @utils.stack_delete_after def test_resource_create_failed(self): s = self.parse_stack() with patch.object(watchrule.WatchRule, 'store') as bad_store: @@ -62,18 +64,23 @@ class CloudWatchAlarmTest(common.HeatTestCase): task_func = scheduler.TaskRunner(s['test_me'].create) self.assertRaises(exception.ResourceFailure, task_func) + @utils.stack_delete_after def test_resource_delete_good(self): s = self.parse_stack() self.assertEqual(None, scheduler.TaskRunner(s['test_me'].create)()) self.assertEqual(None, scheduler.TaskRunner(s['test_me'].delete)()) + @utils.stack_delete_after @utils.wr_delete_after def test_resource_delete_notfound(self): # if a resource is not found, handle_delete() should not raise # an exception. s = self.parse_stack() - self.wr = s['test_me'] self.assertEqual(None, scheduler.TaskRunner(s['test_me'].create)()) + res_name = self.stack['test_me'].physical_resource_name() + self.wr = watchrule.WatchRule.load(self.ctx, + watch_name=res_name) + with patch.object(watchrule.WatchRule, 'destroy') as bad_destroy: bad_destroy.side_effect = exception.WatchRuleNotFound self.assertEqual(None, scheduler.TaskRunner(s['test_me'].delete)()) -- 2.45.2