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 <terrylhowe@gmail.com>
Co-Authored-By: Tang Chen <tangchen@cn.fujitsu.com>
This commit is contained in:
Tang Chen 2015-12-05 10:31:54 +08:00
parent 0b4fb0bb66
commit 511e862294
2 changed files with 16 additions and 13 deletions

View File

@ -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

View File

@ -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)