diff options
| author | Huanxuan Ao <huanxuan.ao@easystack.cn> | 2016-05-07 16:09:41 +0800 |
|---|---|---|
| committer | Huanxuan Ao <huanxuan.ao@easystack.cn> | 2016-05-11 10:08:47 +0800 |
| commit | 4cb5e0bc7959694db70d11c6be8589f1c20d787c (patch) | |
| tree | ed7351bd93aa82af788431b15384e75cd58a073e /openstackclient | |
| parent | 98bee08e0ff9bd0eae185265d20ee3b40a12efd4 (diff) | |
| download | python-openstackclient-4cb5e0bc7959694db70d11c6be8589f1c20d787c.tar.gz | |
Implement "address scope delete" command
This patch add a command that supports
deleting a address scope
Change-Id: Ie028058c759b9511d105a530d7e89b841865e7d6
Partial-Bug: #1566269
Diffstat (limited to 'openstackclient')
| -rw-r--r-- | openstackclient/network/v2/address_scope.py | 19 | ||||
| -rw-r--r-- | openstackclient/tests/network/v2/test_address_scope.py | 31 |
2 files changed, 50 insertions, 0 deletions
diff --git a/openstackclient/network/v2/address_scope.py b/openstackclient/network/v2/address_scope.py index eba88951..361fd360 100644 --- a/openstackclient/network/v2/address_scope.py +++ b/openstackclient/network/v2/address_scope.py @@ -94,3 +94,22 @@ class CreateAddressScope(command.ShowOne): data = utils.get_item_properties(obj, columns, formatters={}) return columns, data + + +class DeleteAddressScope(command.Command): + """Delete an address scope""" + + def get_parser(self, prog_name): + parser = super(DeleteAddressScope, self).get_parser(prog_name) + parser.add_argument( + 'address_scope', + metavar="<address-scope>", + help=_("Address scope to delete (name or ID)") + ) + + return parser + + def take_action(self, parsed_args): + client = self.app.client_manager.network + obj = client.find_address_scope(parsed_args.address_scope) + client.delete_address_scope(obj) diff --git a/openstackclient/tests/network/v2/test_address_scope.py b/openstackclient/tests/network/v2/test_address_scope.py index f37512cd..3168ea3f 100644 --- a/openstackclient/tests/network/v2/test_address_scope.py +++ b/openstackclient/tests/network/v2/test_address_scope.py @@ -162,3 +162,34 @@ class TestCreateAddressScope(TestAddressScope): }) self.assertEqual(self.columns, columns) self.assertEqual(self.data, data) + + +class TestDeleteAddressScope(TestAddressScope): + + # The address scope to delete. + _address_scope = ( + network_fakes.FakeAddressScope.create_one_address_scope()) + + def setUp(self): + super(TestDeleteAddressScope, self).setUp() + self.network.delete_address_scope = mock.Mock(return_value=None) + self.network.find_address_scope = mock.Mock( + return_value=self._address_scope) + + # Get the command object to test + self.cmd = address_scope.DeleteAddressScope(self.app, self.namespace) + + def test_delete(self): + arglist = [ + self._address_scope.name, + ] + verifylist = [ + ('address_scope', self._address_scope.name), + ] + + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + result = self.cmd.take_action(parsed_args) + self.network.delete_address_scope.assert_called_once_with( + self._address_scope) + self.assertIsNone(result) |
