diff options
| author | Jenkins <jenkins@review.openstack.org> | 2016-05-11 06:53:56 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2016-05-11 06:53:56 +0000 |
| commit | b5032676163fcb2575d39c5a2830f7f861509012 (patch) | |
| tree | b80f1073cbe3ed05e643c7a53f5e73b731b71a68 | |
| parent | 2aa99b4d502960754ef70631ad2d027a69f28f26 (diff) | |
| parent | 4cb5e0bc7959694db70d11c6be8589f1c20d787c (diff) | |
| download | python-openstackclient-b5032676163fcb2575d39c5a2830f7f861509012.tar.gz | |
Merge "Implement "address scope delete" command"
| -rw-r--r-- | doc/source/command-objects/address-scope.rst | 16 | ||||
| -rw-r--r-- | openstackclient/network/v2/address_scope.py | 19 | ||||
| -rw-r--r-- | openstackclient/tests/network/v2/test_address_scope.py | 31 | ||||
| -rw-r--r-- | setup.cfg | 1 |
4 files changed, 67 insertions, 0 deletions
diff --git a/doc/source/command-objects/address-scope.rst b/doc/source/command-objects/address-scope.rst index d7eac283..2f922353 100644 --- a/doc/source/command-objects/address-scope.rst +++ b/doc/source/command-objects/address-scope.rst @@ -46,3 +46,19 @@ Create new address scope .. describe:: <name> New address scope name + +address scope delete +-------------------- + +Delete an address scope + +.. program:: address scope delete +.. code:: bash + + os address scope delete + <address-scope> + +.. _address_scope_delete-address-scope: +.. describe:: <address-scope> + + Address scope to delete (name or ID) 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) @@ -325,6 +325,7 @@ openstack.image.v2 = openstack.network.v2 = address_scope_create = openstackclient.network.v2.address_scope:CreateAddressScope + address_scope_delete = openstackclient.network.v2.address_scope:DeleteAddressScope ip_floating_create = openstackclient.network.v2.floating_ip:CreateFloatingIP ip_floating_delete = openstackclient.network.v2.floating_ip:DeleteFloatingIP |
