]> review.fuel-infra Code Review - openstack-build/heat-build.git/commitdiff
make engine api handle string or bool disable_rollback
authorSteven Hardy <shardy@redhat.com>
Mon, 18 Feb 2013 20:01:42 +0000 (20:01 +0000)
committerSteven Hardy <shardy@redhat.com>
Mon, 18 Feb 2013 20:21:10 +0000 (20:21 +0000)
Allow API's to pass string or bool format True/False flag
for the disable_rollback argument to the engine RPC API

Change-Id: I1886263ac2487c4cb36c8bd93fd1d09b04abe813

heat/engine/api.py
heat/tests/test_engine_api_utils.py

index 29bdb4bd361aa2936d35474c8ef23d83090bb55b..5a3a3d6382127bb332a3bbf11238e9a69c95006b 100644 (file)
@@ -38,8 +38,10 @@ def extract_args(params):
 
     if PARAM_DISABLE_ROLLBACK in params:
         disable_rollback = params.get(PARAM_DISABLE_ROLLBACK)
-        if disable_rollback in (True, False):
-            kwargs[PARAM_DISABLE_ROLLBACK] = disable_rollback
+        if str(disable_rollback).lower() == 'true':
+            kwargs[PARAM_DISABLE_ROLLBACK] = True
+        elif str(disable_rollback).lower() == 'false':
+            kwargs[PARAM_DISABLE_ROLLBACK] = False
         else:
             raise ValueError("Unexpected value for parameter %s : %s" %
                              (PARAM_DISABLE_ROLLBACK, disable_rollback))
index 6eea86fca575d0fd4b296dd009892b6c8fd3aca8..801748f8a367372edcf5a68b5dd71904f233bdee 100644 (file)
@@ -51,11 +51,27 @@ class EngineApiTest(unittest.TestCase):
         self.assertTrue('disable_rollback' in args)
         self.assertTrue(args.get('disable_rollback'))
 
+        args = api.extract_args({'disable_rollback': 'True'})
+        self.assertTrue('disable_rollback' in args)
+        self.assertTrue(args.get('disable_rollback'))
+
+        args = api.extract_args({'disable_rollback': 'true'})
+        self.assertTrue('disable_rollback' in args)
+        self.assertTrue(args.get('disable_rollback'))
+
     def test_disable_rollback_extract_false(self):
         args = api.extract_args({'disable_rollback': False})
         self.assertTrue('disable_rollback' in args)
         self.assertFalse(args.get('disable_rollback'))
 
+        args = api.extract_args({'disable_rollback': 'False'})
+        self.assertTrue('disable_rollback' in args)
+        self.assertFalse(args.get('disable_rollback'))
+
+        args = api.extract_args({'disable_rollback': 'false'})
+        self.assertTrue('disable_rollback' in args)
+        self.assertFalse(args.get('disable_rollback'))
+
     def test_disable_rollback_extract_bad(self):
         self.assertRaises(ValueError, api.extract_args,
                           {'disable_rollback': 'bad'})