19
19
from nova.api.openstack.compute.contrib import extended_server_attributes
20
20
from nova import compute
21
22
from nova import exception
23
from nova.objects import instance as instance_obj
22
24
from nova.openstack.common import jsonutils
23
25
from nova import test
24
26
from nova.tests.api.openstack import fakes
28
from oslo.config import cfg
31
NAME_FMT = cfg.CONF.instance_name_template
26
32
UUID1 = '00000000-0000-0000-0000-000000000001'
27
33
UUID2 = '00000000-0000-0000-0000-000000000002'
28
34
UUID3 = '00000000-0000-0000-0000-000000000003'
31
37
def fake_compute_get(*args, **kwargs):
32
return fakes.stub_instance(1, uuid=UUID3, host="host-fake",
38
fields = instance_obj.INSTANCE_DEFAULT_FIELDS
39
return instance_obj.Instance._from_db_object(
40
args[1], instance_obj.Instance(),
41
fakes.stub_instance(1, uuid=UUID3, host="host-fake",
42
node="node-fake"), fields)
36
45
def fake_compute_get_all(*args, **kwargs):
38
47
fakes.stub_instance(1, uuid=UUID1, host="host-1", node="node-1"),
39
48
fakes.stub_instance(2, uuid=UUID2, host="host-2", node="node-2")
50
fields = instance_obj.INSTANCE_DEFAULT_FIELDS
51
return instance_obj._make_instance_list(args[1],
52
instance_obj.InstanceList(),
43
56
class ExtendedServerAttributesTest(test.TestCase):
49
62
fakes.stub_out_nw_api(self.stubs)
50
63
self.stubs.Set(compute.api.API, 'get', fake_compute_get)
51
64
self.stubs.Set(compute.api.API, 'get_all', fake_compute_get_all)
65
self.stubs.Set(db, 'instance_get_by_uuid', fake_compute_get)
53
67
osapi_compute_extension=[
54
68
'nova.api.openstack.compute.contrib.select_extensions'],
81
95
self.assertServerAttributes(self._get_server(res.body),
84
instance_name='instance-1')
98
instance_name=NAME_FMT % 1)
86
100
def test_detail(self):
87
101
url = '/v2/fake/servers/detail'
92
106
self.assertServerAttributes(server,
93
107
host='host-%s' % (i + 1),
94
108
node='node-%s' % (i + 1),
95
instance_name='instance-%s' % (i + 1))
109
instance_name=NAME_FMT % (i + 1))
97
111
def test_no_instance_passthrough_404(self):