Merge "tests: Make '_IntegratedTestBase' subclass 'PlacementInstanceHelperMixin'"
This commit is contained in:
commit
d037276e33
|
@ -470,6 +470,11 @@ class PlacementHelperMixin:
|
|||
'/resource_providers/%s' % rp_uuid, version='1.15',
|
||||
).body
|
||||
|
||||
def _get_provider_uuid_by_name(self, name):
|
||||
return self.placement_api.get(
|
||||
'/resource_providers?name=%s' % name,
|
||||
).body['resource_providers'][0]['uuid']
|
||||
|
||||
def _get_provider_usages(self, provider_uuid):
|
||||
return self.placement_api.get(
|
||||
'/resource_providers/%s/usages' % provider_uuid
|
||||
|
@ -955,7 +960,7 @@ class PlacementInstanceHelperMixin(InstanceHelperMixin, PlacementHelperMixin):
|
|||
self.assertEqual(expected_vcpu_usage, hypervisor['vcpus_used'])
|
||||
|
||||
|
||||
class _IntegratedTestBase(test.TestCase, InstanceHelperMixin):
|
||||
class _IntegratedTestBase(test.TestCase, PlacementInstanceHelperMixin):
|
||||
#: Whether the test requires global external locking being configured for
|
||||
#: them. New tests should set this to False.
|
||||
REQUIRES_LOCKING = True
|
||||
|
@ -988,8 +993,10 @@ class _IntegratedTestBase(test.TestCase, InstanceHelperMixin):
|
|||
nova.tests.unit.image.fake.stub_out_image_service(self)
|
||||
|
||||
self.useFixture(cast_as_call.CastAsCall(self))
|
||||
|
||||
placement = self.useFixture(func_fixtures.PlacementFixture())
|
||||
self.placement_api = placement.api
|
||||
|
||||
self.neutron = self.useFixture(nova_fixtures.NeutronFixture(self))
|
||||
|
||||
fake_notifier.stub_notifier(self)
|
||||
|
@ -1051,52 +1058,9 @@ class _IntegratedTestBase(test.TestCase, InstanceHelperMixin):
|
|||
("The expected wsgi middlewares %s are not "
|
||||
"existed") % expected_middleware)
|
||||
|
||||
# TODO(sbauza): Drop this method once test classes inherit from a mixin
|
||||
def _get_provider_uuid_by_name(self, name):
|
||||
return self.placement_api.get(
|
||||
'/resource_providers?name=%s' % name).body[
|
||||
'resource_providers'][0]['uuid']
|
||||
|
||||
# TODO(sbauza): Drop this method once test classes inherit from a mixin
|
||||
def _get_all_rp_uuids_in_a_tree(self, in_tree_rp_uuid):
|
||||
rps = self.placement_api.get(
|
||||
'/resource_providers?in_tree=%s' % in_tree_rp_uuid,
|
||||
version='1.20').body['resource_providers']
|
||||
return [rp['uuid'] for rp in rps]
|
||||
|
||||
# TODO(sbauza): Drop this method once test classes inherit from a mixin
|
||||
def _get_provider_inventory(self, rp_uuid):
|
||||
return self.placement_api.get(
|
||||
'/resource_providers/%s/inventories' % rp_uuid).body['inventories']
|
||||
|
||||
# TODO(sbauza): Drop this method once test classes inherit from a mixin
|
||||
def _get_provider_usages(self, provider_uuid):
|
||||
return self.placement_api.get(
|
||||
'/resource_providers/%s/usages' % provider_uuid).body['usages']
|
||||
|
||||
# TODO(sbauza): Drop this method once test classes inherit from a mixin
|
||||
def _create_trait(self, trait):
|
||||
return self.placement_api.put('/traits/%s' % trait, {}, version='1.6')
|
||||
|
||||
# TODO(sbauza): Drop this method once test classes inherit from a mixin
|
||||
def _set_provider_traits(self, rp_uuid, traits):
|
||||
"""This will overwrite any existing traits.
|
||||
|
||||
:param rp_uuid: UUID of the resource provider to update
|
||||
:param traits: list of trait strings to set on the provider
|
||||
:returns: APIResponse object with the results
|
||||
"""
|
||||
provider = self.placement_api.get(
|
||||
'/resource_providers/%s' % rp_uuid).body
|
||||
put_traits_req = {
|
||||
'resource_provider_generation': provider['generation'],
|
||||
'traits': traits
|
||||
}
|
||||
return self.placement_api.put(
|
||||
'/resource_providers/%s/traits' % rp_uuid,
|
||||
put_traits_req, version='1.6')
|
||||
|
||||
|
||||
# TODO(stephenfin): This is almost identical to '_IntegratedTestBase' now and
|
||||
# could be removed
|
||||
class ProviderUsageBaseTestCase(test.TestCase, PlacementInstanceHelperMixin):
|
||||
"""Base test class for functional tests that check provider usage
|
||||
and consumer allocations in Placement during various operations.
|
||||
|
|
Loading…
Reference in New Issue