summaryrefslogtreecommitdiff
path: root/openstackclient/tests/unit
diff options
context:
space:
mode:
authorCedric Brandily <zzelle@gmail.com>2017-03-31 23:11:47 +0200
committerCedric Brandily <zzelle@gmail.com>2017-04-03 20:19:40 +0200
commit21510ac1a94eeb8de218a0edfe81db5ef0437249 (patch)
treecf15fd62742d34c1e77cc94b0feca1e912bc81d9 /openstackclient/tests/unit
parent659115448803f1a6181ad0f592e0b61a86ad83fc (diff)
downloadpython-openstackclient-21510ac1a94eeb8de218a0edfe81db5ef0437249.tar.gz
Enable to add/remove port to/from a server
This change enables to add/remove a specific port to/from a server using the new commands: openstack server add port <vm> <port> openstack server remove port <vm> <port> Closes-Bug: #1678137 Change-Id: I6ee57df089235ccc1fb9d38316bd484956b1134d
Diffstat (limited to 'openstackclient/tests/unit')
-rw-r--r--openstackclient/tests/unit/compute/v2/test_server.py96
1 files changed, 96 insertions, 0 deletions
diff --git a/openstackclient/tests/unit/compute/v2/test_server.py b/openstackclient/tests/unit/compute/v2/test_server.py
index 7691ef59..5405410c 100644
--- a/openstackclient/tests/unit/compute/v2/test_server.py
+++ b/openstackclient/tests/unit/compute/v2/test_server.py
@@ -146,6 +146,9 @@ class TestServerAddFloatingIP(TestServer):
'add_floating_ip': None,
}
+ self.find_port = mock.Mock()
+ self.app.client_manager.network.find_port = self.find_port
+
def _test_server_add_floating_ip(self, extralist, fixed_ip_address):
servers = self.setup_servers_mock(count=1)
@@ -174,6 +177,53 @@ class TestServerAddFloatingIP(TestServer):
self._test_server_add_floating_ip(extralist, '5.6.7.8')
+class TestServerAddPort(TestServer):
+
+ def setUp(self):
+ super(TestServerAddPort, self).setUp()
+
+ # Get the command object to test
+ self.cmd = server.AddPort(self.app, None)
+
+ # Set add_fixed_ip method to be tested.
+ self.methods = {
+ 'interface_attach': None,
+ }
+
+ self.find_port = mock.Mock()
+ self.app.client_manager.network.find_port = self.find_port
+
+ def _test_server_add_port(self, port_id):
+ servers = self.setup_servers_mock(count=1)
+ port = 'fake-port'
+
+ arglist = [
+ servers[0].id,
+ port,
+ ]
+ verifylist = [
+ ('server', servers[0].id),
+ ('port', port)
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ result = self.cmd.take_action(parsed_args)
+
+ servers[0].interface_attach.assert_called_once_with(
+ port_id=port_id, net_id=None, fixed_ip=None)
+ self.assertIsNone(result)
+
+ def test_server_add_port(self):
+ self._test_server_add_port(self.find_port.return_value.id)
+ self.find_port.assert_called_once_with(
+ 'fake-port', ignore_missing=False)
+
+ def test_server_add_port_no_neutron(self):
+ self.app.client_manager.network_endpoint_enabled = False
+ self._test_server_add_port('fake-port')
+ self.find_port.assert_not_called()
+
+
class TestServerAddSecurityGroup(TestServer):
def setUp(self):
@@ -1613,6 +1663,52 @@ class TestServerRemoveFloatingIP(TestServer):
self.assertIsNone(result)
+class TestServerRemovePort(TestServer):
+
+ def setUp(self):
+ super(TestServerRemovePort, self).setUp()
+
+ # Get the command object to test
+ self.cmd = server.RemovePort(self.app, None)
+
+ # Set method to be tested.
+ self.methods = {
+ 'interface_detach': None,
+ }
+
+ self.find_port = mock.Mock()
+ self.app.client_manager.network.find_port = self.find_port
+
+ def _test_server_remove_port(self, port_id):
+ servers = self.setup_servers_mock(count=1)
+ port = 'fake-port'
+
+ arglist = [
+ servers[0].id,
+ port,
+ ]
+ verifylist = [
+ ('server', servers[0].id),
+ ('port', port),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ result = self.cmd.take_action(parsed_args)
+
+ servers[0].interface_detach.assert_called_once_with(port_id)
+ self.assertIsNone(result)
+
+ def test_server_remove_port(self):
+ self._test_server_remove_port(self.find_port.return_value.id)
+ self.find_port.assert_called_once_with(
+ 'fake-port', ignore_missing=False)
+
+ def test_server_remove_port_no_neutron(self):
+ self.app.client_manager.network_endpoint_enabled = False
+ self._test_server_remove_port('fake-port')
+ self.find_port.assert_not_called()
+
+
class TestServerRemoveSecurityGroup(TestServer):
def setUp(self):