summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
authorreedip <reedip.banerjee@nectechnologies.in>2016-03-01 10:46:04 +0900
committerreedip <reedip.banerjee@nectechnologies.in>2016-03-01 11:26:27 +0900
commit88c92bf71ae026b90b07411772c66b718a7d59e1 (patch)
tree9bbafc7582756e8c85e058140ffc85e2552debd5 /openstackclient
parent3372de6f3b8fadc79715ee73df30fab93648bbcf (diff)
downloadpython-openstackclient-88c92bf71ae026b90b07411772c66b718a7d59e1.tar.gz
Subnet: Add "subnet delete" command using SDK
This patch adds "subnet delete" command to osc using sdk. Change-Id: I6be27406b16909c6db2b95417355be302e218a8d Implements: blueprint neutron-client Closes-bug: #1542362
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)