]> review.fuel-infra Code Review - openstack-build/heat-build.git/commitdiff
heat API : ValidateTemplate fix response format
authorSteven Hardy <shardy@redhat.com>
Tue, 16 Oct 2012 12:19:27 +0000 (13:19 +0100)
committerSteven Hardy <shardy@redhat.com>
Tue, 16 Oct 2012 13:55:24 +0000 (14:55 +0100)
Fix CFN API ValidateTemplate response format, missing the
ValidateTemplateResponse wrapper, required by boto to parse the response

Change-Id: I89464df402346ff87041496652d2b4d39cc35fc6
Signed-off-by: Steven Hardy <shardy@redhat.com>
heat/api/cfn/v1/stacks.py
heat/engine/manager.py
heat/tests/test_api_openstack_v1.py
heat/tests/test_validate.py

index 2b8aa65b12f350dc765338b8abfb6ee61abf9f02..6cc48961d82326eb90bd4248a235f348ece23191 100644 (file)
@@ -379,7 +379,8 @@ class StackController(object):
 
         logger.info('validate_template')
         try:
-            return self.engine_rpcapi.validate_template(con, template)
+            res = self.engine_rpcapi.validate_template(con, template)
+            return api_utils.format_response('ValidateTemplate', res)
         except rpc_common.RemoteError as ex:
             return exception.map_remote_error(ex)
 
index 88fea7b7939651a4b0f0a7a9999905e77b3b54a1..c525606c38acb1a08563f1a30eabc604995bfe23 100644 (file)
@@ -217,7 +217,7 @@ class EngineManager(manager.Manager):
             'Description': template.get('Description', ''),
             'Parameters': parameters,
         }
-        return {'ValidateTemplateResult': result}
+        return result
 
     def get_template(self, context, stack_identity):
         """
index d7a7fa60974a0918a6ab79220b0ca4340948d0ad..23115185232ec7c26a199dd9f329ef651e9436e0 100644 (file)
@@ -675,17 +675,14 @@ class StackControllerTest(unittest.TestCase):
         req = self._post('/validate', json.dumps(body))
 
         engine_response = {
-            u'ValidateTemplateResult': {
-                u'Description': u'blah',
-                u'Parameters': [
-                    {
-                        u'NoEcho': u'false',
-                        u'ParameterKey': u'InstanceType',
-                        u'Description': u'Instance type'
-                    }
-                ]
-
-            }
+            u'Description': u'blah',
+            u'Parameters': [
+                {
+                    u'NoEcho': u'false',
+                    u'ParameterKey': u'InstanceType',
+                    u'Description': u'Instance type'
+                }
+            ]
         }
 
         self.m.StubOutWithMock(rpc, 'call')
index 38a54168f7818ef750d067eb32373de4691c419d..122f3dc4cb589f73e947d2914313672a2c46b4de 100644 (file)
@@ -267,7 +267,7 @@ class validateTest(unittest.TestCase):
 
         manager = managers.EngineManager()
         res = dict(manager.
-            validate_template(None, t)['ValidateTemplateResult'])
+            validate_template(None, t))
         print 'res %s' % res
         self.assertEqual(res['Description'], 'test.')
 
@@ -284,7 +284,7 @@ class validateTest(unittest.TestCase):
 
         manager = managers.EngineManager()
         res = dict(manager.
-            validate_template(None, t)['ValidateTemplateResult'])
+            validate_template(None, t))
         self.assertNotEqual(res['Description'], 'Successfully validated')
 
     def test_validate_findinmap_valid(self):
@@ -300,7 +300,7 @@ class validateTest(unittest.TestCase):
 
         manager = managers.EngineManager()
         res = dict(manager.
-            validate_template(None, t)['ValidateTemplateResult'])
+            validate_template(None, t))
         self.assertEqual(res['Description'], 'test.')
 
     def test_validate_findinmap_invalid(self):
@@ -316,7 +316,7 @@ class validateTest(unittest.TestCase):
 
         manager = managers.EngineManager()
         res = dict(manager.
-            validate_template(None, t)['ValidateTemplateResult'])
+            validate_template(None, t))
         self.assertNotEqual(res['Description'], 'Successfully validated')
 
     # allows testing of the test directly, shown below