return resource
def get_service_providers(self, filters=None, fields=None):
- res = [{'service_type': k[0],
- 'name': k[1],
- 'driver': v['driver'],
- 'default': v['default']}
- for k, v in self.providers.items()
- if self._check_entry(k, v, filters)]
- return self._fields(res, fields)
+ return [self._fields({'service_type': k[0],
+ 'name': k[1],
+ 'driver': v['driver'],
+ 'default': v['default']},
+ fields)
+ for k, v in self.providers.items()
+ if self._check_entry(k, v, filters)]
'service_type': prov['service_type']}
)
self.assertEqual(p, [prov])
+
+ def test_get_service_providers_with_fields(self):
+ provs = [{'service_type': constants.LOADBALANCER,
+ 'name': 'name',
+ 'driver': 'path',
+ 'default': False},
+ {'service_type': constants.LOADBALANCER,
+ 'name': 'name2',
+ 'driver': 'path2',
+ 'default': False}]
+ pconf = provconf.ProviderConfiguration(provs)
+ for prov in provs:
+ p = pconf.get_service_providers(
+ filters={'name': [prov['name']],
+ 'service_type': prov['service_type']},
+ fields=['name']
+ )
+ self.assertEqual(p, [{'name': prov['name']}])