Update compute API.get() mocks in test_server_metadata
These old unit tests are stubbing out the DB API to get an instance which is way too low level. This change updates the stubs to stub out the compute API.get method instead. While in here, some old unused stubs are removed and common fakes code is used. This is part of a larger series to eventually drop pre-cellsv2 compatibility code in API.get(). Change-Id: I9542c66b3f6f52a7d29046ba3897ca28fb8e377b
This commit is contained in:
parent
8d089111c8
commit
f2fd72a31b
|
@ -28,7 +28,6 @@ import nova.db.api
|
|||
from nova import exception
|
||||
from nova import test
|
||||
from nova.tests.unit.api.openstack import fakes
|
||||
from nova.tests.unit import fake_instance
|
||||
|
||||
|
||||
CONF = cfg.CONF
|
||||
|
@ -78,28 +77,6 @@ def stub_max_server_metadata():
|
|||
return metadata
|
||||
|
||||
|
||||
def return_server(context, server_id, columns_to_join=None):
|
||||
return fake_instance.fake_db_instance(
|
||||
**{'id': server_id,
|
||||
'uuid': '0cc3346e-9fef-4445-abe6-5d2b2690ec64',
|
||||
'name': 'fake',
|
||||
'locked': False,
|
||||
'launched_at': timeutils.utcnow(),
|
||||
'vm_state': vm_states.ACTIVE})
|
||||
|
||||
|
||||
def return_server_by_uuid(context, server_uuid,
|
||||
columns_to_join=None, use_slave=False):
|
||||
return fake_instance.fake_db_instance(
|
||||
**{'id': 1,
|
||||
'uuid': '0cc3346e-9fef-4445-abe6-5d2b2690ec64',
|
||||
'name': 'fake',
|
||||
'locked': False,
|
||||
'launched_at': timeutils.utcnow(),
|
||||
'metadata': stub_server_metadata(),
|
||||
'vm_state': vm_states.ACTIVE})
|
||||
|
||||
|
||||
def return_server_nonexistent(context, server_id,
|
||||
columns_to_join=None, use_slave=False):
|
||||
raise exception.InstanceNotFound(instance_id=server_id)
|
||||
|
@ -115,10 +92,14 @@ class ServerMetaDataTestV21(test.TestCase):
|
|||
|
||||
def setUp(self):
|
||||
super(ServerMetaDataTestV21, self).setUp()
|
||||
fakes.stub_out_key_pair_funcs(self)
|
||||
self.stub_out('nova.db.api.instance_get', return_server)
|
||||
self.stub_out('nova.db.api.instance_get_by_uuid',
|
||||
return_server_by_uuid)
|
||||
metadata = stub_server_metadata()
|
||||
self.stub_out('nova.compute.api.API.get',
|
||||
fakes.fake_compute_get(
|
||||
**{'uuid': '0cc3346e-9fef-4445-abe6-5d2b2690ec64',
|
||||
'name': 'fake',
|
||||
'launched_at': timeutils.utcnow(),
|
||||
'vm_state': vm_states.ACTIVE,
|
||||
'metadata': metadata}))
|
||||
|
||||
self.stub_out('nova.db.api.instance_metadata_get',
|
||||
return_server_metadata)
|
||||
|
@ -196,12 +177,13 @@ class ServerMetaDataTestV21(test.TestCase):
|
|||
self.assertIsNone(res)
|
||||
|
||||
def test_delete_nonexistent_server(self):
|
||||
self.stub_out('nova.db.api.instance_get_by_uuid',
|
||||
return_server_nonexistent)
|
||||
req = self._get_request('/key1')
|
||||
req.method = 'DELETE'
|
||||
self.assertRaises(webob.exc.HTTPNotFound,
|
||||
self.controller.delete, req, self.uuid, 'key1')
|
||||
with mock.patch('nova.compute.api.API.get',
|
||||
side_effect=exception.InstanceNotFound(
|
||||
instance_id=self.uuid)):
|
||||
self.assertRaises(webob.exc.HTTPNotFound,
|
||||
self.controller.delete, req, self.uuid, 'key1')
|
||||
|
||||
def test_delete_meta_not_found(self):
|
||||
self.stub_out('nova.db.api.instance_metadata_get',
|
||||
|
@ -299,16 +281,17 @@ class ServerMetaDataTestV21(test.TestCase):
|
|||
self.controller.create, req, self.uuid, body=body)
|
||||
|
||||
def test_create_nonexistent_server(self):
|
||||
self.stub_out('nova.db.api.instance_get_by_uuid',
|
||||
return_server_nonexistent)
|
||||
req = self._get_request()
|
||||
req.method = 'POST'
|
||||
body = {"metadata": {"key1": "value1"}}
|
||||
req.body = jsonutils.dump_as_bytes(body)
|
||||
req.headers["content-type"] = "application/json"
|
||||
|
||||
self.assertRaises(webob.exc.HTTPNotFound,
|
||||
self.controller.create, req, self.uuid, body=body)
|
||||
with mock.patch('nova.compute.api.API.get',
|
||||
side_effect=exception.InstanceNotFound(
|
||||
instance_id=self.uuid)):
|
||||
self.assertRaises(webob.exc.HTTPNotFound,
|
||||
self.controller.create, req, self.uuid,
|
||||
body=body)
|
||||
|
||||
def test_update_metadata(self):
|
||||
self.stub_out('nova.objects.Instance.save', fake_instance_save)
|
||||
|
@ -403,15 +386,17 @@ class ServerMetaDataTestV21(test.TestCase):
|
|||
body=expected)
|
||||
|
||||
def test_update_all_nonexistent_server(self):
|
||||
self.stub_out('nova.db.api.instance_get', return_server_nonexistent)
|
||||
req = self._get_request()
|
||||
req.method = 'PUT'
|
||||
req.content_type = "application/json"
|
||||
body = {'metadata': {'key10': 'value10'}}
|
||||
req.body = jsonutils.dump_as_bytes(body)
|
||||
|
||||
self.assertRaises(webob.exc.HTTPNotFound,
|
||||
self.controller.update_all, req, '100', body=body)
|
||||
with mock.patch('nova.compute.api.API.get',
|
||||
side_effect=exception.InstanceNotFound(
|
||||
instance_id=self.uuid)):
|
||||
self.assertRaises(webob.exc.HTTPNotFound,
|
||||
self.controller.update_all, req, self.uuid,
|
||||
body=body)
|
||||
|
||||
def test_update_all_non_dict(self):
|
||||
self.stub_out('nova.db.api.instance_metadata_update',
|
||||
|
@ -437,17 +422,17 @@ class ServerMetaDataTestV21(test.TestCase):
|
|||
self.assertEqual(expected, res_dict)
|
||||
|
||||
def test_update_item_nonexistent_server(self):
|
||||
self.stub_out('nova.db.api.instance_get_by_uuid',
|
||||
return_server_nonexistent)
|
||||
req = self._get_request('/key1')
|
||||
req.method = 'PUT'
|
||||
body = {"meta": {"key1": "value1"}}
|
||||
req.body = jsonutils.dump_as_bytes(body)
|
||||
req.headers["content-type"] = "application/json"
|
||||
|
||||
self.assertRaises(webob.exc.HTTPNotFound,
|
||||
self.controller.update, req, self.uuid, 'key1',
|
||||
body=body)
|
||||
with mock.patch('nova.compute.api.API.get',
|
||||
side_effect=exception.InstanceNotFound(
|
||||
instance_id=self.uuid)):
|
||||
self.assertRaises(webob.exc.HTTPNotFound,
|
||||
self.controller.update, req, self.uuid, 'key1',
|
||||
body=body)
|
||||
|
||||
def test_update_item_empty_body(self):
|
||||
self.stub_out('nova.db.api.instance_metadata_update',
|
||||
|
@ -667,15 +652,16 @@ class BadStateServerMetaDataTestV21(test.TestCase):
|
|||
|
||||
def setUp(self):
|
||||
super(BadStateServerMetaDataTestV21, self).setUp()
|
||||
fakes.stub_out_key_pair_funcs(self)
|
||||
self.stub_out('nova.db.api.instance_metadata_get',
|
||||
return_server_metadata)
|
||||
self.stub_out(
|
||||
'nova.compute.rpcapi.ComputeAPI.change_instance_metadata',
|
||||
fake_change_instance_metadata)
|
||||
self.stub_out('nova.db.api.instance_get', self._return_server_in_build)
|
||||
self.stub_out('nova.db.api.instance_get_by_uuid',
|
||||
self._return_server_in_build_by_uuid)
|
||||
self.stub_out('nova.compute.api.API.get',
|
||||
fakes.fake_compute_get(
|
||||
**{'uuid': '0cc3346e-9fef-4445-abe6-5d2b2690ec64',
|
||||
'name': 'fake',
|
||||
'vm_state': vm_states.BUILDING}))
|
||||
self.stub_out('nova.db.api.instance_metadata_delete',
|
||||
delete_server_metadata)
|
||||
self._set_up_resources()
|
||||
|
@ -710,24 +696,6 @@ class BadStateServerMetaDataTestV21(test.TestCase):
|
|||
self.assertRaises(webob.exc.HTTPConflict, self.controller.update_all,
|
||||
req, self.uuid, body=expected)
|
||||
|
||||
def _return_server_in_build(self, context, server_id,
|
||||
columns_to_join=None):
|
||||
return fake_instance.fake_db_instance(
|
||||
**{'id': server_id,
|
||||
'uuid': '0cc3346e-9fef-4445-abe6-5d2b2690ec64',
|
||||
'name': 'fake',
|
||||
'locked': False,
|
||||
'vm_state': vm_states.BUILDING})
|
||||
|
||||
def _return_server_in_build_by_uuid(self, context, server_uuid,
|
||||
columns_to_join=None, use_slave=False):
|
||||
return fake_instance.fake_db_instance(
|
||||
**{'id': 1,
|
||||
'uuid': '0cc3346e-9fef-4445-abe6-5d2b2690ec64',
|
||||
'name': 'fake',
|
||||
'locked': False,
|
||||
'vm_state': vm_states.BUILDING})
|
||||
|
||||
@mock.patch.object(nova.compute.api.API, 'update_instance_metadata',
|
||||
side_effect=exception.InstanceIsLocked(instance_uuid=0))
|
||||
def test_instance_lock_update_metadata(self, mock_update):
|
||||
|
|
|
@ -364,8 +364,7 @@ def fake_instance_get(**kwargs):
|
|||
|
||||
|
||||
def fake_compute_get(**kwargs):
|
||||
def _return_server_obj(context, uuid, expected_attrs=None,
|
||||
cell_down_support=False):
|
||||
def _return_server_obj(context, *a, **kw):
|
||||
return stub_instance_obj(context, **kwargs)
|
||||
return _return_server_obj
|
||||
|
||||
|
|
Loading…
Reference in New Issue