Example #1
0
    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))
Example #2
0
    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)