Add multi deletion testcase for openstack volume delete

Change-Id: Id8e6e8311e46e4c8644d41d773aeb27416ca6a7e
This commit is contained in:
xiexs 2015-11-27 11:44:38 -05:00
parent cb73e781e0
commit 6e747629ad
1 changed files with 32 additions and 8 deletions

View File

@ -14,6 +14,8 @@
import copy
from mock import call
from openstackclient.tests import fakes
from openstackclient.tests.identity.v3 import fakes as identity_fakes
from openstackclient.tests.volume.v2 import fakes as volume_fakes
@ -36,6 +38,14 @@ class TestVolume(volume_fakes.TestVolume):
self.images_mock = self.app.client_manager.image.images
self.images_mock.reset_mock()
def setup_volumes_mock(self, count):
volumes = volume_fakes.FakeVolume.create_volumes(count=count)
self.volumes_mock.get = volume_fakes.FakeVolume.get_volumes(
volumes,
0)
return volumes
class TestVolumeCreate(TestVolume):
def setUp(self):
@ -888,24 +898,38 @@ class TestVolumeDelete(TestVolume):
def setUp(self):
super(TestVolumeDelete, self).setUp()
self.volumes_mock.get.return_value = fakes.FakeResource(
None,
copy.deepcopy(volume_fakes.VOLUME),
loaded=True)
self.volumes_mock.delete.return_value = None
# Get the command object to mock
self.cmd = volume.DeleteVolume(self.app, None)
def test_volume_delete(self):
def test_volume_delete_one_volume(self):
volumes = self.setup_volumes_mock(count=1)
arglist = [
volume_fakes.volume_id
volumes[0].id
]
verifylist = [
("volumes", [volume_fakes.volume_id])
("volumes", [volumes[0].id])
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.cmd.take_action(parsed_args)
self.volumes_mock.delete.assert_called_with(volume_fakes.volume_id)
self.volumes_mock.delete.assert_called_with(volumes[0].id)
def test_volume_delete_multi_volumes(self):
volumes = self.setup_volumes_mock(count=3)
arglist = [v.id for v in volumes]
verifylist = [
('volumes', arglist),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.cmd.take_action(parsed_args)
calls = [call(v.id) for v in volumes]
self.volumes_mock.delete.assert_has_calls(calls)