Skip to content

Commit 5645c0e

Browse files
Jenkinsopenstack-gerrit
authored andcommitted
Merge "Add multi deletion testcase for openstack volume delete"
2 parents 7428363 + 6e74762 commit 5645c0e

1 file changed

Lines changed: 32 additions & 8 deletions

File tree

openstackclient/tests/volume/v2/test_volume.py

Lines changed: 32 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414

1515
import copy
1616

17+
from mock import call
18+
1719
from openstackclient.tests import fakes
1820
from openstackclient.tests.identity.v3 import fakes as identity_fakes
1921
from openstackclient.tests.volume.v2 import fakes as volume_fakes
@@ -36,6 +38,14 @@ def setUp(self):
3638
self.images_mock = self.app.client_manager.image.images
3739
self.images_mock.reset_mock()
3840

41+
def setup_volumes_mock(self, count):
42+
volumes = volume_fakes.FakeVolume.create_volumes(count=count)
43+
44+
self.volumes_mock.get = volume_fakes.FakeVolume.get_volumes(
45+
volumes,
46+
0)
47+
return volumes
48+
3949

4050
class TestVolumeCreate(TestVolume):
4151
def setUp(self):
@@ -888,24 +898,38 @@ class TestVolumeDelete(TestVolume):
888898
def setUp(self):
889899
super(TestVolumeDelete, self).setUp()
890900

891-
self.volumes_mock.get.return_value = fakes.FakeResource(
892-
None,
893-
copy.deepcopy(volume_fakes.VOLUME),
894-
loaded=True)
895901
self.volumes_mock.delete.return_value = None
896902

897903
# Get the command object to mock
898904
self.cmd = volume.DeleteVolume(self.app, None)
899905

900-
def test_volume_delete(self):
906+
def test_volume_delete_one_volume(self):
907+
volumes = self.setup_volumes_mock(count=1)
908+
901909
arglist = [
902-
volume_fakes.volume_id
910+
volumes[0].id
903911
]
904912
verifylist = [
905-
("volumes", [volume_fakes.volume_id])
913+
("volumes", [volumes[0].id])
906914
]
907915

908916
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
909917

910918
self.cmd.take_action(parsed_args)
911-
self.volumes_mock.delete.assert_called_with(volume_fakes.volume_id)
919+
self.volumes_mock.delete.assert_called_with(volumes[0].id)
920+
921+
def test_volume_delete_multi_volumes(self):
922+
volumes = self.setup_volumes_mock(count=3)
923+
924+
arglist = [v.id for v in volumes]
925+
verifylist = [
926+
('volumes', arglist),
927+
]
928+
929+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
930+
931+
self.cmd.take_action(parsed_args)
932+
933+
calls = [call(v.id) for v in volumes]
934+
935+
self.volumes_mock.delete.assert_has_calls(calls)

0 commit comments

Comments
 (0)