Logical error in flavors unset_keys method
When we want to unset multi keys of flavor extra data, only first key can be removed because of the key word named 'return'. To fix it, remove the return key word Change-Id: I70d1f2e84a2bfcea1db60b26138f84421f9a7309 Closes-bug: #1324077
This commit is contained in:
parent
c7c653d513
commit
abd4e8986b
|
@ -13,6 +13,8 @@
|
|||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
import mock
|
||||
|
||||
from novaclient import exceptions
|
||||
from novaclient.tests import utils
|
||||
from novaclient.tests.v1_1 import fakes
|
||||
|
@ -206,7 +208,12 @@ class FlavorsTest(utils.TestCase):
|
|||
for key in invalid_keys:
|
||||
self.assertRaises(exceptions.CommandError, f.set_keys, {key: 'v1'})
|
||||
|
||||
def test_unset_keys(self):
|
||||
@mock.patch.object(flavors.FlavorManager, '_delete')
|
||||
def test_unset_keys(self, mock_delete):
|
||||
f = self.cs.flavors.get(1)
|
||||
f.unset_keys(['k1'])
|
||||
self.cs.assert_called('DELETE', '/flavors/1/os-extra_specs/k1')
|
||||
keys = ['k1', 'k2']
|
||||
f.unset_keys(keys)
|
||||
mock_delete.assert_has_calls([
|
||||
mock.call("/flavors/1/os-extra_specs/k1"),
|
||||
mock.call("/flavors/1/os-extra_specs/k2")
|
||||
])
|
||||
|
|
|
@ -13,6 +13,8 @@
|
|||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
import mock
|
||||
|
||||
from novaclient.tests.v1_1 import test_flavors
|
||||
from novaclient.tests.v3 import fakes
|
||||
from novaclient.v3 import flavors
|
||||
|
@ -57,10 +59,15 @@ class FlavorsTest(test_flavors.FlavorsTest):
|
|||
self.cs.assert_called('POST', '/flavors/4/flavor-extra-specs',
|
||||
{"extra_specs": {key: 'v4'}})
|
||||
|
||||
def test_unset_keys(self):
|
||||
@mock.patch.object(flavors.FlavorManager, '_delete')
|
||||
def test_unset_keys(self, mock_delete):
|
||||
f = self.cs.flavors.get(1)
|
||||
f.unset_keys(['k1'])
|
||||
self.cs.assert_called('DELETE', '/flavors/1/flavor-extra-specs/k1')
|
||||
keys = ['k1', 'k2']
|
||||
f.unset_keys(keys)
|
||||
mock_delete.assert_has_calls([
|
||||
mock.call("/flavors/1/flavor-extra-specs/k1"),
|
||||
mock.call("/flavors/1/flavor-extra-specs/k2")
|
||||
])
|
||||
|
||||
def test_get_flavor_details_diablo(self):
|
||||
# Don't need for V3 API to work against diablo
|
||||
|
|
|
@ -83,9 +83,9 @@ class Flavor(base.Resource):
|
|||
:param keys: A list of keys to be unset
|
||||
"""
|
||||
for k in keys:
|
||||
return self.manager._delete(
|
||||
"/flavors/%s/os-extra_specs/%s" % (
|
||||
base.getid(self), k))
|
||||
self.manager._delete(
|
||||
"/flavors/%s/os-extra_specs/%s" % (
|
||||
base.getid(self), k))
|
||||
|
||||
def delete(self):
|
||||
"""
|
||||
|
|
|
@ -72,9 +72,9 @@ class Flavor(base.Resource):
|
|||
:param keys: A list of keys to be unset
|
||||
"""
|
||||
for k in keys:
|
||||
return self.manager._delete(
|
||||
"/flavors/%s/flavor-extra-specs/%s" % (
|
||||
base.getid(self), k))
|
||||
self.manager._delete(
|
||||
"/flavors/%s/flavor-extra-specs/%s" % (
|
||||
base.getid(self), k))
|
||||
|
||||
def delete(self):
|
||||
"""
|
||||
|
|
Loading…
Reference in New Issue