summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2015-12-22 04:10:53 +0000
committerGerrit Code Review <review@openstack.org>2015-12-22 04:10:53 +0000
commita080227b07fc533ca782dd08c4bb17cdf3450bc5 (patch)
tree3f12e5fe17c9971dd245cbe233da661713a69097 /openstackclient
parente79860e495321cc72ad46e7d333ab3c80646f037 (diff)
parent17f3685a83d29f33f79c0626eceefae029c2aaf5 (diff)
downloadpython-openstackclient-a080227b07fc533ca782dd08c4bb17cdf3450bc5.tar.gz
Merge "TestServerGeneral: Add test for _prep_server_detail()"
Diffstat (limited to 'openstackclient')
-rw-r--r--openstackclient/tests/compute/v2/test_server.py46
1 files changed, 44 insertions, 2 deletions
diff --git a/openstackclient/tests/compute/v2/test_server.py b/openstackclient/tests/compute/v2/test_server.py
index fb2fc23d..dba44293 100644
--- a/openstackclient/tests/compute/v2/test_server.py
+++ b/openstackclient/tests/compute/v2/test_server.py
@@ -14,7 +14,6 @@
#
import mock
-import testtools
from mock import call
from openstackclient.common import exceptions
@@ -1066,7 +1065,7 @@ class TestServerUnshelve(TestServer):
self.run_method_with_servers('unshelve', 3)
-class TestServerGeneral(testtools.TestCase):
+class TestServerGeneral(TestServer):
OLD = {
'private': [
{
@@ -1160,3 +1159,46 @@ class TestServerGeneral(testtools.TestCase):
'actual = %s\n' %
(data_1, data_2, networks_format))
self.assertIn(networks_format, (data_1, data_2), msg)
+
+ @mock.patch('openstackclient.common.utils.find_resource')
+ def test_prep_server_detail(self, find_resource):
+ # Setup mock method return value. utils.find_resource() will be called
+ # twice in _prep_server_detail():
+ # - The first time, return image info.
+ # - The second time, return flavor info.
+ _image = image_fakes.FakeImage.create_one_image()
+ _flavor = compute_fakes.FakeFlavor.create_one_flavor()
+ find_resource.side_effect = [_image, _flavor]
+
+ # compute_client.servers.get() will be called once, return server info.
+ server_info = {
+ 'image': {u'id': _image.id},
+ 'flavor': {u'id': _flavor.id},
+ 'tenant_id': u'tenant-id-xxx',
+ 'networks': {u'public': [u'10.20.30.40', u'2001:db8::f']},
+ 'links': u'http://xxx.yyy.com',
+ }
+ _server = compute_fakes.FakeServer.create_one_server(attrs=server_info)
+ self.servers_mock.get.return_value = _server
+
+ # Prepare result data.
+ info = {
+ 'id': _server.id,
+ 'name': _server.name,
+ 'addresses': u'public=10.20.30.40, 2001:db8::f',
+ 'flavor': u'%s (%s)' % (_flavor.name, _flavor.id),
+ 'image': u'%s (%s)' % (_image.name, _image.id),
+ 'project_id': u'tenant-id-xxx',
+ 'properties': '',
+ }
+
+ # Call _prep_server_detail().
+ server_detail = server._prep_server_detail(
+ self.app.client_manager.compute,
+ _server
+ )
+ # 'networks' is used to create _server. Remove it.
+ server_detail.pop('networks')
+
+ # Check the results.
+ self.assertDictEqual(info, server_detail)