Merge "Add method to get service provider names by resources"
This commit is contained in:
commit
9c65b8ee80
|
@ -78,6 +78,12 @@ class ServiceTypeManager(object):
|
|||
)
|
||||
return providers[0]
|
||||
|
||||
def get_provider_names_by_resource_ids(self, context, resource_ids):
|
||||
query = (
|
||||
context.session.query(ProviderResourceAssociation).
|
||||
filter(ProviderResourceAssociation.resource_id.in_(resource_ids)))
|
||||
return {rec.resource_id: rec.provider_name for rec in query}
|
||||
|
||||
def add_resource_association(self, context, service_type, provider_name,
|
||||
resource_id):
|
||||
r = self.get_service_providers(context,
|
||||
|
|
|
@ -109,6 +109,22 @@ class ServiceTypeManagerTestCase(testlib_api.SqlTestCase):
|
|||
None, constants.DUMMY
|
||||
)
|
||||
|
||||
def test_get_provider_names_by_resource_ids(self):
|
||||
self._set_override([constants.DUMMY + ':dummy1:driver_path',
|
||||
constants.DUMMY + ':dummy2:driver_path2'])
|
||||
ctx = context.get_admin_context()
|
||||
self.manager.add_resource_association(ctx, constants.DUMMY,
|
||||
'dummy1', '1')
|
||||
self.manager.add_resource_association(ctx, constants.DUMMY,
|
||||
'dummy1', '2')
|
||||
self.manager.add_resource_association(ctx, constants.DUMMY,
|
||||
'dummy2', '3')
|
||||
names_by_id = self.manager.get_provider_names_by_resource_ids(
|
||||
ctx, ['1', '2', '3', '4'])
|
||||
# unmatched IDs will be excluded from the result
|
||||
self.assertEqual({'1': 'dummy1', '2': 'dummy1', '3': 'dummy2'},
|
||||
names_by_id)
|
||||
|
||||
def test_add_resource_association(self):
|
||||
self._set_override([constants.LOADBALANCER +
|
||||
':lbaas1:driver_path:default',
|
||||
|
|
Loading…
Reference in New Issue