Merge "[OSC] Fix share deletion when using share group id"
This commit is contained in:
commit
19a99b9de3
|
@ -310,7 +310,7 @@ class DeleteShare(command.Command):
|
|||
"--share-group",
|
||||
metavar="<share-group>",
|
||||
default=None,
|
||||
help=_("Optional share group (name or ID)"
|
||||
help=_("Optional share group (name or ID) "
|
||||
"which contains the share")
|
||||
)
|
||||
parser.add_argument(
|
||||
|
@ -343,8 +343,11 @@ class DeleteShare(command.Command):
|
|||
share_obj = apiutils.find_resource(
|
||||
share_client.shares, share
|
||||
)
|
||||
share_group_id = (share_group_id if parsed_args.share_group
|
||||
else None)
|
||||
share_group_id = None
|
||||
if parsed_args.share_group:
|
||||
share_group_id = apiutils.find_resource(
|
||||
share_client.share_groups, parsed_args.share_group).id
|
||||
|
||||
if parsed_args.force:
|
||||
share_client.shares.force_delete(share_obj)
|
||||
if parsed_args.soft:
|
||||
|
|
|
@ -70,6 +70,14 @@ class TestShare(manila_fakes.TestShare):
|
|||
0)
|
||||
return shares
|
||||
|
||||
def setup_share_groups_mock(self):
|
||||
self.share_group_mock = self.app.client_manager.share.share_groups
|
||||
self.share_group_mock.reset_mock()
|
||||
|
||||
share_group = manila_fakes.FakeShareGroup.create_one_share_group()
|
||||
self.share_group_mock.get = mock.Mock(return_value=share_group)
|
||||
return share_group
|
||||
|
||||
|
||||
@ddt.ddt
|
||||
class TestShareCreate(TestShare):
|
||||
|
@ -434,6 +442,26 @@ class TestShareDelete(TestShare):
|
|||
self.shares_mock.delete.assert_has_calls(calls)
|
||||
self.assertIsNone(result)
|
||||
|
||||
def test_share_delete_with_share_group(self):
|
||||
shares = self.setup_shares_mock(count=1)
|
||||
share_group = self.setup_share_groups_mock()
|
||||
|
||||
arglist = [
|
||||
shares[0].name,
|
||||
'--share-group', share_group['id']
|
||||
]
|
||||
verifylist = [
|
||||
("share_group", share_group['id']),
|
||||
('shares', [shares[0].name])
|
||||
]
|
||||
|
||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||
|
||||
result = self.cmd.take_action(parsed_args)
|
||||
self.shares_mock.delete.assert_called_with(
|
||||
shares[0], share_group['id'])
|
||||
self.assertIsNone(result)
|
||||
|
||||
def test_share_delete_with_force(self):
|
||||
shares = self.setup_shares_mock(count=1)
|
||||
|
||||
|
|
Loading…
Reference in New Issue