]> review.fuel-infra Code Review - openstack-build/heat-build.git/commitdiff
heat engine: raise appropriate error on bad stack name
authorSteven Hardy <shardy@redhat.com>
Mon, 9 Jul 2012 13:58:08 +0000 (14:58 +0100)
committerSteven Hardy <shardy@redhat.com>
Mon, 9 Jul 2012 17:33:30 +0000 (18:33 +0100)
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 <shardy@redhat.com>
heat/engine/manager.py
heat/tests/test_stacks.py

index 81b630e77fb2d8942974fed199584770fcd0918b..d4e931235b75f6383c1b8978e4ca2f7b8860c17b 100644 (file)
@@ -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:
index 844bbd8b35165c306926230b29963b06475efb0c..1d5e1f6c190d2415abe4b375afcd8f3e59173ba3 100644 (file)
@@ -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')