diff options
| author | Cedric Brandily <zzelle@gmail.com> | 2017-03-31 23:11:47 +0200 |
|---|---|---|
| committer | Cedric Brandily <zzelle@gmail.com> | 2017-04-03 20:19:40 +0200 |
| commit | 21510ac1a94eeb8de218a0edfe81db5ef0437249 (patch) | |
| tree | cf15fd62742d34c1e77cc94b0feca1e912bc81d9 /openstackclient/tests | |
| parent | 659115448803f1a6181ad0f592e0b61a86ad83fc (diff) | |
| download | python-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')
| -rw-r--r-- | openstackclient/tests/unit/compute/v2/test_server.py | 96 |
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): |
