def test_prep_server_detail(self, find_resource): # Setup mock method return value. utils.find_resource() will be called # three times in _prep_server_detail(): # - The first time, return server info. # - The second time, return image info. # - The third time, return flavor info. _image = image_fakes.FakeImage.create_one_image() _flavor = compute_fakes.FakeFlavor.create_one_flavor() 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) find_resource.side_effect = [_server, _image, _flavor] # 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': '', 'OS-EXT-STS:power_state': server._format_servers_list_power_state( getattr(_server, 'OS-EXT-STS:power_state')), } # 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)
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': '', 'OS-EXT-STS:power_state': server._format_servers_list_power_state( getattr(_server, 'OS-EXT-STS:power_state')), } # 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)
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)