summaryrefslogtreecommitdiff
path: root/openstackclient/tests/unit/compute
diff options
context:
space:
mode:
authorHongbin Lu <hongbin.lu@huawei.com>2017-10-26 15:35:47 +0000
committerHongbin Lu <hongbin034@gmail.com>2017-11-14 00:13:08 +0000
commit809355894fac72908869739b72d44ead1c183072 (patch)
tree2a6934446614960895fbeec59e66c6346dc46ad8 /openstackclient/tests/unit/compute
parent4742d4df7089cd10d03635a1b3dbca9e7e80b1cc (diff)
downloadpython-openstackclient-809355894fac72908869739b72d44ead1c183072.tar.gz
Add RemoveNetwork command to server
This command will detach a server from a network. All server's neutron ports that belongs to the specified networks will be removed. Change-Id: I83a064ed62ab00c6f1016900b9cf30f1c15b8382
Diffstat (limited to 'openstackclient/tests/unit/compute')
-rw-r--r--openstackclient/tests/unit/compute/v2/test_server.py51
1 files changed, 51 insertions, 0 deletions
diff --git a/openstackclient/tests/unit/compute/v2/test_server.py b/openstackclient/tests/unit/compute/v2/test_server.py
index ad52e232..20b9532a 100644
--- a/openstackclient/tests/unit/compute/v2/test_server.py
+++ b/openstackclient/tests/unit/compute/v2/test_server.py
@@ -2380,6 +2380,57 @@ class TestServerRemovePort(TestServer):
self.find_port.assert_not_called()
+class TestServerRemoveNetwork(TestServer):
+
+ def setUp(self):
+ super(TestServerRemoveNetwork, self).setUp()
+
+ # Get the command object to test
+ self.cmd = server.RemoveNetwork(self.app, None)
+
+ # Set method to be tested.
+ self.fake_inf = mock.Mock()
+ self.methods = {
+ 'interface_list': [self.fake_inf],
+ 'interface_detach': None,
+ }
+
+ self.find_network = mock.Mock()
+ self.app.client_manager.network.find_network = self.find_network
+
+ def _test_server_remove_network(self, network_id):
+ self.fake_inf.net_id = network_id
+ self.fake_inf.port_id = 'fake-port'
+ servers = self.setup_servers_mock(count=1)
+ network = 'fake-network'
+
+ arglist = [
+ servers[0].id,
+ network,
+ ]
+ verifylist = [
+ ('server', servers[0].id),
+ ('network', network),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ result = self.cmd.take_action(parsed_args)
+
+ servers[0].interface_list.assert_called_once_with()
+ servers[0].interface_detach.assert_called_once_with('fake-port')
+ self.assertIsNone(result)
+
+ def test_server_remove_network(self):
+ self._test_server_remove_network(self.find_network.return_value.id)
+ self.find_network.assert_called_once_with(
+ 'fake-network', ignore_missing=False)
+
+ def test_server_remove_network_no_neutron(self):
+ self.app.client_manager.network_endpoint_enabled = False
+ self._test_server_remove_network('fake-network')
+ self.find_network.assert_not_called()
+
+
@mock.patch(
'openstackclient.api.compute_v2.APIv2.security_group_find'
)