diff options
| author | Jenkins <jenkins@review.openstack.org> | 2015-12-02 03:04:26 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2015-12-02 03:04:26 +0000 |
| commit | a85880cef85e86d0ef77c662119e59580077a713 (patch) | |
| tree | afb2fb2184e08b1cb792bccfc440fe6909762eb9 /openstackclient/tests | |
| parent | fdcb56d7c476fd722d3926f57dff7906a4285120 (diff) | |
| parent | d7c3048f568ca59edf4db18c294d8d5d0573c178 (diff) | |
| download | python-openstackclient-a85880cef85e86d0ef77c662119e59580077a713.tar.gz | |
Merge "Add class TestServerList to provide basic unit test for "server list" command."
Diffstat (limited to 'openstackclient/tests')
| -rw-r--r-- | openstackclient/tests/compute/v2/test_server.py | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/openstackclient/tests/compute/v2/test_server.py b/openstackclient/tests/compute/v2/test_server.py index 6cc314e8..359920f2 100644 --- a/openstackclient/tests/compute/v2/test_server.py +++ b/openstackclient/tests/compute/v2/test_server.py @@ -611,6 +611,87 @@ class TestServerImageCreate(TestServer): self.assertEqual(datalist, data) +class TestServerList(TestServer): + + # Columns to be listed up. + columns = ( + 'ID', + 'Name', + 'Status', + 'Networks', + ) + + # Data returned by corresponding Nova API. The elements in this list are + # tuples filled with server attributes. + data = [] + + # Default search options, in the case of no commandline option specified. + search_opts = { + 'reservation_id': None, + 'ip': None, + 'ip6': None, + 'name': None, + 'instance_name': None, + 'status': None, + 'flavor': None, + 'image': None, + 'host': None, + 'tenant_id': None, + 'all_tenants': False, + 'user_id': None, + } + + # Default params of the core function of the command in the case of no + # commandline option specified. + kwargs = { + 'search_opts': search_opts, + 'marker': None, + 'limit': None, + } + + def setUp(self): + super(TestServerList, self).setUp() + + # The fake servers' attributes. + self.attrs = { + 'status': 'ACTIVE', + 'networks': { + u'public': [u'10.20.30.40', u'2001:db8::5'] + }, + } + + # The servers to be listed. + self.servers = self.setup_servers_mock(3) + + self.servers_mock.list.return_value = self.servers + + # Get the command object to test + self.cmd = server.ListServer(self.app, None) + + # Prepare data returned by fake Nova API. + for s in self.servers: + self.data.append(( + s.id, + s.name, + s.status, + u'public=10.20.30.40, 2001:db8::5', + )) + + def test_server_list_no_option(self): + arglist = [] + verifylist = [ + ('all_projects', False), + ('long', False), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + columns, data = self.cmd.take_action(parsed_args) + + self.servers_mock.list.assert_called_with(**self.kwargs) + self.assertEqual(self.columns, columns) + self.assertEqual(tuple(self.data), tuple(data)) + + class TestServerLock(TestServer): def setUp(self): |
