diff options
Diffstat (limited to 'tests/identity_auth.py')
-rw-r--r-- | tests/identity_auth.py | 41 |
1 files changed, 25 insertions, 16 deletions
diff --git a/tests/identity_auth.py b/tests/identity_auth.py index 4726ca37..ffecc68a 100644 --- a/tests/identity_auth.py +++ b/tests/identity_auth.py @@ -9,26 +9,35 @@ import os -from keystoneauth1.identity import v2 -from keystoneauth1.identity import v3 +from keystoneauth1 import loading +from keystoneauth1 import session def get_identity_auth(): auth_url = os.environ['OS_AUTH_URL'] username = os.environ['OS_USERNAME'] password = os.environ['OS_PASSWORD'] - user_domain_name = os.environ.get('OS_USER_DOMAIN_NAME') + user_domain_name = os.environ.get('OS_USER_DOMAIN_NAME') or 'default' + user_domain_id = os.environ.get('OS_USER_DOMAIN_ID') or 'default' project_name = os.environ.get('OS_PROJECT_NAME') or os.environ.get('OS_TENANT_NAME') - project_domain_name = os.environ.get('OS_PROJECT_DOMAIN_NAME') - if auth_url.endswith('v3'): - return v3.Password(auth_url=auth_url, - username=username, - password=password, - user_domain_name=user_domain_name, - project_name=project_name, - project_domain_name=project_domain_name) - else: - return v2.Password(auth_url=auth_url, - username=username, - password=password, - tenant_name=project_name) + project_domain_name = os.environ.get('OS_PROJECT_DOMAIN_NAME') or 'default' + project_domain_id = os.environ.get('OS_PROJECT_DOMAIN_ID') or 'default' + + loader = loading.get_plugin_loader('password') + return loader.load_from_options( + auth_url=auth_url, + username=username, + password=password, + user_domain_name=user_domain_name, + user_domain_id=user_domain_id, + project_name=project_name, + tenant_name=project_name, + project_domain_name=project_domain_name, + project_domain_id=project_domain_id) + + +def get_session(auth=None): + """Get a user credentials auth session.""" + if auth is None: + auth = get_identity_auth() + return session.Session(auth=auth) |