From 511e8622944bc64822af07b1bd11681b0c5d45b3 Mon Sep 17 00:00:00 2001 From: Tang Chen Date: Sat, 5 Dec 2015 10:31:54 +0800 Subject: [PATCH] Migrate "network delete" command to use SDK. This patch makes "network delete" command use sdk. Since we have to keep the other commands runnable with the old network client, we use a temporary method to create sdk network client. And as a result, the tests need to patch a method to fake the temporary method, which will be removed at last. Change-Id: I1f2c404e4b0ff6727e4c535ce543aa406f2290ce Implements: blueprint neutron-client Co-Authored-By: Terry Howe Co-Authored-By: Tang Chen --- openstackclient/network/v2/network.py | 7 +++--- .../tests/network/v2/test_network.py | 22 ++++++++++--------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/openstackclient/network/v2/network.py b/openstackclient/network/v2/network.py index 3b7ae7375e..9139757bde 100644 --- a/openstackclient/network/v2/network.py +++ b/openstackclient/network/v2/network.py @@ -156,11 +156,12 @@ class DeleteNetwork(command.Command): def take_action(self, parsed_args): self.log.debug('take_action(%s)' % parsed_args) + self.app.client_manager.network = \ + _make_client_sdk(self.app.client_manager) client = self.app.client_manager.network - delete_method = getattr(client, "delete_network") for network in parsed_args.networks: - _id = common.find(client, 'network', 'networks', network) - delete_method(_id) + obj = client.find_network(network) + client.delete_network(obj) return diff --git a/openstackclient/tests/network/v2/test_network.py b/openstackclient/tests/network/v2/test_network.py index 8648a11fb6..41be5933e0 100644 --- a/openstackclient/tests/network/v2/test_network.py +++ b/openstackclient/tests/network/v2/test_network.py @@ -314,34 +314,36 @@ class TestCreateNetworkIdentityV2(TestNetwork): ) +@mock.patch('openstackclient.network.v2.network._make_client_sdk') class TestDeleteNetwork(TestNetwork): + # The network to delete. + _network = network_fakes.FakeNetwork.create_one_network() + def setUp(self): super(TestDeleteNetwork, self).setUp() - self.network.delete_network = mock.Mock( - return_value=None - ) + self.network.delete_network = mock.Mock(return_value=None) - self.network.list_networks = mock.Mock( - return_value={RESOURCES: [copy.deepcopy(RECORD)]} - ) + self.network.find_network = mock.Mock(return_value=self._network) # Get the command object to test self.cmd = network.DeleteNetwork(self.app, self.namespace) - def test_delete(self): + def test_delete(self, _make_client_sdk): + _make_client_sdk.return_value = self.app.client_manager.network + arglist = [ - FAKE_NAME, + self._network.name, ] verifylist = [ - ('networks', [FAKE_NAME]), + ('networks', [self._network.name]), ] parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.take_action(parsed_args) - self.network.delete_network.assert_called_with(FAKE_ID) + self.network.delete_network.assert_called_with(self._network) self.assertEqual(None, result)