def test_providers(self): """Test fetching set of providers. """ provider_1 = Provider(provider_id=self.provider_id, provider_type=self.provider_type, username=self.username, password=self.password, url=self.url, tenant=self.tenant, default_image=self.image, default_flavor=self.flavor, extra=self.extra) Provider.add(provider_1) provider_id = "other.provider" provider_2 = Provider(provider_id=provider_id, provider_type=self.provider_type, username=self.username, password=self.password, url=self.url, tenant=self.tenant, default_image=self.image, default_flavor=self.flavor, extra=self.extra) Provider.add(provider_2) ret = [ isinstance(provider, Provider) for provider in \ Provider.providers() ] self.assertEqual(len(ret), 2) self.assertTrue(all(ret))
def execute(self, provider_id=None): """Return information on existing provider(s). :param provider_id: None if one wants to list the existing providers or provider's id if one wants information on a provider. """ rset = ResultSet( names=('provider_id', 'type', 'username', 'url', 'tenant', 'default_image', 'default_flavor', 'extra'), types=(str, str, str, str, str, str, str, str) ) if provider_id is None: for prv in Provider.providers(): rset.append_row(( prv.provider_id, prv.provider_type, prv.username, prv.url, prv.tenant, prv.default_image, prv.default_flavor, prv.extra )) else: prv = _retrieve_provider(provider_id) rset.append_row(( prv.provider_id, prv.provider_type, prv.username, prv.url, prv.tenant, prv.default_image, prv.default_flavor, prv.extra )) return CommandResult(None, results=rset)