summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-03-01 07:03:09 +0000
committerGerrit Code Review <review@openstack.org>2016-03-01 07:03:10 +0000
commit1299319b76ae014e2a7d77305d17562e46229d69 (patch)
treeb8f3478de1ff6436d172e801732060924a7cc26d /openstackclient
parent7039cd344764da7c1e946cb0746e78b0f501df1c (diff)
parent88c92bf71ae026b90b07411772c66b718a7d59e1 (diff)
downloadpython-openstackclient-1299319b76ae014e2a7d77305d17562e46229d69.tar.gz
Merge "Subnet: Add "subnet delete" command using SDK"
Diffstat (limited to 'openstackclient')
-rw-r--r--openstackclient/network/v2/subnet.py18
-rw-r--r--openstackclient/tests/network/v2/test_subnet.py29
2 files changed, 47 insertions, 0 deletions
diff --git a/openstackclient/network/v2/subnet.py b/openstackclient/network/v2/subnet.py
index 7ed02a3a..96ab35ae 100644
--- a/openstackclient/network/v2/subnet.py
+++ b/openstackclient/network/v2/subnet.py
@@ -89,3 +89,21 @@ class ShowSubnet(command.ShowOne):
columns = _get_columns(obj)
data = utils.get_item_properties(obj, columns, formatters=_formatters)
return (columns, data)
+
+
+class DeleteSubnet(command.Command):
+ """Delete subnet"""
+
+ def get_parser(self, prog_name):
+ parser = super(DeleteSubnet, self).get_parser(prog_name)
+ parser.add_argument(
+ 'subnet',
+ metavar="<subnet>",
+ help=("Subnet to delete (name or ID)")
+ )
+ return parser
+
+ def take_action(self, parsed_args):
+ client = self.app.client_manager.network
+ client.delete_subnet(
+ client.find_subnet(parsed_args.subnet))
diff --git a/openstackclient/tests/network/v2/test_subnet.py b/openstackclient/tests/network/v2/test_subnet.py
index e1e663f4..e844c138 100644
--- a/openstackclient/tests/network/v2/test_subnet.py
+++ b/openstackclient/tests/network/v2/test_subnet.py
@@ -181,3 +181,32 @@ class TestShowSubnet(TestSubnet):
self.assertEqual(self.columns, columns)
self.assertEqual(list(self.data), list(data))
+
+
+class TestDeleteSubnet(TestSubnet):
+
+ # The subnet to delete.
+ _subnet = network_fakes.FakeSubnet.create_one_subnet()
+
+ def setUp(self):
+ super(TestDeleteSubnet, self).setUp()
+
+ self.network.delete_subnet = mock.Mock(return_value=None)
+
+ self.network.find_subnet = mock.Mock(return_value=self._subnet)
+
+ # Get the command object to test
+ self.cmd = subnet_v2.DeleteSubnet(self.app, self.namespace)
+
+ def test_delete(self):
+ arglist = [
+ self._subnet.name,
+ ]
+ verifylist = [
+ ('subnet', self._subnet.name),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ result = self.cmd.take_action(parsed_args)
+ self.network.delete_subnet.assert_called_with(self._subnet)
+ self.assertIsNone(result)