summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorVishvananda Ishaya <vishvananda@gmail.com>2010-08-10 17:34:20 -0700
committerVishvananda Ishaya <vishvananda@gmail.com>2010-08-10 17:34:20 -0700
commit14c7bca9cb8451e2ec8224fb5699c6f2ad480dac (patch)
treeebc56e3810946a643cdce68b171e972a92c5749f /nova/tests
parentce683104ace24e986f6c4b911ff63952355235f0 (diff)
Adds get_roles commands to manager and driver classes
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/auth_unittest.py18
1 files changed, 17 insertions, 1 deletions
diff --git a/nova/tests/auth_unittest.py b/nova/tests/auth_unittest.py
index f7e0625a3..2d99c8e36 100644
--- a/nova/tests/auth_unittest.py
+++ b/nova/tests/auth_unittest.py
@@ -179,7 +179,23 @@ class AuthTestCase(test.BaseTestCase):
project.add_role('test1', 'sysadmin')
self.assertTrue(project.has_role('test1', 'sysadmin'))
- def test_211_can_remove_project_role(self):
+ def test_211_can_list_project_roles(self):
+ project = self.manager.get_project('testproj')
+ user = self.manager.get_user('test1')
+ self.manager.add_role(user, 'netadmin', project)
+ roles = self.manager.get_user_roles(user)
+ self.assertTrue('sysadmin' in roles)
+ self.assertFalse('netadmin' in roles)
+ self.assertFalse('projectmanager' in roles)
+ project_roles = self.manager.get_user_roles(user, project)
+ self.assertTrue('sysadmin' in project_roles)
+ self.assertTrue('netadmin' in project_roles)
+ self.assertTrue('projectmanager' in project_roles)
+ # has role should be false because global role is missing
+ self.assertFalse(self.manager.has_role(user, 'netadmin', project))
+
+
+ def test_212_can_remove_project_role(self):
project = self.manager.get_project('testproj')
self.assertTrue(project.has_role('test1', 'sysadmin'))
project.remove_role('test1', 'sysadmin')