From: Steven Hardy Date: Mon, 9 Jul 2012 13:58:08 +0000 (+0100) Subject: heat engine: raise appropriate error on bad stack name X-Git-Tag: 2014.1~1625 X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=3b7e0ae4c615a203ed40a99b8e74f8bd18bdf2b9;p=openstack-build%2Fheat-build.git heat engine: raise appropriate error on bad stack name Raise an AttributeError when called with a bad stack name, this then maps to the appropriate HeatInvalidParameterValueError Change-Id: Ic11142e95166ade380c2ad8741ed7063684214fb Signed-off-by: Steven Hardy --- diff --git a/heat/engine/manager.py b/heat/engine/manager.py index 81b630e7..d4e93123 100644 --- a/heat/engine/manager.py +++ b/heat/engine/manager.py @@ -90,7 +90,10 @@ class EngineManager(manager.Manager): if stack_name is not None: s = db_api.stack_get_by_name(context, stack_name) - stacks = [s] if s is not None else [] + if s: + stacks = [s] + else: + raise AttributeError('Unknown stack name') else: stacks = db_api.stack_get_by_user(context) or [] @@ -191,7 +194,7 @@ class EngineManager(manager.Manager): st = db_api.stack_get_by_name(context, stack_name) if not st: - return {'Error': 'No stack by that name'} + raise AttributeError('Unknown stack name') logger.info('deleting stack %s' % stack_name) @@ -212,7 +215,7 @@ class EngineManager(manager.Manager): if stack_name is not None: st = db_api.stack_get_by_name(context, stack_name) if not st: - return {'Error': 'No stack by that name'} + raise AttributeError('Unknown stack name') events = db_api.event_get_all_by_stack(context, st.id) else: diff --git a/heat/tests/test_stacks.py b/heat/tests/test_stacks.py index 844bbd8b..1d5e1f6c 100644 --- a/heat/tests/test_stacks.py +++ b/heat/tests/test_stacks.py @@ -227,9 +227,10 @@ class stacksTest(unittest.TestCase): self.m.ReplayAll() man = manager.EngineManager() - sl = man.show_stack(ctx, 'wibble', {}) - self.assertEqual(len(sl['stacks']), 0) + self.assertRaises(AttributeError, + man.show_stack, + ctx, 'wibble', {}) def test_stack_describe(self): ctx = self.create_context('stack_describe')