summaryrefslogtreecommitdiff
path: root/openstackclient/tests/compute
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-05-11 13:26:55 +0000
committerGerrit Code Review <review@openstack.org>2016-05-11 13:26:55 +0000
commit56680c83fe8450a1e0175a10329a549507329dfb (patch)
treec63e883b7e8efa819a7a6f0289e332ca7e51c621 /openstackclient/tests/compute
parentb60ff95edfa8a0e5919e82e632e3aaf8c361b007 (diff)
parent06780dd880a316ce4f0750f22c794916aa904fcf (diff)
downloadpython-openstackclient-56680c83fe8450a1e0175a10329a549507329dfb.tar.gz
Merge "Add unit tests for "server show" command"
Diffstat (limited to 'openstackclient/tests/compute')
-rw-r--r--openstackclient/tests/compute/v2/test_server.py95
1 files changed, 95 insertions, 0 deletions
diff --git a/openstackclient/tests/compute/v2/test_server.py b/openstackclient/tests/compute/v2/test_server.py
index cc0ac053..7d184b3a 100644
--- a/openstackclient/tests/compute/v2/test_server.py
+++ b/openstackclient/tests/compute/v2/test_server.py
@@ -1233,6 +1233,101 @@ class TestServerShelve(TestServer):
self.run_method_with_servers('shelve', 3)
+class TestServerShow(TestServer):
+
+ def setUp(self):
+ super(TestServerShow, self).setUp()
+
+ self.image = image_fakes.FakeImage.create_one_image()
+ self.flavor = compute_fakes.FakeFlavor.create_one_flavor()
+ server_info = {
+ 'image': {'id': self.image.id},
+ 'flavor': {'id': self.flavor.id},
+ 'tenant_id': 'tenant-id-xxx',
+ 'networks': {'public': ['10.20.30.40', '2001:db8::f']},
+ }
+ # Fake the server.diagnostics() method. The return value contains http
+ # response and data. The data is a dict. Sincce this method itself is
+ # faked, we don't need to fake everything of the return value exactly.
+ resp = mock.Mock()
+ resp.status_code = 200
+ server_method = {
+ 'diagnostics': (resp, {'test': 'test'}),
+ }
+ self.server = compute_fakes.FakeServer.create_one_server(
+ attrs=server_info, methods=server_method)
+
+ # This is the return value for utils.find_resource()
+ self.servers_mock.get.return_value = self.server
+ self.cimages_mock.get.return_value = self.image
+ self.flavors_mock.get.return_value = self.flavor
+
+ # Get the command object to test
+ self.cmd = server.ShowServer(self.app, None)
+
+ self.columns = (
+ 'OS-EXT-STS:power_state',
+ 'addresses',
+ 'flavor',
+ 'id',
+ 'image',
+ 'name',
+ 'networks',
+ 'project_id',
+ 'properties',
+ )
+
+ self.data = (
+ 'Running',
+ 'public=10.20.30.40, 2001:db8::f',
+ self.flavor.name + " (" + self.flavor.id + ")",
+ self.server.id,
+ self.image.name + " (" + self.image.id + ")",
+ self.server.name,
+ {'public': ['10.20.30.40', '2001:db8::f']},
+ 'tenant-id-xxx',
+ '',
+ )
+
+ def test_show_no_options(self):
+ arglist = []
+ verifylist = []
+
+ self.assertRaises(utils.ParserException, self.check_parser,
+ self.cmd, arglist, verifylist)
+
+ def test_show(self):
+ arglist = [
+ self.server.name,
+ ]
+ verifylist = [
+ ('diagnostics', False),
+ ('server', self.server.name),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ columns, data = self.cmd.take_action(parsed_args)
+
+ self.assertEqual(self.columns, columns)
+ self.assertEqual(self.data, data)
+
+ def test_show_diagnostics(self):
+ arglist = [
+ '--diagnostics',
+ self.server.name,
+ ]
+ verifylist = [
+ ('diagnostics', True),
+ ('server', self.server.name),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ columns, data = self.cmd.take_action(parsed_args)
+
+ self.assertEqual(('test',), columns)
+ self.assertEqual(('test',), data)
+
+
class TestServerStart(TestServer):
def setUp(self):