]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commitdiff
Change check method for 'all_tenants'
authorliyuanyuan <liyuanyuan.fnst@cn.fujitsu.com>
Thu, 10 Sep 2015 05:52:00 +0000 (05:52 +0000)
committerLi Yuanyuan <liyuanyuan.fnst@cn.fujitsu.com>
Tue, 15 Sep 2015 06:55:24 +0000 (06:55 +0000)
Replaced with calls to get_bool_param from utils,
so it supports any boolean value like the rest of the API methods.

APIImpact: The API will also allow to pass 'yes', 'no', 'y', 'n'
as valid boolean strings in addition.

Change-Id: I397b0dfb688e0e6278eac75978df28bf6f99d0a9
Closes-Bug: #1494130

cinder/tests/unit/test_volume.py
cinder/volume/api.py

index 48201640a85ff4b68bb84abc2375e3a85f0e0661..fce13c05fde34157acf6ee294115bc29774545c9 100644 (file)
@@ -1050,24 +1050,6 @@ class VolumeTestCase(BaseVolumeTestCase):
                           self.context,
                           limit="-1")
 
-    def test_get_all_tenants_value(self):
-        """Validate allowable values for --all_tenants
-
-           Note: type of the value could be String, Boolean, or Int
-        """
-        api = cinder.volume.api.API()
-
-        self.assertTrue(api._get_all_tenants_value({'all_tenants': True}))
-        self.assertTrue(api._get_all_tenants_value({'all_tenants': 1}))
-        self.assertFalse(api._get_all_tenants_value({'all_tenants': 'False'}))
-        self.assertFalse(api._get_all_tenants_value({'all_tenants': '0'}))
-        self.assertRaises(exception.InvalidInput,
-                          api._get_all_tenants_value,
-                          {'all_tenants': 'No'})
-        self.assertRaises(exception.InvalidInput,
-                          api._get_all_tenants_value,
-                          {'all_tenants': -1})
-
     def test_get_all_tenants_volume_list(self):
         """Validate when the volume list for all tenants is returned"""
         volume_api = cinder.volume.api.API()
index 3b8cfece435bdda280e80602125d7690faced2f8..e41d03daea8928d1d4d68a6de76492dc31eae3df 100644 (file)
@@ -446,26 +446,6 @@ class API(base.Base):
         LOG.info(_LI("Volume info retrieved successfully."), resource=rv)
         return volume
 
-    def _get_all_tenants_value(self, filters):
-        """Returns a Boolean for the value of filters['all_tenants'].
-
-           False is returned if 'all_tenants' is not in the filters dictionary.
-           An InvalidInput exception is thrown for invalid values.
-        """
-
-        b = False
-        if 'all_tenants' in filters:
-            val = six.text_type(filters['all_tenants']).lower()
-            if val in ['true', '1']:
-                b = True
-            elif val in ['false', '0']:
-                b = False
-            else:
-                msg = _('all_tenants param must be 0 or 1')
-                raise exception.InvalidInput(reason=msg)
-
-        return b
-
     def get_all(self, context, marker=None, limit=None, sort_keys=None,
                 sort_dirs=None, filters=None, viewable_admin_meta=False,
                 offset=None):
@@ -474,7 +454,7 @@ class API(base.Base):
         if filters is None:
             filters = {}
 
-        allTenants = self._get_all_tenants_value(filters)
+        allTenants = utils.get_bool_param('all_tenants', filters)
 
         try:
             if limit is not None: