def setUp(self): super(TestComputeAPI, self).setUp() self.api = AccountAPI( base_url='http://compute.localhost', auth_token=str(uuid.uuid4()) ) self.fake_orga_key = str(uuid.uuid4())
def __init__(self, auth_token="", region='par1'): """Constructor.""" if auth_token == "": logging.error("no auth token provided, exiting") exit(-1) # -------------------------------- self.auth_token = auth_token self.region = region self.org_id = None # -------------------------------- logging.debug("init scaleway") self.api_compute = ComputeAPI(region=self.region, auth_token=self.auth_token) self.api_account = AccountAPI(auth_token=self.auth_token)
def get_account_data(self): api = AccountAPI(auth_token=self.token) res = api.query().organizations.get() return res
def test_get_resources(self): def compare_results(permissions, service=None, name=None, resource=None, result=None, include_locked=False): """ Resets the auth API endpoint /tokens/:id/permissions, call get_resources and compare results with what is expected. """ if result is None: result = [] self.make_fake_perms(permissions) resources = self.api.get_resources(service=service, name=name, resource=resource, include_locked=include_locked) # XOR on two sets returns the difference between them # Used because we don't know in which order api.get_resources # returns the resources. self.assertFalse(set(resources) ^ set(result)) # Check the API has been requested with # ?include_locked set to `include_locked` self.assertEqual( httpretty.last_request().querystring.get('include_locked'), [str(include_locked)]) # No permission, no resource compare_results({}, result=[]) # Simple permissions compare_results(self.fake_permissions, service='compute', name='can_boot', result=['server1', 'server2']) compare_results(self.fake_permissions, service='compute', name='can_boot', result=['server1', 'server2']) compare_results(self.fake_permissions, service='compute', name='can_boot', resource='server2', result=['server2']) compare_results(self.fake_permissions, service='compute', name='can_delete', result=['server1']) compare_results(self.fake_permissions, service='compute', name='can_delete', resource='server1', result=['server1']) compare_results(self.fake_permissions, service='compute', name='can_write', result=[]) # Nested permissions compare_results(self.fake_permissions, service='account', name='token:read', result=['token1', 'token2', 'token3']) compare_results(self.fake_permissions, service='account', name='token:read', resource='invalid', result=[]) compare_results(self.fake_permissions, service='account', name='token:read', resource='token2', result=['token2']) compare_results(self.fake_permissions, service='account', name='token:write', result=['token1', 'token2', 'token4']) compare_results(self.fake_permissions, service='account', name='token:admin', result=['token1', 'token2']) # Include lock set to True compare_results(self.fake_permissions, service='account', name='token:admin', result=['token1', 'token2'], include_locked=True) # Test JWT self.api = AccountAPI(base_url='http://compute.localhost', auth_jwt=str(uuid.uuid4())) compare_results(self.fake_permissions, service='compute', name='can_boot', result=['server1', 'server2'])
def test_get_resources_with_empty_token(self): self.api = AccountAPI() self.assertEqual(self.api.get_resources(), [])