Use helpers in test_resource_provider (func)

Refactor test_resource_provider to use helper methods from test_base.

Change-Id: I577751867346454e2c49dd303bb79bcb2b8f6686
This commit is contained in:
Eric Fried 2018-04-26 14:41:51 -05:00
parent 69baecbcc2
commit 71de700c8f
2 changed files with 286 additions and 965 deletions

View File

@ -28,6 +28,7 @@ def add_inventory(rp, rc, total, **kwargs):
resource_class=rc, total=total, **kwargs) resource_class=rc, total=total, **kwargs)
inv.obj_set_defaults() inv.obj_set_defaults()
rp.add_inventory(inv) rp.add_inventory(inv)
return inv
def set_traits(rp, *traits): def set_traits(rp, *traits):
@ -40,17 +41,21 @@ def set_traits(rp, *traits):
trait.create() trait.create()
tlist.append(trait) tlist.append(trait)
rp.set_traits(rp_obj.TraitList(objects=tlist)) rp.set_traits(rp_obj.TraitList(objects=tlist))
return tlist
def allocate_from_provider(rp, rc, used): def allocate_from_provider(rp, rc, used, consumer_id=None):
# NOTE(efried): Always use a random consumer UUID - we don't want to # NOTE(efried): If not specified, use a random consumer UUID - we don't
# override any existing allocations from the test case. # want to override any existing allocations from the test case.
rp_obj.AllocationList( consumer_id = consumer_id or uuidutils.generate_uuid()
alloc_list = rp_obj.AllocationList(
rp._context, objects=[ rp._context, objects=[
rp_obj.Allocation( rp_obj.Allocation(
rp._context, resource_provider=rp, resource_class=rc, rp._context, resource_provider=rp, resource_class=rc,
consumer_id=uuidutils.generate_uuid(), used=used)] consumer_id=consumer_id, used=used)]
).create_all() )
alloc_list.create_all()
return alloc_list
class PlacementDbBaseTestCase(test.NoDBTestCase): class PlacementDbBaseTestCase(test.NoDBTestCase):
@ -77,10 +82,13 @@ class PlacementDbBaseTestCase(test.NoDBTestCase):
def _create_provider(self, name, *aggs, **kwargs): def _create_provider(self, name, *aggs, **kwargs):
parent = kwargs.get('parent') parent = kwargs.get('parent')
rp = rp_obj.ResourceProvider(self.ctx, name=name, root = kwargs.get('root')
uuid=getattr(uuids, name)) uuid = kwargs.get('uuid', getattr(uuids, name))
rp = rp_obj.ResourceProvider(self.ctx, name=name, uuid=uuid)
if parent: if parent:
rp.parent_provider_uuid = parent rp.parent_provider_uuid = parent
if root:
rp.root_provider_uuid = root
rp.create() rp.create()
if aggs: if aggs:
rp.set_aggregates(aggs) rp.set_aggregates(aggs)
@ -88,12 +96,7 @@ class PlacementDbBaseTestCase(test.NoDBTestCase):
return rp return rp
def _make_allocation(self, inv_dict, alloc_dict): def _make_allocation(self, inv_dict, alloc_dict):
rp_uuid = uuids.allocation_resource_provider rp = self._create_provider('allocation_resource_provider')
rp = rp_obj.ResourceProvider(
context=self.ctx,
uuid=rp_uuid,
name=rp_uuid)
rp.create()
disk_inv = rp_obj.Inventory(context=self.ctx, disk_inv = rp_obj.Inventory(context=self.ctx,
resource_provider=rp, **inv_dict) resource_provider=rp, **inv_dict)
inv_list = rp_obj.InventoryList(objects=[disk_inv]) inv_list = rp_obj.InventoryList(objects=[disk_inv])