How to use _append_scoped_role method in tempest

Best Python code snippet using tempest_python

preprov_creds.py

Source:preprov_creds.py Github

copy

Full Screen

...85 else:86 hash_dict['roles'][role] = [account_hash]87 return hash_dict88 @classmethod89 def _append_scoped_role(cls, scope, role, account_hash, hash_dict):90 key = "%s_%s" % (scope, role)91 hash_dict['scoped_roles'].setdefault(key, [])92 hash_dict['scoped_roles'][key].append(account_hash)93 return hash_dict94 @classmethod95 def get_hash_dict(cls, accounts, admin_role,96 object_storage_operator_role=None,97 object_storage_reseller_admin_role=None):98 hash_dict = {'roles': {}, 'creds': {}, 'networks': {},99 'scoped_roles': {}}100 # Loop over the accounts read from the yaml file101 for account in accounts:102 roles = []103 types = []104 scope = None105 resources = []106 if 'roles' in account:107 roles = account.pop('roles')108 if 'types' in account:109 types = account.pop('types')110 if 'resources' in account:111 resources = account.pop('resources')112 if 'project_name' in account:113 scope = 'project'114 elif 'domain_name' in account:115 scope = 'domain'116 elif 'system' in account:117 scope = 'system'118 temp_hash = md5(usedforsecurity=False)119 account_for_hash = dict((k, v) for (k, v) in account.items()120 if k in cls.HASH_CRED_FIELDS)121 temp_hash.update(str(account_for_hash).encode('utf-8'))122 temp_hash_key = temp_hash.hexdigest()123 hash_dict['creds'][temp_hash_key] = account124 for role in roles:125 hash_dict = cls._append_role(role, temp_hash_key,126 hash_dict)127 if scope:128 hash_dict = cls._append_scoped_role(129 scope, role, temp_hash_key, hash_dict)130 # If types are set for the account append the matching role131 # subdict with the hash132 for type in types:133 if type == 'admin':134 hash_dict = cls._append_role(admin_role, temp_hash_key,135 hash_dict)136 elif type == 'operator':137 if object_storage_operator_role:138 hash_dict = cls._append_role(139 object_storage_operator_role, temp_hash_key,140 hash_dict)141 else:142 msg = ("Type 'operator' configured, but no "...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run tempest automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful