Package yakumo :: Package smoketests :: Module st10_v2_role_project_user_admin
[hide private]
[frames] | no frames]

Source Code for Module yakumo.smoketests.st10_v2_role_project_user_admin

  1  #!/usr/bin/env python 
  2  # 
  3  # Copyright 2014-2017 by Akira Yoshiyama <akirayoshiyama@gmail.com>. 
  4  # All Rights Reserved. 
  5  # 
  6  #    Licensed under the Apache License, Version 2.0 (the "License"); you may 
  7  #    not use this file except in compliance with the License. You may obtain 
  8  #    a copy of the License at 
  9  # 
 10  #         http://www.apache.org/licenses/LICENSE-2.0 
 11  # 
 12  #    Unless required by applicable law or agreed to in writing, software 
 13  #    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 14  #    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 15  #    License for the specific language governing permissions and limitations 
 16  #    under the License. 
 17  """Identity API v2 Test (Roles/Projects/Users)""" 
 18   
 19   
 20  import hashlib 
 21  import os 
 22  import sys 
 23  import tempfile 
 24  from yakumo.smoketest import * 
 25  from yakumo import utils 
 26   
 27   
28 -def main(c):
29 30 # check Identity API version 31 if c._session.config[u'identity_api_version'] != '2.0': 32 return 33 34 LOG.info("Create Role #1") 35 name = get_random_str('role') 36 with c.role.create(name=name, description='role 1') as r: 37 38 test("Role #1: name is %s" % name, r.name == name) 39 test("Role #1: description is 'role 1'", r.description == 'role 1') 40 41 LOG.info("Create a project") 42 name = get_random_str('project') 43 with c.project.create(name=name, 44 description='project 1', 45 is_enabled=False) as p: 46 47 test("Project #1: name is %s" % name, p.name == name) 48 test("Project #1: description is 'project 1'", 49 p.description == 'project 1') 50 test("Project #1: is disabled", not p.is_enabled) 51 52 LOG.info("Update project properties") 53 54 name = get_random_str('project') 55 p.update(name=name, description='project 1-1', is_enabled=True) 56 57 test("Project #1: name is %s" % name, p.name == name) 58 test("Project #1: description is 'project 1-1'", 59 p.description == 'project 1-1') 60 test("Project #1: is enabled", p.is_enabled) 61 62 LOG.info("Create a user") 63 name = get_random_str('user') 64 password = get_random_str('pass') 65 with c.user.create(name=name, 66 username='user 1', 67 password=password, 68 project=p, 69 is_enabled=False) as u: 70 71 test("User #1: name is %s" % name, u.name == name) 72 test("User #1: username is 'user 1'", u.username == 'user 1') 73 test("User #1: is disabled", not u.is_enabled) 74 test("User #1: is in project", not u.is_enabled) 75 76 LOG.info("Update user properties") 77 78 name = get_random_str('user') 79 password = get_random_str('pass') 80 u.update(name=name, 81 username='user 1-1', 82 password=password, 83 is_enabled=True) 84 85 test("User #1: name is %s" % name, u.name == name) 86 test("User #1: username is 'user 1-1'", 87 u.username == 'user 1-1') 88 test("User #1: is enabled", u.is_enabled) 89 90 LOG.info("Grant Role #1 to User #1 for Project #1") 91 p.grant_roles(users=u, roles=r) 92 93 LOG.info("Revoke Role #1 from User #1 for Project #1") 94 p.revoke_roles(users=u, roles=r)
95 96 97 if __name__ == '__main__': 98 c = utils.get_client() 99 if c._session.config[u'identity_api_version'] != '2.0': 100 sys.exit(0) 101 102 LOG.debug("list roles: %s", [_.name for _ in c.role.list()]) 103 LOG.debug("list projects: %s", [_.name for _ in c.project.list()]) 104 LOG.debug("list users: %s", [_.name for _ in c.user.list()]) 105 main(c) 106 LOG.debug("list roles: %s", [_.name for _ in c.role.list()]) 107 LOG.debug("list projects: %s", [_.name for _ in c.project.list()]) 108 LOG.debug("list users: %s", [_.name for _ in c.user.list()]) 109 110 show_test_summary() 111