diff options
| author | Tim Simpson <tim.simpson@rackspace.com> | 2012-02-02 17:32:29 -0600 |
|---|---|---|
| committer | Tim Simpson <tim.simpson@rackspace.com> | 2012-02-02 17:33:13 -0600 |
| commit | 8faf71fdabec1c18af4de3291adb2eb5bfd8a1e7 (patch) | |
| tree | 57bd9f40f3d48ff27de3c12218e91570eaf679ee /nova/tests | |
| parent | 1a88c64535bbf88ccbf1b94fbd01d5bd158885ea (diff) | |
Increased coverage of nova/auth/dbdriver.py to 100%.
Fixes 828609.
Change-Id: Iefa36ced27328ad79b9d58f04d915178b9b63bcc
Diffstat (limited to 'nova/tests')
| -rw-r--r-- | nova/tests/test_auth.py | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/nova/tests/test_auth.py b/nova/tests/test_auth.py index bdc7f3142..a80da43f4 100644 --- a/nova/tests/test_auth.py +++ b/nova/tests/test_auth.py @@ -19,6 +19,7 @@ import unittest from nova import crypto +from nova import exception from nova import flags from nova import log as logging from nova import test @@ -86,6 +87,9 @@ class user_and_project_generator(object): class _AuthManagerBaseTestCase(test.TestCase): + + user_not_found_type = exception.UserNotFound + def setUp(self): super(_AuthManagerBaseTestCase, self).setUp() self.flags(auth_driver=self.auth_driver, @@ -106,6 +110,11 @@ class _AuthManagerBaseTestCase(test.TestCase): self.assertEqual('classified', u.secret) self.assertEqual('private-party', u.access) + def test_create_user_twice(self): + self.manager.create_user('test-1') + self.assertRaises(exception.UserExists, self.manager.create_user, + 'test-1') + def test_signature_is_valid(self): with user_generator(self.manager, name='admin', secret='admin', access='admin'): @@ -197,10 +206,29 @@ class _AuthManagerBaseTestCase(test.TestCase): self.assertEqual('test1', project.project_manager_id) self.assertTrue(self.manager.is_project_manager(user, project)) + def test_can_create_project_twice(self): + with user_and_project_generator(self.manager) as (user1, project): + self.assertRaises(exception.ProjectExists, + self.manager.create_project, "testproj", "test1") + def test_create_project_assigns_manager_to_members(self): with user_and_project_generator(self.manager) as (user, project): self.assertTrue(self.manager.is_project_member(user, project)) + def test_create_project_with_manager_and_members(self): + with user_generator(self.manager, name='test2') as user2: + with user_and_project_generator(self.manager, + project_state={'member_users': ['test2']}) as (user1, project): + self.assertTrue(self.manager.is_project_member( + user1, project)) + self.assertTrue(self.manager.is_project_member( + user2, project)) + + def test_create_project_with_manager_and_missing_members(self): + self.assertRaises(self.user_not_found_type, + self.manager.create_project, "testproj", "test1", + member_users="test2") + def test_no_extra_project_members(self): with user_generator(self.manager, name='test2') as baduser: with user_and_project_generator(self.manager) as (user, project): @@ -313,6 +341,13 @@ class _AuthManagerBaseTestCase(test.TestCase): self.assertEqual('test2', project.project_manager_id) self.assertEqual('new desc', project.description) + def test_can_call_modify_project_but_do_nothing(self): + with user_and_project_generator(self.manager): + self.manager.modify_project('testproj') + project = self.manager.get_project('testproj') + self.assertEqual('test1', project.project_manager_id) + self.assertEqual('testproj', project.description) + def test_modify_project_adds_new_manager(self): with user_and_project_generator(self.manager): with user_generator(self.manager, name='test2'): @@ -320,6 +355,12 @@ class _AuthManagerBaseTestCase(test.TestCase): project = self.manager.get_project('testproj') self.assertTrue('test2' in project.member_ids) + def test_create_project_with_missing_user(self): + with user_generator(self.manager): + self.assertRaises(self.user_not_found_type, + self.manager.create_project, 'testproj', + 'not_real') + def test_can_delete_project(self): with user_generator(self.manager): self.manager.create_project('testproj', 'test1') @@ -344,9 +385,19 @@ class _AuthManagerBaseTestCase(test.TestCase): self.assertEqual('secret', user.secret) self.assertTrue(user.is_admin()) + def test_can_call_modify_user_but_do_nothing(self): + with user_generator(self.manager): + old_user = self.manager.get_user('test1') + self.manager.modify_user('test1') + user = self.manager.get_user('test1') + self.assertEqual(old_user.access, user.access) + self.assertEqual(old_user.secret, user.secret) + self.assertEqual(old_user.is_admin(), user.is_admin()) + class AuthManagerLdapTestCase(_AuthManagerBaseTestCase): auth_driver = 'nova.auth.ldapdriver.FakeLdapDriver' + user_not_found_type = exception.LDAPUserNotFound def test_reconnect_on_server_failure(self): self.manager.get_users() @@ -360,6 +411,7 @@ class AuthManagerLdapTestCase(_AuthManagerBaseTestCase): class AuthManagerDbTestCase(_AuthManagerBaseTestCase): auth_driver = 'nova.auth.dbdriver.DbDriver' + user_not_found_type = exception.UserNotFound if __name__ == "__main__": |
