diff options
| author | TerryHowe <terrylhowe@gmail.com> | 2015-07-08 13:52:45 -0600 |
|---|---|---|
| committer | TerryHowe <terrylhowe@gmail.com> | 2015-07-08 15:00:51 -0600 |
| commit | f89fc1ef3288fb432fe6f76268a92f6f1111a1eb (patch) | |
| tree | d4d4620d91abd8381e1bdbc73f41e508380ec976 /openstackclient/tests/compute | |
| parent | f07f71661f8e215844dff6156781975041a3b1c4 (diff) | |
| download | python-openstackclient-f89fc1ef3288fb432fe6f76268a92f6f1111a1eb.tar.gz | |
Fix address parsing for server ssh command
There seem to be three formats for the server address field
and the old code only supported the old format. This code adds
a parser for all three formats.
Change-Id: I7f12d2c69ff70556907ea6f31a0e0bba91b68b49
Closes-Bug: #1469843
Diffstat (limited to 'openstackclient/tests/compute')
| -rw-r--r-- | openstackclient/tests/compute/v2/test_server.py | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/openstackclient/tests/compute/v2/test_server.py b/openstackclient/tests/compute/v2/test_server.py index a8a1936d..eed148a0 100644 --- a/openstackclient/tests/compute/v2/test_server.py +++ b/openstackclient/tests/compute/v2/test_server.py @@ -15,7 +15,9 @@ import copy import mock +import testtools +from openstackclient.common import exceptions from openstackclient.common import utils as common_utils from openstackclient.compute.v2 import server from openstackclient.tests.compute.v2 import fakes as compute_fakes @@ -580,3 +582,55 @@ class TestServerResize(TestServer): self.servers_mock.revert_resize.assert_called_with( self.servers_get_return_value, ) + + +class TestServerGeneral(testtools.TestCase): + OLD = { + 'private': [ + { + 'addr': '192.168.0.3', + 'version': 4, + }, + ] + } + NEW = { + 'foo': [ + { + 'OS-EXT-IPS-MAC:mac_addr': 'fa:16:3e:93:b3:01', + 'version': 4, + 'addr': '10.10.1.2', + 'OS-EXT-IPS:type': 'fixed', + }, + { + 'OS-EXT-IPS-MAC:mac_addr': 'fa:16:3e:93:b3:02', + 'version': 6, + 'addr': '0:0:0:0:0:ffff:a0a:103', + 'OS-EXT-IPS:type': 'floating', + }, + ] + } + ODD = {'jenkins': ['10.3.3.18', '124.12.125.4']} + + def test_get_ip_address(self): + self.assertEqual("192.168.0.3", + server._get_ip_address(self.OLD, 'private', [4, 6])) + self.assertEqual("10.10.1.2", + server._get_ip_address(self.NEW, 'fixed', [4, 6])) + self.assertEqual("10.10.1.2", + server._get_ip_address(self.NEW, 'private', [4, 6])) + self.assertEqual("0:0:0:0:0:ffff:a0a:103", + server._get_ip_address(self.NEW, 'public', [6])) + self.assertEqual("0:0:0:0:0:ffff:a0a:103", + server._get_ip_address(self.NEW, 'floating', [6])) + self.assertEqual("124.12.125.4", + server._get_ip_address(self.ODD, 'public', [4, 6])) + self.assertEqual("10.3.3.18", + server._get_ip_address(self.ODD, 'private', [4, 6])) + self.assertRaises(exceptions.CommandError, + server._get_ip_address, self.NEW, 'public', [4]) + self.assertRaises(exceptions.CommandError, + server._get_ip_address, self.NEW, 'admin', [4]) + self.assertRaises(exceptions.CommandError, + server._get_ip_address, self.OLD, 'public', [4, 6]) + self.assertRaises(exceptions.CommandError, + server._get_ip_address, self.OLD, 'private', [6]) |
