Replace 'fake' with a real project ID

This patch is a follow-up for I3eac9ac0a2a698a3c72b4e646cdcaf293ec4b057.
Replace 'fake' with a real project ID in URL paths and related places
in unit tests.

Change-Id: I603212f2d3cbbd482a2a68cd835af0261a85c392
This commit is contained in:
Takashi NATSUME 2019-09-30 14:09:09 +09:00
parent 088f237e59
commit 9ce6b3bb76
31 changed files with 220 additions and 155 deletions

View File

@ -207,7 +207,7 @@ class AvailabilityZoneApiTestV21(test.NoDBTestCase):
class ServersControllerCreateTestV21(test.TestCase):
base_url = '/v2/fake/'
base_url = '/v2/%s/' % fakes.FAKE_PROJECT_ID
def setUp(self):
"""Shared implementation for tests below that create instance."""

View File

@ -25,14 +25,14 @@ from nova.tests.unit.api.openstack import fakes
class CertificatesTestV21(test.NoDBTestCase):
certificates = certificates_v21
url = '/v2/fake/os-certificates'
url = '/v2/%s/os-certificates' % fakes.FAKE_PROJECT_ID
certificate_show_extension = 'os_compute_api:os-certificates:show'
certificate_create_extension = \
'os_compute_api:os-certificates:create'
def setUp(self):
super(CertificatesTestV21, self).setUp()
self.context = context.RequestContext('fake', 'fake')
self.context = context.RequestContext('fake', fakes.FAKE_PROJECT_ID)
self.controller = self.certificates.CertificatesController()
self.req = fakes.HTTPRequest.blank('')

View File

@ -25,7 +25,7 @@ project_id = uuidutils.generate_uuid(dashed=False)
class CloudpipeTestV21(test.NoDBTestCase):
cloudpipe = cloudpipe_v21
url = '/v2/fake/os-cloudpipe'
url = '/v2/%s/os-cloudpipe' % fakes.FAKE_PROJECT_ID
def setUp(self):
super(CloudpipeTestV21, self).setUp()

View File

@ -129,7 +129,8 @@ class ConsolesControllerTestV21(test.NoDBTestCase):
self.stub_out('nova.db.api.instance_get_by_uuid',
self.instance_db.return_server_by_uuid)
self.uuid = uuids.fake
self.url = '/v2/fake/servers/%s/consoles' % self.uuid
self.url = '/v2/%s/servers/%s/consoles' % (fakes.FAKE_PROJECT_ID,
self.uuid)
self._set_up_controller()
def _set_up_controller(self):

View File

@ -37,7 +37,8 @@ class DeferredDeleteExtensionTestV21(test.NoDBTestCase):
super(DeferredDeleteExtensionTestV21, self).setUp()
self.fake_input_dict = {}
self.fake_uuid = 'fake_uuid'
self.fake_context = context.RequestContext('fake', 'fake')
self.fake_context = context.RequestContext(
'fake', fakes.FAKE_PROJECT_ID)
self.fake_req = FakeRequest(self.fake_context)
self.extension = self.ext_ver()
@ -86,7 +87,8 @@ class DeferredDeleteExtensionTestV21(test.NoDBTestCase):
side_effect=exception.InstanceIsLocked(
instance_uuid='fake_uuid'))
def test_force_delete_instance_locked(self, mock_force_delete, mock_get):
req = fakes.HTTPRequest.blank('/v2/fake/servers/fake_uuid/action')
req = fakes.HTTPRequest.blank('/v2/%s/servers/fake_uuid/action' %
fakes.FAKE_PROJECT_ID)
ex = self.assertRaises(webob.exc.HTTPConflict,
self.extension._force_delete,
req, 'fake_uuid', '')
@ -97,7 +99,8 @@ class DeferredDeleteExtensionTestV21(test.NoDBTestCase):
side_effect=exception.InstanceNotFound(
instance_id='fake_uuid'))
def test_force_delete_instance_notfound(self, mock_force_delete, mock_get):
req = fakes.HTTPRequest.blank('/v2/fake/servers/fake_uuid/action')
req = fakes.HTTPRequest.blank('/v2/%s/servers/fake_uuid/action' %
fakes.FAKE_PROJECT_ID)
ex = self.assertRaises(webob.exc.HTTPNotFound,
self.extension._force_delete,
req, 'fake_uuid', '')

View File

@ -63,8 +63,9 @@ class ExtendedHypervisorsTestV21(test.NoDBTestCase):
self.controller = hypervisors_v21.HypervisorsController()
def _get_request(self):
return fakes.HTTPRequest.blank('/v2/fake/os-hypervisors/detail',
use_admin_context=True)
return fakes.HTTPRequest.blank(
'/v2/%s/os-hypervisors/detail' % fakes.FAKE_PROJECT_ID,
use_admin_context=True)
def setUp(self):
super(ExtendedHypervisorsTestV21, self).setUp()

View File

@ -126,7 +126,7 @@ class FlavorAccessTestV21(test.NoDBTestCase):
api_version = "2.1"
FlavorAccessController = flavor_access_v21.FlavorAccessController
FlavorActionController = flavor_access_v21.FlavorActionController
_prefix = "/v2/fake"
_prefix = "/v2/%s" % fakes.FAKE_PROJECT_ID
validation_ex = exception.ValidationError
def setUp(self):
@ -139,8 +139,8 @@ class FlavorAccessTestV21(test.NoDBTestCase):
lambda ctx, project_id: True)
self.req = FakeRequest()
self.req.environ = {"nova.context": context.RequestContext('fake_user',
'fake')}
self.req.environ = {"nova.context": context.RequestContext(
'fake_user', fakes.FAKE_PROJECT_ID)}
self.stub_out('nova.objects.Flavor._flavor_get_by_flavor_id_from_db',
fake_get_flavor_by_flavor_id)
self.stub_out('nova.objects.flavor._flavor_get_all_from_db',

View File

@ -584,7 +584,7 @@ class PrivateFlavorManageTestV21(test.TestCase):
fakes.HTTPRequest.blank('', use_admin_context=True),
body["flavor"]["id"])
expected_flavor_access_body = {
"tenant_id": 'fake',
"tenant_id": fakes.FAKE_PROJECT_ID,
"flavor_id": "%s" % body["flavor"]["id"]
}
self.assertNotIn(expected_flavor_access_body,

View File

@ -61,7 +61,7 @@ class FlavorsExtraSpecsTestV21(test.TestCase):
flavorextraspecs = flavorextraspecs_v21
def _get_request(self, url, use_admin_context=False):
req_url = '/v2/fake/flavors/' + url
req_url = '/v2/%s/flavors/%s' % (fakes.FAKE_PROJECT_ID, url)
return fakes.HTTPRequest.blank(req_url,
use_admin_context=use_admin_context)

View File

@ -33,7 +33,7 @@ class FloatingIpPoolTestV21(test.NoDBTestCase):
def setUp(self):
super(FloatingIpPoolTestV21, self).setUp()
self.context = context.RequestContext('fake', 'fake')
self.context = context.RequestContext('fake', fakes.FAKE_PROJECT_ID)
self.controller = self.floating_ip_pools.FloatingIPPoolsController()
self.req = fakes.HTTPRequest.blank('')

View File

@ -721,14 +721,16 @@ class FloatingIpTestV21(test.TestCase):
def test_associate_floating_ip_bad_address_key(self):
body = dict(addFloatingIp=dict(bad_address='10.10.10.11'))
req = fakes.HTTPRequest.blank('/v2/fake/servers/test_inst/action')
req = fakes.HTTPRequest.blank(
'/v2/%s/servers/test_inst/action' % fakes.FAKE_PROJECT_ID)
self.assertRaises(self.validation_error,
self.manager._add_floating_ip, req, 'test_inst',
body=body)
def test_associate_floating_ip_bad_addfloatingip_key(self):
body = dict(bad_addFloatingIp=dict(address='10.10.10.11'))
req = fakes.HTTPRequest.blank('/v2/fake/servers/test_inst/action')
req = fakes.HTTPRequest.blank(
'/v2/%s/servers/test_inst/action' % fakes.FAKE_PROJECT_ID)
self.assertRaises(self.validation_error,
self.manager._add_floating_ip, req, 'test_inst',
body=body)

View File

@ -111,7 +111,7 @@ def _create_instance_dict(**kwargs):
inst['image_ref'] = 'cedef40a-ed67-4d10-800e-17455edce175'
inst['reservation_id'] = 'r-fakeres'
inst['user_id'] = kwargs.get('user_id', 'admin')
inst['project_id'] = kwargs.get('project_id', 'fake')
inst['project_id'] = kwargs.get('project_id', fakes.FAKE_PROJECT_ID)
inst['instance_type_id'] = '1'
if 'host' in kwargs:
inst['host'] = kwargs.get('host')

View File

@ -41,8 +41,9 @@ class HypervisorStatusTestV21(test.NoDBTestCase):
return_value=True)
def _get_request(self):
return fakes.HTTPRequest.blank('/v2/fake/os-hypervisors/detail',
use_admin_context=True)
return fakes.HTTPRequest.blank(
'/v2/%s/os-hypervisors/detail' % fakes.FAKE_PROJECT_ID,
use_admin_context=True)
def test_view_hypervisor_service_status(self):
self._prepare_extension()

View File

@ -36,6 +36,7 @@ def get_image_123():
class ImageMetaDataTestV21(test.NoDBTestCase):
controller_class = image_metadata_v21.ImageMetadataController
invalid_request = exception.ValidationError
base_path = '/v2/%s/images/' % fakes.FAKE_PROJECT_ID
def setUp(self):
super(ImageMetaDataTestV21, self).setUp()
@ -43,7 +44,7 @@ class ImageMetaDataTestV21(test.NoDBTestCase):
@mock.patch('nova.image.api.API.get', return_value=get_image_123())
def test_index(self, get_all_mocked):
req = fakes.HTTPRequest.blank('/v2/fake/images/123/metadata')
req = fakes.HTTPRequest.blank(self.base_path + '123/metadata')
res_dict = self.controller.index(req, '123')
expected = {'metadata': {'key1': 'value1'}}
self.assertEqual(res_dict, expected)
@ -51,7 +52,7 @@ class ImageMetaDataTestV21(test.NoDBTestCase):
@mock.patch('nova.image.api.API.get', return_value=get_image_123())
def test_show(self, get_mocked):
req = fakes.HTTPRequest.blank('/v2/fake/images/123/metadata/key1')
req = fakes.HTTPRequest.blank(self.base_path + '123/metadata/key1')
res_dict = self.controller.show(req, '123', 'key1')
self.assertIn('meta', res_dict)
self.assertEqual(len(res_dict['meta']), 1)
@ -60,14 +61,14 @@ class ImageMetaDataTestV21(test.NoDBTestCase):
@mock.patch('nova.image.api.API.get', return_value=get_image_123())
def test_show_not_found(self, _get_mocked):
req = fakes.HTTPRequest.blank('/v2/fake/images/123/metadata/key9')
req = fakes.HTTPRequest.blank(self.base_path + '123/metadata/key9')
self.assertRaises(webob.exc.HTTPNotFound,
self.controller.show, req, '123', 'key9')
@mock.patch('nova.image.api.API.get',
side_effect=exception.ImageNotFound(image_id='100'))
def test_show_image_not_found(self, _get_mocked):
req = fakes.HTTPRequest.blank('/v2/fake/images/100/metadata/key1')
req = fakes.HTTPRequest.blank(self.base_path + '100/metadata/key1')
self.assertRaises(webob.exc.HTTPNotFound,
self.controller.show, req, '100', 'key9')
@ -78,7 +79,7 @@ class ImageMetaDataTestV21(test.NoDBTestCase):
mock_result = copy.deepcopy(get_image_123())
mock_result['properties']['key7'] = 'value7'
update_mocked.return_value = mock_result
req = fakes.HTTPRequest.blank('/v2/fake/images/123/metadata')
req = fakes.HTTPRequest.blank(self.base_path + '123/metadata')
req.method = 'POST'
body = {"metadata": {"key7": "value7"}}
req.body = jsonutils.dump_as_bytes(body)
@ -103,7 +104,7 @@ class ImageMetaDataTestV21(test.NoDBTestCase):
side_effect=exception.ImageNotFound(image_id='100'))
def test_create_image_not_found(self, _get_mocked, update_mocked,
quota_mocked):
req = fakes.HTTPRequest.blank('/v2/fake/images/100/metadata')
req = fakes.HTTPRequest.blank(self.base_path + '100/metadata')
req.method = 'POST'
body = {"metadata": {"key7": "value7"}}
req.body = jsonutils.dump_as_bytes(body)
@ -118,7 +119,7 @@ class ImageMetaDataTestV21(test.NoDBTestCase):
@mock.patch('nova.image.api.API.update')
@mock.patch('nova.image.api.API.get', return_value=get_image_123())
def test_update_all(self, get_mocked, update_mocked, quota_mocked):
req = fakes.HTTPRequest.blank('/v2/fake/images/123/metadata')
req = fakes.HTTPRequest.blank(self.base_path + '123/metadata')
req.method = 'PUT'
body = {"metadata": {"key9": "value9"}}
req.body = jsonutils.dump_as_bytes(body)
@ -140,7 +141,7 @@ class ImageMetaDataTestV21(test.NoDBTestCase):
@mock.patch('nova.image.api.API.get',
side_effect=exception.ImageNotFound(image_id='100'))
def test_update_all_image_not_found(self, _get_mocked, quota_mocked):
req = fakes.HTTPRequest.blank('/v2/fake/images/100/metadata')
req = fakes.HTTPRequest.blank(self.base_path + '100/metadata')
req.method = 'PUT'
body = {"metadata": {"key9": "value9"}}
req.body = jsonutils.dump_as_bytes(body)
@ -154,7 +155,7 @@ class ImageMetaDataTestV21(test.NoDBTestCase):
@mock.patch('nova.image.api.API.update')
@mock.patch('nova.image.api.API.get', return_value=get_image_123())
def test_update_item(self, _get_mocked, update_mocked, quota_mocked):
req = fakes.HTTPRequest.blank('/v2/fake/images/123/metadata/key1')
req = fakes.HTTPRequest.blank(self.base_path + '123/metadata/key1')
req.method = 'PUT'
body = {"meta": {"key1": "zz"}}
req.body = jsonutils.dump_as_bytes(body)
@ -175,7 +176,7 @@ class ImageMetaDataTestV21(test.NoDBTestCase):
@mock.patch('nova.image.api.API.get',
side_effect=exception.ImageNotFound(image_id='100'))
def test_update_item_image_not_found(self, _get_mocked, quota_mocked):
req = fakes.HTTPRequest.blank('/v2/fake/images/100/metadata/key1')
req = fakes.HTTPRequest.blank(self.base_path + '100/metadata/key1')
req.method = 'PUT'
body = {"meta": {"key1": "zz"}}
req.body = jsonutils.dump_as_bytes(body)
@ -191,7 +192,7 @@ class ImageMetaDataTestV21(test.NoDBTestCase):
@mock.patch('nova.image.api.API.get')
def test_update_item_bad_body(self, get_mocked, update_mocked,
quota_mocked):
req = fakes.HTTPRequest.blank('/v2/fake/images/123/metadata/key1')
req = fakes.HTTPRequest.blank(self.base_path + '123/metadata/key1')
req.method = 'PUT'
body = {"key1": "zz"}
req.body = b''
@ -210,7 +211,7 @@ class ImageMetaDataTestV21(test.NoDBTestCase):
@mock.patch('nova.image.api.API.get')
def test_update_item_too_many_keys(self, get_mocked, update_mocked,
_quota_mocked):
req = fakes.HTTPRequest.blank('/v2/fake/images/123/metadata/key1')
req = fakes.HTTPRequest.blank(self.base_path + '123/metadata/key1')
req.method = 'PUT'
body = {"meta": {"foo": "bar"}}
req.body = jsonutils.dump_as_bytes(body)
@ -227,7 +228,7 @@ class ImageMetaDataTestV21(test.NoDBTestCase):
@mock.patch('nova.image.api.API.get', return_value=get_image_123())
def test_update_item_body_uri_mismatch(self, _get_mocked, update_mocked,
quota_mocked):
req = fakes.HTTPRequest.blank('/v2/fake/images/123/metadata/bad')
req = fakes.HTTPRequest.blank(self.base_path + '123/metadata/bad')
req.method = 'PUT'
body = {"meta": {"key1": "value1"}}
req.body = jsonutils.dump_as_bytes(body)
@ -242,7 +243,7 @@ class ImageMetaDataTestV21(test.NoDBTestCase):
@mock.patch('nova.image.api.API.update')
@mock.patch('nova.image.api.API.get', return_value=get_image_123())
def test_delete(self, _get_mocked, update_mocked):
req = fakes.HTTPRequest.blank('/v2/fake/images/123/metadata/key1')
req = fakes.HTTPRequest.blank(self.base_path + '123/metadata/key1')
req.method = 'DELETE'
res = self.controller.delete(req, '123', 'key1')
expected = copy.deepcopy(get_image_123())
@ -254,7 +255,7 @@ class ImageMetaDataTestV21(test.NoDBTestCase):
@mock.patch('nova.image.api.API.get', return_value=get_image_123())
def test_delete_not_found(self, _get_mocked):
req = fakes.HTTPRequest.blank('/v2/fake/images/123/metadata/blah')
req = fakes.HTTPRequest.blank(self.base_path + '123/metadata/blah')
req.method = 'DELETE'
self.assertRaises(webob.exc.HTTPNotFound,
@ -263,7 +264,7 @@ class ImageMetaDataTestV21(test.NoDBTestCase):
@mock.patch('nova.image.api.API.get',
side_effect=exception.ImageNotFound(image_id='100'))
def test_delete_image_not_found(self, _get_mocked):
req = fakes.HTTPRequest.blank('/v2/fake/images/100/metadata/key1')
req = fakes.HTTPRequest.blank(self.base_path + '100/metadata/key1')
req.method = 'DELETE'
self.assertRaises(webob.exc.HTTPNotFound,
@ -276,7 +277,7 @@ class ImageMetaDataTestV21(test.NoDBTestCase):
def test_too_many_metadata_items_on_create(self, _get_mocked,
update_mocked, _quota_mocked):
body = {"metadata": {"foo": "bar"}}
req = fakes.HTTPRequest.blank('/v2/fake/images/123/metadata')
req = fakes.HTTPRequest.blank(self.base_path + '123/metadata')
req.method = 'POST'
req.body = jsonutils.dump_as_bytes(body)
req.headers["content-type"] = "application/json"
@ -291,7 +292,7 @@ class ImageMetaDataTestV21(test.NoDBTestCase):
@mock.patch('nova.image.api.API.get', return_value=get_image_123())
def test_too_many_metadata_items_on_put(self, _get_mocked,
update_mocked, _quota_mocked):
req = fakes.HTTPRequest.blank('/v2/fake/images/123/metadata/blah')
req = fakes.HTTPRequest.blank(self.base_path + '123/metadata/blah')
req.method = 'PUT'
body = {"meta": {"blah": "blah", "blah1": "blah1"}}
req.body = jsonutils.dump_as_bytes(body)
@ -305,7 +306,7 @@ class ImageMetaDataTestV21(test.NoDBTestCase):
@mock.patch('nova.image.api.API.get',
side_effect=exception.ImageNotAuthorized(image_id='123'))
def test_image_not_authorized_update(self, _get_mocked):
req = fakes.HTTPRequest.blank('/v2/fake/images/123/metadata/key1')
req = fakes.HTTPRequest.blank(self.base_path + '123/metadata/key1')
req.method = 'PUT'
body = {"meta": {"key1": "value1"}}
req.body = jsonutils.dump_as_bytes(body)
@ -321,8 +322,8 @@ class ImageMetaDataTestV21(test.NoDBTestCase):
image_id = 131
# see nova.tests.unit.api.openstack.fakes:_make_image_fixtures
req = fakes.HTTPRequest.blank('/v2/fake/images/%s/metadata/key1'
% image_id)
req = fakes.HTTPRequest.blank(self.base_path +
'%s/metadata/key1' % image_id)
req.method = 'PUT'
body = {"metadata": {"key1": "value1"}}
req.body = jsonutils.dump_as_bytes(body)
@ -338,8 +339,8 @@ class ImageMetaDataTestV21(test.NoDBTestCase):
image_id = 131
# see nova.tests.unit.api.openstack.fakes:_make_image_fixtures
req = fakes.HTTPRequest.blank('/v2/fake/images/%s/metadata/key1'
% image_id)
req = fakes.HTTPRequest.blank(self.base_path +
'%s/metadata/key1' % image_id)
req.method = 'POST'
body = {"metadata": {"key1": "value1"}}
req.body = jsonutils.dump_as_bytes(body)

View File

@ -92,7 +92,7 @@ class InstanceActionsPolicyTestV21(test.NoDBTestCase):
self.controller = self.instance_actions.InstanceActionsController()
def _get_http_req(self, action):
fake_url = '/123/servers/12/%s' % action
fake_url = '/%s/servers/12/%s' % (fakes.FAKE_PROJECT_ID, action)
return fakes.HTTPRequest.blank(fake_url)
def _get_instance_other_project(self, req):
@ -145,14 +145,14 @@ class InstanceActionsTestV21(test.NoDBTestCase):
self.mock_get = get_patcher.start()
def _get_http_req(self, action, use_admin_context=False):
fake_url = '/123/servers/12/%s' % action
fake_url = '/%s/servers/12/%s' % (fakes.FAKE_PROJECT_ID, action)
return fakes.HTTPRequest.blank(fake_url,
use_admin_context=use_admin_context,
version=self.wsgi_api_version)
def _get_http_req_with_version(self, action, use_admin_context=False,
version="2.21"):
fake_url = '/123/servers/12/%s' % action
fake_url = '/%s/servers/12/%s' % (fakes.FAKE_PROJECT_ID, action)
return fakes.HTTPRequest.blank(fake_url,
use_admin_context=use_admin_context,
version=version)

View File

@ -156,7 +156,8 @@ migrations_obj = base.obj_make_list(
class FakeRequest(object):
environ = {"nova.context": context.RequestContext('fake_user', 'fake',
environ = {"nova.context": context.RequestContext('fake_user',
fakes.FAKE_PROJECT_ID,
is_admin=True)}
GET = {}

View File

@ -560,7 +560,8 @@ class NetworksAssociateTestV21(test.NoDBTestCase):
def test_network_associate_project_delete_fail(self):
uuid = FAKE_NETWORKS[0]['uuid']
req = fakes.HTTPRequest.blank('/v2/1234/os-networks/%s/action' % uuid)
req = fakes.HTTPRequest.blank(
'/v2/%s/os-networks/%s/action' % (fakes.FAKE_PROJECT_ID, uuid))
self.assertRaises(webob.exc.HTTPConflict,
self.controller.delete, req, -1)

View File

@ -165,8 +165,9 @@ class TestNeutronSecurityGroupsV21(
self._create_port(
network_id=net['network']['id'], security_groups=[sg['id']],
device_id=test_security_groups.UUID_SERVER)
expected = [{'rules': [], 'tenant_id': 'fake', 'id': sg['id'],
'name': 'test', 'description': 'test-description'}]
expected = [{'rules': [], 'tenant_id': fakes.FAKE_PROJECT_ID,
'id': sg['id'], 'name': 'test',
'description': 'test-description'}]
req = fakes.HTTPRequest.blank(
'/v2/%s/servers/%s/os-security-groups'
% (fakes.FAKE_PROJECT_ID, test_security_groups.UUID_SERVER))
@ -670,7 +671,8 @@ class MockClient(object):
# add default security group
if not len(self._fake_security_groups):
ret = {'name': 'default', 'description': 'default',
'tenant_id': 'fake_tenant', 'security_group_rules': [],
'tenant_id': fakes.FAKE_PROJECT_ID,
'security_group_rules': [],
'id': uuidutils.generate_uuid()}
self._fake_security_groups[ret['id']] = ret
@ -695,7 +697,7 @@ class MockClient(object):
msg = 'Security Group name great than 255'
raise n_exc.NeutronClientException(message=msg, status_code=401)
ret = {'name': s.get('name'), 'description': s.get('description'),
'tenant_id': 'fake', 'security_group_rules': [],
'tenant_id': fakes.FAKE_PROJECT_ID, 'security_group_rules': [],
'id': uuidutils.generate_uuid()}
self._fake_security_groups[ret['id']] = ret
@ -705,7 +707,7 @@ class MockClient(object):
n = body.get('network')
ret = {'status': 'ACTIVE', 'subnets': [], 'name': n.get('name'),
'admin_state_up': n.get('admin_state_up', True),
'tenant_id': 'fake_tenant',
'tenant_id': fakes.FAKE_PROJECT_ID,
'id': uuidutils.generate_uuid()}
if 'port_security_enabled' in n:
ret['port_security_enabled'] = n['port_security_enabled']
@ -720,7 +722,7 @@ class MockClient(object):
msg = 'Network %s not found' % s.get('network_id')
raise n_exc.NeutronClientException(message=msg, status_code=404)
ret = {'name': s.get('name'), 'network_id': s.get('network_id'),
'tenant_id': 'fake_tenant', 'cidr': s.get('cidr'),
'tenant_id': fakes.FAKE_PROJECT_ID, 'cidr': s.get('cidr'),
'id': uuidutils.generate_uuid(), 'gateway_ip': '10.0.0.1'}
net['subnets'].append(ret['id'])
self._fake_networks[net['id']] = net

View File

@ -160,11 +160,12 @@ class QuotaSetsTestV21(BaseQuotaSetsTest):
resource, db.MAX_INT + 1, -1, -1)
def test_quotas_defaults(self):
uri = '/v2/fake_tenant/os-quota-sets/fake_tenant/defaults'
uri = '/v2/%s/os-quota-sets/%s/defaults' % (
fakes.FAKE_PROJECT_ID, fakes.FAKE_PROJECT_ID)
req = fakes.HTTPRequest.blank(uri)
res_dict = self.controller.defaults(req, 'fake_tenant')
self.default_quotas.update({'id': 'fake_tenant'})
res_dict = self.controller.defaults(req, fakes.FAKE_PROJECT_ID)
self.default_quotas.update({'id': fakes.FAKE_PROJECT_ID})
expected = {'quota_set': self.default_quotas}
self.assertEqual(res_dict, expected)
@ -401,8 +402,9 @@ class ExtendedQuotasTestV21(BaseQuotaSetsTest):
def test_quotas_update_good_data(self, mock_createlimit):
body = {'quota_set': {'cores': 1,
'instances': 1}}
req = fakes.HTTPRequest.blank('/v2/fake4/os-quota-sets/update_me',
use_admin_context=True)
req = fakes.HTTPRequest.blank(
'/v2/%s/os-quota-sets/update_me' % fakes.FAKE_PROJECT_ID,
use_admin_context=True)
self.controller.update(req, 'update_me', body=body)
self.assertEqual(2,
len(mock_createlimit.mock_calls))
@ -414,8 +416,9 @@ class ExtendedQuotasTestV21(BaseQuotaSetsTest):
'instances': 1}}
mock_gsq.side_effect = self.fake_get_settable_quotas
req = fakes.HTTPRequest.blank('/v2/fake4/os-quota-sets/update_me',
use_admin_context=True)
req = fakes.HTTPRequest.blank(
'/v2/%s/os-quota-sets/update_me' % fakes.FAKE_PROJECT_ID,
use_admin_context=True)
self.assertRaises(webob.exc.HTTPBadRequest, self.controller.update,
req, 'update_me', body=body)
self.assertEqual(0,
@ -437,9 +440,12 @@ class UserQuotasTestV21(BaseQuotaSetsTest):
self.controller = self.plugin.QuotaSetsController()
def test_user_quotas_show(self):
req = self._get_http_request('/v2/fake4/os-quota-sets/1234?user_id=1')
res_dict = self.controller.show(req, 1234)
ref_quota_set = quota_set('1234', self.include_server_group_quotas)
req = self._get_http_request(
'/v2/%s/os-quota-sets/%s?user_id=1' % (fakes.FAKE_PROJECT_ID,
fakes.FAKE_PROJECT_ID))
res_dict = self.controller.show(req, fakes.FAKE_PROJECT_ID)
ref_quota_set = quota_set(fakes.FAKE_PROJECT_ID,
self.include_server_group_quotas)
self.assertEqual(res_dict, ref_quota_set)
def test_user_quotas_update(self):
@ -456,7 +462,8 @@ class UserQuotasTestV21(BaseQuotaSetsTest):
body['quota_set']['server_groups'] = 10
body['quota_set']['server_group_members'] = 10
url = '/v2/fake4/os-quota-sets/update_me?user_id=1'
url = ('/v2/%s/os-quota-sets/update_me?user_id=1' %
fakes.FAKE_PROJECT_ID)
req = self._get_http_request(url)
res_dict = self.controller.update(req, 'update_me', body=body)
@ -465,19 +472,21 @@ class UserQuotasTestV21(BaseQuotaSetsTest):
def test_user_quotas_update_exceed_project(self):
body = {'quota_set': {'instances': 20}}
url = '/v2/fake4/os-quota-sets/update_me?user_id=1'
url = ('/v2/%s/os-quota-sets/update_me?user_id=1' %
fakes.FAKE_PROJECT_ID)
req = self._get_http_request(url)
self.assertRaises(webob.exc.HTTPBadRequest, self.controller.update,
req, 'update_me', body=body)
@mock.patch('nova.objects.Quotas.destroy_all_by_project_and_user')
def test_user_quotas_delete(self, mock_destroy_all_by_project_and_user):
url = '/v2/fake4/os-quota-sets/1234?user_id=1'
url = '/v2/%s/os-quota-sets/%s?user_id=1' % (fakes.FAKE_PROJECT_ID,
fakes.FAKE_PROJECT_ID)
req = self._get_http_request(url)
res = self.controller.delete(req, 1234)
res = self.controller.delete(req, fakes.FAKE_PROJECT_ID)
self.assertEqual(202, self.get_delete_status_int(res))
mock_destroy_all_by_project_and_user.assert_called_once_with(
req.environ['nova.context'], 1234, '1'
req.environ['nova.context'], fakes.FAKE_PROJECT_ID, '1'
)
@mock.patch('nova.objects.Quotas.create_limit')
@ -485,7 +494,8 @@ class UserQuotasTestV21(BaseQuotaSetsTest):
body = {'quota_set': {'instances': 1,
'cores': 1}}
url = '/v2/fake4/os-quota-sets/update_me?user_id=1'
url = ('/v2/%s/os-quota-sets/update_me?user_id=1' %
fakes.FAKE_PROJECT_ID)
req = fakes.HTTPRequest.blank(url, use_admin_context=True)
self.controller.update(req, 'update_me', body=body)
self.assertEqual(2,
@ -496,7 +506,8 @@ class UserQuotasTestV21(BaseQuotaSetsTest):
body = {'quota_set': {'instances': 20,
'cores': 1}}
url = '/v2/fake4/os-quota-sets/update_me?user_id=1'
url = ('/v2/%s/os-quota-sets/update_me?user_id=1' %
fakes.FAKE_PROJECT_ID)
req = fakes.HTTPRequest.blank(url, use_admin_context=True)
self.assertRaises(webob.exc.HTTPBadRequest, self.controller.update,
req, 'update_me', body=body)

View File

@ -57,25 +57,29 @@ class TestSecurityGroupDefaultRulesNeutronV21(test.TestCase):
def test_create_security_group_default_rule_not_implemented_neutron(self):
sgr = security_group_default_rule_template()
req = fakes.HTTPRequest.blank(
'/v2/fake/os-security-group-default-rules', use_admin_context=True)
'/v2/%s/os-security-group-default-rules' % fakes.FAKE_PROJECT_ID,
use_admin_context=True)
self.assertRaises(webob.exc.HTTPNotImplemented, self.controller.create,
req, {'security_group_default_rule': sgr})
def test_security_group_default_rules_list_not_implemented_neutron(self):
req = fakes.HTTPRequest.blank(
'/v2/fake/os-security-group-default-rules', use_admin_context=True)
'/v2/%s/os-security-group-default-rules' % fakes.FAKE_PROJECT_ID,
use_admin_context=True)
self.assertRaises(webob.exc.HTTPNotImplemented, self.controller.index,
req)
def test_security_group_default_rules_show_not_implemented_neutron(self):
req = fakes.HTTPRequest.blank(
'/v2/fake/os-security-group-default-rules', use_admin_context=True)
'/v2/%s/os-security-group-default-rules' % fakes.FAKE_PROJECT_ID,
use_admin_context=True)
self.assertRaises(webob.exc.HTTPNotImplemented, self.controller.show,
req, '602ed77c-a076-4f9b-a617-f93b847b62c5')
def test_security_group_default_rules_delete_not_implemented_neutron(self):
req = fakes.HTTPRequest.blank(
'/v2/fake/os-security-group-default-rules', use_admin_context=True)
'/v2/%s/os-security-group-default-rules' % fakes.FAKE_PROJECT_ID,
use_admin_context=True)
self.assertRaises(webob.exc.HTTPNotImplemented, self.controller.delete,
req, '602ed77c-a076-4f9b-a617-f93b847b62c5')
@ -89,7 +93,7 @@ class TestSecurityGroupDefaultRulesV21(test.TestCase):
self.flags(use_neutron=False)
self.controller = self.controller_cls()
self.req = fakes.HTTPRequest.blank(
'/v2/fake/os-security-group-default-rules')
'/v2/%s/os-security-group-default-rules' % fakes.FAKE_PROJECT_ID)
def test_create_security_group_default_rule(self):
sgr = security_group_default_rule_template()

View File

@ -417,7 +417,7 @@ class TestSecurityGroupsV21(test.TestCase):
group_id=group_id)
sg = security_group_template(
id=i + 1, name=name, description=name + '-desc',
rules=[rule1, rule2], tenant_id='fake')
rules=[rule1, rule2], tenant_id=fakes.FAKE_PROJECT_ID)
groups.append(sg)
# An expected rule here needs to be created as the api returns
@ -425,16 +425,19 @@ class TestSecurityGroupsV21(test.TestCase):
# passed in.
expected_rule1 = security_group_rule_template(
ip_range={}, parent_group_id=1, ip_protocol='TCP',
group={'name': 'default', 'tenant_id': 'fake'}, id=99)
group={'name': 'default', 'tenant_id': fakes.FAKE_PROJECT_ID},
id=99)
expected_rule2 = security_group_rule_template(
ip_range={}, parent_group_id=1, ip_protocol='UDP',
group={'name': 'default', 'tenant_id': 'fake'}, id=77)
group={'name': 'default', 'tenant_id': fakes.FAKE_PROJECT_ID},
id=77)
expected_group1 = security_group_template(
id=1, name='default', description='default-desc',
rules=[expected_rule1, expected_rule2], tenant_id='fake')
rules=[expected_rule1, expected_rule2],
tenant_id=fakes.FAKE_PROJECT_ID)
expected_group2 = security_group_template(
id=2, name='test', description='test-desc', rules=[],
tenant_id='fake')
tenant_id=fakes.FAKE_PROJECT_ID)
expected = {'security_groups': [expected_group1, expected_group2]}
@ -549,7 +552,7 @@ class TestSecurityGroupsV21(test.TestCase):
self.req, '1', {'security_group': sg})
def test_delete_security_group_by_id(self):
sg = security_group_template(id=1, project_id='fake_project',
sg = security_group_template(id=1, project_id=fakes.FAKE_PROJECT_ID,
user_id='fake_user', rules=[])
self.called = False

View File

@ -63,6 +63,7 @@ class ServerActionsControllerTestV21(test.TestCase):
self.flags(group='glance', api_servers=['http://localhost:9292'])
self.stub_out('nova.compute.api.API.get',
fakes.fake_compute_get(vm_state=vm_states.ACTIVE,
project_id=fakes.FAKE_PROJECT_ID,
host='fake_host'))
self.stub_out('nova.objects.Instance.save', lambda *a, **kw: None)
@ -80,7 +81,8 @@ class ServerActionsControllerTestV21(test.TestCase):
self.addCleanup(mock_rpcapi.stop)
# The project_id here matches what is used by default in
# fake_compute_get which need to match for policy checks.
self.req = fakes.HTTPRequest.blank('', project_id='fake_project')
self.req = fakes.HTTPRequest.blank('',
project_id=fakes.FAKE_PROJECT_ID)
self.context = self.req.environ['nova.context']
self.image_api = image.API()
@ -224,7 +226,8 @@ class ServerActionsControllerTestV21(test.TestCase):
def test_reboot_soft_with_soft_in_progress_raises_conflict(self):
body = dict(reboot=dict(type="SOFT"))
self.stub_out('nova.compute.api.API.get',
fakes.fake_compute_get(vm_state=vm_states.ACTIVE,
fakes.fake_compute_get(project_id=fakes.FAKE_PROJECT_ID,
vm_state=vm_states.ACTIVE,
task_state=task_states.REBOOTING))
self.assertRaises(webob.exc.HTTPConflict,
self.controller._action_reboot,
@ -233,7 +236,8 @@ class ServerActionsControllerTestV21(test.TestCase):
def test_reboot_hard_with_soft_in_progress_does_not_raise(self):
body = dict(reboot=dict(type="HARD"))
self.stub_out('nova.compute.api.API.get',
fakes.fake_compute_get(vm_state=vm_states.ACTIVE,
fakes.fake_compute_get(project_id=fakes.FAKE_PROJECT_ID,
vm_state=vm_states.ACTIVE,
task_state=task_states.REBOOTING))
self.controller._action_reboot(self.req, FAKE_UUID, body=body)
@ -241,6 +245,7 @@ class ServerActionsControllerTestV21(test.TestCase):
body = dict(reboot=dict(type="HARD"))
self.stub_out('nova.compute.api.API.get',
fakes.fake_compute_get(
project_id=fakes.FAKE_PROJECT_ID,
vm_state=vm_states.ACTIVE,
task_state=task_states.REBOOTING_HARD))
self.controller._action_reboot(self.req, FAKE_UUID, body=body)
@ -249,6 +254,7 @@ class ServerActionsControllerTestV21(test.TestCase):
body = dict(reboot=dict(type="SOFT"))
self.stub_out('nova.compute.api.API.get',
fakes.fake_compute_get(
project_id=fakes.FAKE_PROJECT_ID,
vm_state=vm_states.ACTIVE,
task_state=task_states.REBOOTING_HARD))
self.assertRaises(webob.exc.HTTPConflict,
@ -256,9 +262,11 @@ class ServerActionsControllerTestV21(test.TestCase):
self.req, FAKE_UUID, body=body)
def _test_rebuild_preserve_ephemeral(self, value=None):
return_server = fakes.fake_compute_get(image_ref='2',
vm_state=vm_states.ACTIVE,
host='fake_host')
return_server = fakes.fake_compute_get(
project_id=fakes.FAKE_PROJECT_ID,
image_ref='2',
vm_state=vm_states.ACTIVE,
host='fake_host')
self.stub_out('nova.compute.api.API.get', return_server)
body = {
@ -289,7 +297,9 @@ class ServerActionsControllerTestV21(test.TestCase):
self._test_rebuild_preserve_ephemeral()
def test_rebuild_accepted_minimum(self):
return_server = fakes.fake_compute_get(image_ref='2',
return_server = fakes.fake_compute_get(
project_id=fakes.FAKE_PROJECT_ID,
image_ref='2',
vm_state=vm_states.ACTIVE, host='fake_host')
self.stub_out('nova.compute.api.API.get', return_server)
self_href = 'http://localhost/v2/servers/%s' % FAKE_UUID
@ -346,7 +356,9 @@ class ServerActionsControllerTestV21(test.TestCase):
# is missing from response. See lp bug 921814
self.flags(enable_instance_password=False, group='api')
return_server = fakes.fake_compute_get(image_ref='2',
return_server = fakes.fake_compute_get(
project_id=fakes.FAKE_PROJECT_ID,
image_ref='2',
vm_state=vm_states.ACTIVE, host='fake_host')
self.stub_out('nova.compute.api.API.get', return_server)
self_href = 'http://localhost/v2/servers/%s' % FAKE_UUID
@ -388,7 +400,9 @@ class ServerActionsControllerTestV21(test.TestCase):
def test_rebuild_accepted_with_metadata(self):
metadata = {'new': 'metadata'}
return_server = fakes.fake_compute_get(metadata=metadata,
return_server = fakes.fake_compute_get(
project_id=fakes.FAKE_PROJECT_ID,
metadata=metadata,
vm_state=vm_states.ACTIVE, host='fake_host')
self.stub_out('nova.compute.api.API.get', return_server)
@ -442,7 +456,9 @@ class ServerActionsControllerTestV21(test.TestCase):
self.req, FAKE_UUID, body=body)
def test_rebuild_admin_pass(self):
return_server = fakes.fake_compute_get(image_ref='2',
return_server = fakes.fake_compute_get(
project_id=fakes.FAKE_PROJECT_ID,
image_ref='2',
vm_state=vm_states.ACTIVE, host='fake_host')
self.stub_out('nova.compute.api.API.get', return_server)
@ -464,7 +480,9 @@ class ServerActionsControllerTestV21(test.TestCase):
# is missing from response. See lp bug 921814
self.flags(enable_instance_password=False, group='api')
return_server = fakes.fake_compute_get(image_ref='2',
return_server = fakes.fake_compute_get(
project_id=fakes.FAKE_PROJECT_ID,
image_ref='2',
vm_state=vm_states.ACTIVE, host='fake_host')
self.stub_out('nova.compute.api.API.get', return_server)
@ -983,7 +1001,8 @@ class ServerActionsControllerTestV21(test.TestCase):
image_root_device_name='/dev/vda',
image_block_device_mapping=str(bdm),
image_container_format='ami')
instance = fakes.fake_compute_get(image_ref=uuids.fake,
instance = fakes.fake_compute_get(project_id=fakes.FAKE_PROJECT_ID,
image_ref=uuids.fake,
vm_state=vm_states.ACTIVE,
root_device_name='/dev/vda',
system_metadata=system_metadata)
@ -1090,6 +1109,7 @@ class ServerActionsControllerTestV21(test.TestCase):
fake_block_device_mapping_get_all_by_instance)
instance = fakes.fake_compute_get(
project_id=fakes.FAKE_PROJECT_ID,
image_ref='',
vm_state=vm_states.ACTIVE,
root_device_name='/dev/vda',

View File

@ -682,7 +682,7 @@ class ServerGroupTestV21(test.NoDBTestCase):
self.controller.delete(self.req, ig_uuid)
def test_delete_server_group_rbac_admin_only(self):
ctx = context.RequestContext('fake_user', 'fake')
ctx = context.RequestContext('fake_user', fakes.FAKE_PROJECT_ID)
# override policy to restrict to admin
rule_name = sg_policies.POLICY_ROOT % 'delete'

View File

@ -112,7 +112,8 @@ class ServerMetaDataTestV21(test.TestCase):
def _set_up_resources(self):
self.controller = server_metadata_v21.ServerMetadataController()
self.uuid = uuids.fake
self.url = '/fake/servers/%s/metadata' % self.uuid
self.url = '/%s/servers/%s/metadata' % (fakes.FAKE_PROJECT_ID,
self.uuid)
def _get_request(self, param_url=''):
return fakes.HTTPRequestV21.blank(self.url + param_url)
@ -669,7 +670,8 @@ class BadStateServerMetaDataTestV21(test.TestCase):
def _set_up_resources(self):
self.controller = server_metadata_v21.ServerMetadataController()
self.uuid = uuids.fake
self.url = '/fake/servers/%s/metadata' % self.uuid
self.url = '/%s/servers/%s/metadata' % (fakes.FAKE_PROJECT_ID,
self.uuid)
def _get_request(self, param_url=''):
return fakes.HTTPRequestV21.blank(self.url + param_url)

View File

@ -32,7 +32,7 @@ class ServerTopologyTestV278(test.NoDBTestCase):
super(ServerTopologyTestV278, self).setUp()
self.uuid = uuids.instance
self.req = fakes.HTTPRequest.blank(
'/v2/fake/servers/%s/topology' % self.uuid,
'/v2/%s/servers/%s/topology' % (fakes.FAKE_PROJECT_ID, self.uuid),
version=self.api_version,
use_admin_context=True)
self.controller = server_topology.ServerTopologyController()
@ -88,8 +88,8 @@ class ServerTopologyTestV278(test.NoDBTestCase):
def test_hit_topology_before278(self):
req = fakes.HTTPRequest.blank(
'/v2/fake/servers/%s/topology' % self.uuid,
version='2.77')
'/v2/%s/servers/%s/topology' % (fakes.FAKE_PROJECT_ID, self.uuid),
version='2.77')
excep = self.assertRaises(exception.VersionNotFoundForAPIMethod,
self.controller.index,
req,

View File

@ -3696,7 +3696,7 @@ class ServersControllerRebuildTestV263(ControllerTest):
def test_rebuild_server_with_trusted_certs_policy_failed(self):
rule_name = "os_compute_api:servers:rebuild:trusted_certs"
rules = {"os_compute_api:servers:rebuild": "@",
rule_name: "project:fake"}
rule_name: "project:%s" % fakes.FAKE_PROJECT_ID}
self.policy.set_rules(rules)
exc = self.assertRaises(exception.PolicyNotAuthorized,
self._rebuild_server,
@ -4169,7 +4169,7 @@ class ServersControllerCreateTest(test.TestCase):
'instance_type': inst_type,
'image_ref': inst.get('image_ref', def_image_ref),
'user_id': 'fake',
'project_id': 'fake',
'project_id': fakes.FAKE_PROJECT_ID,
'reservation_id': inst['reservation_id'],
"created_at": datetime.datetime(2010, 10, 10, 12, 0, 0),
"updated_at": datetime.datetime(2010, 11, 11, 11, 0, 0),
@ -5458,8 +5458,8 @@ class ServersControllerCreateTest(test.TestCase):
else:
count['project'][res] = count['user'][res] = 0
mock_count.return_value = count
mock_get_all_p.return_value = {'project_id': 'fake'}
mock_get_all_pu.return_value = {'project_id': 'fake',
mock_get_all_p.return_value = {'project_id': fakes.FAKE_PROJECT_ID}
mock_get_all_pu.return_value = {'project_id': fakes.FAKE_PROJECT_ID,
'user_id': 'fake_user'}
if resource in db_api.PER_PROJECT_QUOTAS:
mock_get_all_p.return_value[resource] = quota
@ -7217,7 +7217,7 @@ class ServersViewBuilderTest(test.TestCase):
uuids.cell1: bdms[0],
uuids.cell2: exception.BDMNotFound(id='fake')
}
ctxt = context.RequestContext('fake', 'fake')
ctxt = context.RequestContext('fake', fakes.FAKE_PROJECT_ID)
result = self.view_builder._get_instance_bdms_in_multiple_cells(
ctxt, [self.instance.uuid])
# will get the result from cell1
@ -7771,7 +7771,7 @@ class ServersViewBuilderTestV269(ServersViewBuilderTest):
objects.Instance(
context=self.ctxt,
uuid=uuids.fake1,
project_id='fake',
project_id=fakes.FAKE_PROJECT_ID,
created_at=datetime.datetime(1955, 11, 5)
)
]
@ -7875,7 +7875,7 @@ class ServersViewBuilderTestV269(ServersViewBuilderTest):
{
'created': '1955-11-05T00:00:00Z',
'id': uuids.fake1,
'tenant_id': 'fake',
'tenant_id': fakes.FAKE_PROJECT_ID,
"status": "UNKNOWN",
"links": [
{
@ -7900,7 +7900,7 @@ class ServersViewBuilderTestV269(ServersViewBuilderTest):
objects.Instance(
context=self.ctxt,
uuid=uuids.fake1,
project_id='fake',
project_id=fakes.FAKE_PROJECT_ID,
created_at=datetime.datetime(1955, 11, 5)
)
]

View File

@ -176,6 +176,8 @@ class ServicesTestV21(test.TestCase):
service_is_up_exc = webob.exc.HTTPInternalServerError
bad_request = exception.ValidationError
wsgi_api_version = os_wsgi.DEFAULT_API_VERSION
base_path = '/%s/services' % fakes.FAKE_PROJECT_ID
base_path_with_query = base_path + '?%s'
def _set_up_controller(self):
self.controller = services_v21.ServiceController()
@ -208,7 +210,7 @@ class ServicesTestV21(test.TestCase):
return services
def test_services_list(self):
req = fakes.HTTPRequest.blank('/fake/services',
req = fakes.HTTPRequest.blank(self.base_path,
use_admin_context=True)
res_dict = self.controller.index(req)
@ -249,7 +251,7 @@ class ServicesTestV21(test.TestCase):
self.assertEqual(res_dict, response)
def test_services_list_with_host(self):
req = fakes.HTTPRequest.blank('/fake/services?host=host1',
req = fakes.HTTPRequest.blank(self.base_path_with_query % 'host=host1',
use_admin_context=True)
res_dict = self.controller.index(req)
@ -274,8 +276,9 @@ class ServicesTestV21(test.TestCase):
self.assertEqual(res_dict, response)
def test_services_list_with_service(self):
req = fakes.HTTPRequest.blank('/fake/services?binary=nova-compute',
use_admin_context=True)
req = fakes.HTTPRequest.blank(
self.base_path_with_query % 'binary=nova-compute',
use_admin_context=True)
res_dict = self.controller.index(req)
response = {'services': [
@ -315,15 +318,16 @@ class ServicesTestV21(test.TestCase):
self.assertEqual(res_dict, response)
def test_services_list_with_host_service(self):
url = '/fake/services?host=host1&binary=nova-compute'
url = self.base_path_with_query % 'host=host1&binary=nova-compute'
self._test_services_list_with_param(url)
def test_services_list_with_additional_filter(self):
url = '/fake/services?host=host1&binary=nova-compute&unknown=abc'
url = (self.base_path_with_query %
'host=host1&binary=nova-compute&unknown=abc')
self._test_services_list_with_param(url)
def test_services_list_with_unknown_filter(self):
url = '/fake/services?unknown=abc'
url = self.base_path_with_query % 'unknown=abc'
req = fakes.HTTPRequest.blank(url, use_admin_context=True)
res_dict = self.controller.index(req)
@ -368,7 +372,7 @@ class ServicesTestV21(test.TestCase):
self.assertEqual(res_dict, response)
def test_services_list_with_multiple_host_filter(self):
url = '/fake/services?host=host1&host=host2'
url = self.base_path_with_query % 'host=host1&host=host2'
req = fakes.HTTPRequest.blank(url, use_admin_context=True)
res_dict = self.controller.index(req)
@ -394,7 +398,8 @@ class ServicesTestV21(test.TestCase):
self.assertEqual(response, res_dict)
def test_services_list_with_multiple_service_filter(self):
url = '/fake/services?binary=nova-compute&binary=nova-scheduler'
url = (self.base_path_with_query %
'binary=nova-compute&binary=nova-scheduler')
req = fakes.HTTPRequest.blank(url, use_admin_context=True)
res_dict = self.controller.index(req)
@ -433,12 +438,12 @@ class ServicesTestV21(test.TestCase):
def test_services_list_with_host_service_dummy(self):
# This is for backward compatible, need remove it when
# restriction to param is enabled.
url = '/fake/services?host=host1&binary=nova-compute&dummy=dummy'
url = (self.base_path_with_query %
'host=host1&binary=nova-compute&dummy=dummy')
self._test_services_list_with_param(url)
def test_services_detail(self):
req = fakes.HTTPRequest.blank('/fake/services',
use_admin_context=True)
req = fakes.HTTPRequest.blank(self.base_path, use_admin_context=True)
res_dict = self.controller.index(req)
response = {'services': [
@ -478,7 +483,7 @@ class ServicesTestV21(test.TestCase):
self.assertEqual(res_dict, response)
def test_service_detail_with_host(self):
req = fakes.HTTPRequest.blank('/fake/services?host=host1',
req = fakes.HTTPRequest.blank(self.base_path_with_query % 'host=host1',
use_admin_context=True)
res_dict = self.controller.index(req)
@ -503,8 +508,9 @@ class ServicesTestV21(test.TestCase):
self.assertEqual(res_dict, response)
def test_service_detail_with_service(self):
req = fakes.HTTPRequest.blank('/fake/services?binary=nova-compute',
use_admin_context=True)
req = fakes.HTTPRequest.blank(
self.base_path_with_query % 'binary=nova-compute',
use_admin_context=True)
res_dict = self.controller.index(req)
response = {'services': [
@ -528,7 +534,7 @@ class ServicesTestV21(test.TestCase):
self.assertEqual(res_dict, response)
def test_service_detail_with_host_service(self):
url = '/fake/services?host=host1&binary=nova-compute'
url = self.base_path_with_query % 'host=host1&binary=nova-compute'
req = fakes.HTTPRequest.blank(url, use_admin_context=True)
res_dict = self.controller.index(req)
@ -545,7 +551,7 @@ class ServicesTestV21(test.TestCase):
self.assertEqual(res_dict, response)
def test_services_detail_with_delete_extension(self):
req = fakes.HTTPRequest.blank('/fake/services',
req = fakes.HTTPRequest.blank(self.base_path,
use_admin_context=True)
res_dict = self.controller.index(req)
@ -752,7 +758,7 @@ class ServicesTestV21(test.TestCase):
# calling the API
@mock.patch.object(db_driver.DbDriver, 'is_up', side_effect=KeyError)
def test_services_with_exception(self, mock_is_up):
url = '/fake/services?host=host1&binary=nova-compute'
url = self.base_path_with_query % 'host=host1&binary=nova-compute'
req = fakes.HTTPRequest.blank(url, use_admin_context=True)
self.assertRaises(self.service_is_up_exc, self.controller.index, req)
@ -761,7 +767,7 @@ class ServicesTestV211(ServicesTestV21):
wsgi_api_version = '2.11'
def test_services_list(self):
req = fakes.HTTPRequest.blank('/fake/services',
req = fakes.HTTPRequest.blank(self.base_path,
use_admin_context=True,
version=self.wsgi_api_version)
res_dict = self.controller.index(req)
@ -807,7 +813,7 @@ class ServicesTestV211(ServicesTestV21):
self.assertEqual(res_dict, response)
def test_services_list_with_host(self):
req = fakes.HTTPRequest.blank('/fake/services?host=host1',
req = fakes.HTTPRequest.blank(self.base_path_with_query % 'host=host1',
use_admin_context=True,
version=self.wsgi_api_version)
res_dict = self.controller.index(req)
@ -835,9 +841,9 @@ class ServicesTestV211(ServicesTestV21):
self.assertEqual(res_dict, response)
def test_services_list_with_service(self):
req = fakes.HTTPRequest.blank('/fake/services?binary=nova-compute',
version=self.wsgi_api_version,
use_admin_context=True)
req = fakes.HTTPRequest.blank(
self.base_path_with_query % 'binary=nova-compute',
version=self.wsgi_api_version, use_admin_context=True)
res_dict = self.controller.index(req)
response = {'services': [
@ -863,7 +869,7 @@ class ServicesTestV211(ServicesTestV21):
self.assertEqual(res_dict, response)
def test_services_list_with_host_service(self):
url = '/fake/services?host=host1&binary=nova-compute'
url = self.base_path_with_query % 'host=host1&binary=nova-compute'
req = fakes.HTTPRequest.blank(url, use_admin_context=True,
version=self.wsgi_api_version)
res_dict = self.controller.index(req)
@ -882,7 +888,7 @@ class ServicesTestV211(ServicesTestV21):
self.assertEqual(res_dict, response)
def test_services_detail(self):
req = fakes.HTTPRequest.blank('/fake/services',
req = fakes.HTTPRequest.blank(self.base_path,
use_admin_context=True,
version=self.wsgi_api_version)
res_dict = self.controller.index(req)
@ -928,7 +934,7 @@ class ServicesTestV211(ServicesTestV21):
self.assertEqual(res_dict, response)
def test_service_detail_with_host(self):
req = fakes.HTTPRequest.blank('/fake/services?host=host1',
req = fakes.HTTPRequest.blank(self.base_path_with_query % 'host=host1',
use_admin_context=True,
version=self.wsgi_api_version)
res_dict = self.controller.index(req)
@ -956,9 +962,9 @@ class ServicesTestV211(ServicesTestV21):
self.assertEqual(res_dict, response)
def test_service_detail_with_service(self):
req = fakes.HTTPRequest.blank('/fake/services?binary=nova-compute',
version=self.wsgi_api_version,
use_admin_context=True)
req = fakes.HTTPRequest.blank(
self.base_path_with_query % 'binary=nova-compute',
version=self.wsgi_api_version, use_admin_context=True)
res_dict = self.controller.index(req)
response = {'services': [
@ -984,7 +990,7 @@ class ServicesTestV211(ServicesTestV21):
self.assertEqual(res_dict, response)
def test_service_detail_with_host_service(self):
url = '/fake/services?host=host1&binary=nova-compute'
url = self.base_path_with_query % 'host=host1&binary=nova-compute'
req = fakes.HTTPRequest.blank(url, use_admin_context=True,
version=self.wsgi_api_version)
res_dict = self.controller.index(req)
@ -1003,7 +1009,7 @@ class ServicesTestV211(ServicesTestV21):
self.assertEqual(res_dict, response)
def test_services_detail_with_delete_extension(self):
req = fakes.HTTPRequest.blank('/fake/services',
req = fakes.HTTPRequest.blank(self.base_path,
use_admin_context=True,
version=self.wsgi_api_version)
res_dict = self.controller.index(req)
@ -1049,7 +1055,7 @@ class ServicesTestV211(ServicesTestV21):
self.assertEqual(res_dict, response)
def test_force_down_service(self):
req = fakes.HTTPRequest.blank('/fake/services',
req = fakes.HTTPRequest.blank(self.base_path,
use_admin_context=True,
version=self.wsgi_api_version)
req_body = {"forced_down": True,
@ -1066,7 +1072,7 @@ class ServicesTestV211(ServicesTestV21):
self.assertEqual(response, res_dict)
def test_force_down_service_with_string_forced_down(self):
req = fakes.HTTPRequest.blank('/fake/services',
req = fakes.HTTPRequest.blank(self.base_path,
use_admin_context=True,
version=self.wsgi_api_version)
req_body = {"forced_down": "True",
@ -1083,7 +1089,7 @@ class ServicesTestV211(ServicesTestV21):
self.assertEqual(response, res_dict)
def test_force_down_service_with_invalid_parameter(self):
req = fakes.HTTPRequest.blank('/fake/services',
req = fakes.HTTPRequest.blank(self.base_path,
use_admin_context=True,
version=self.wsgi_api_version)
req_body = {"forced_down": "Invalid",
@ -1092,7 +1098,7 @@ class ServicesTestV211(ServicesTestV21):
self.controller.update, req, 'force-down', body=req_body)
def test_update_forced_down_invalid_service(self):
req = fakes.HTTPRequest.blank('/fake/services',
req = fakes.HTTPRequest.blank(self.base_path,
use_admin_context=True,
version=self.wsgi_api_version)
req_body = {"forced_down": True,
@ -1337,13 +1343,15 @@ class ServicesTestV275(test.TestCase):
self.controller = services_v21.ServiceController()
def test_services_list_with_additional_filter_old_version(self):
url = '/fake/services?host=host1&binary=nova-compute&unknown=abc'
url = ('/%s/services?host=host1&binary=nova-compute&unknown=abc' %
fakes.FAKE_PROJECT_ID)
req = fakes.HTTPRequest.blank(url, use_admin_context=True,
version='2.74')
self.controller.index(req)
def test_services_list_with_additional_filter(self):
url = '/fake/services?host=host1&binary=nova-compute&unknown=abc'
url = ('/%s/services?host=host1&binary=nova-compute&unknown=abc' %
fakes.FAKE_PROJECT_ID)
req = fakes.HTTPRequest.blank(url, use_admin_context=True,
version=self.wsgi_api_version)
self.assertRaises(exception.ValidationError,

View File

@ -194,9 +194,9 @@ class UnshelveServerControllerTestV277(test.NoDBTestCase):
def setUp(self):
super(UnshelveServerControllerTestV277, self).setUp()
self.controller = shelve_v21.ShelveController()
self.req = fakes.HTTPRequest.blank('/fake/servers/a/action',
use_admin_context=True,
version=self.wsgi_api_version)
self.req = fakes.HTTPRequest.blank(
'/%s/servers/a/action' % fakes.FAKE_PROJECT_ID,
use_admin_context=True, version=self.wsgi_api_version)
# These tests don't care about ports with QoS bandwidth resources.
self.stub_out('nova.api.openstack.common.'
'instance_has_port_with_resource_request',

View File

@ -115,7 +115,8 @@ class SnapshotApiTestV21(test.NoDBTestCase):
self.assertEqual(102, resp_snapshot['id'])
def test_snapshot_detail_offset_and_limit(self):
path = '/v2/fake/os-snapshots/detail?offset=1&limit=1'
path = ('/v2/%s/os-snapshots/detail?offset=1&limit=1' %
fakes.FAKE_PROJECT_ID)
req = fakes.HTTPRequest.blank(path)
resp_dict = self.controller.detail(req)
self.assertIn('snapshots', resp_dict)
@ -132,7 +133,8 @@ class SnapshotApiTestV21(test.NoDBTestCase):
self.assertEqual(3, len(resp_snapshots))
def test_snapshot_index_offset_and_limit(self):
path = '/v2/fake/os-snapshots?offset=1&limit=1'
path = ('/v2/%s/os-snapshots?offset=1&limit=1' %
fakes.FAKE_PROJECT_ID)
req = fakes.HTTPRequest.blank(path)
resp_dict = self.controller.index(req)
self.assertIn('snapshots', resp_dict)

View File

@ -141,7 +141,7 @@ class BootFromVolumeTest(test.TestCase):
'access_ip_v6': 'fead::1234',
'image_ref': IMAGE_UUID,
'user_id': 'fake',
'project_id': 'fake',
'project_id': fakes.FAKE_PROJECT_ID,
'created_at': datetime.datetime(2010, 10, 10, 12, 0, 0),
'updated_at': datetime.datetime(2010, 11, 11, 11, 0, 0),
'progress': 0,

View File

@ -19,6 +19,8 @@ from nova.tests.unit.api.openstack import fakes
class APIVersionRequestTests(test.NoDBTestCase):
base_path = '/%s' % fakes.FAKE_PROJECT_ID
def test_valid_version_strings(self):
def _test_string(version, exp_major, exp_minor):
v = api_version_request.APIVersionRequest(version)
@ -126,7 +128,7 @@ class APIVersionRequestTests(test.NoDBTestCase):
api_version_request.APIVersionRequest().get_string)
def test_is_supported_min_version(self):
req = fakes.HTTPRequest.blank('/fake', version='2.5')
req = fakes.HTTPRequest.blank(self.base_path, version='2.5')
self.assertTrue(api_version_request.is_supported(
req, min_version='2.4'))
@ -136,7 +138,7 @@ class APIVersionRequestTests(test.NoDBTestCase):
req, min_version='2.6'))
def test_is_supported_max_version(self):
req = fakes.HTTPRequest.blank('/fake', version='2.5')
req = fakes.HTTPRequest.blank(self.base_path, version='2.5')
self.assertFalse(api_version_request.is_supported(
req, max_version='2.4'))
@ -146,7 +148,7 @@ class APIVersionRequestTests(test.NoDBTestCase):
req, max_version='2.6'))
def test_is_supported_min_and_max_version(self):
req = fakes.HTTPRequest.blank('/fake', version='2.5')
req = fakes.HTTPRequest.blank(self.base_path, version='2.5')
self.assertFalse(api_version_request.is_supported(
req, min_version='2.3', max_version='2.4'))