Skip to content
This repository has been archived by the owner on Dec 7, 2022. It is now read-only.

Commit

Permalink
Fixed: Unable to remove a user from super-user role
Browse files Browse the repository at this point in the history
  • Loading branch information
shubham90 committed Jul 2, 2015
1 parent 8b186ad commit d4fb1b2
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 1 deletion.
2 changes: 1 addition & 1 deletion server/pulp/server/managers/auth/role/cud.py
Expand Up @@ -314,7 +314,7 @@ def ensure_super_user_role(self):
role = self.create_role(SUPER_USER_ROLE, 'Super Users',
'Role indicates users with admin privileges')
role['permissions'] = [{'resource': '/',
'permissions': [CREATE, READ, UPDATE, DELETE, EXECUTE]}]
'permission': [CREATE, READ, UPDATE, DELETE, EXECUTE]}]
Role.get_collection().save(role, safe=True)

@staticmethod
Expand Down
20 changes: 20 additions & 0 deletions server/test/unit/server/managers/auth/role/test_cud.py
@@ -1,5 +1,6 @@
import random
import string
import mock

from ..... import base
from pulp.server.auth import authorization
Expand Down Expand Up @@ -192,6 +193,25 @@ def test_non_unique_permission_delete(self):
self.role_manager.delete_role(r1['id'])
self.assertTrue(self.user_query_manager.is_authorized(s, u['login'], o))

@mock.patch('pulp.server.managers.auth.role.cud.RoleManager.create_role')
@mock.patch('pulp.server.managers.auth.role.cud.RoleManager.get_role')
@mock.patch('pulp.server.db.model.auth.Role.get_collection')
def test_ensure_super_user_role(self, mock_role, mock_get_role, mock_create_role):
self.clean()
mock_get_role.return_value = None
mock_create_role.return_value = {
'display_name': 'Super Users',
'description': 'Role indicates users hols admin privileges',
'_ns': 'roles', 'id': 'super-users', 'permissions': {}
}

rm_instance = cud.RoleManager()
rm_instance.ensure_super_user_role()

self.assertEqual(mock_create_role.return_value['permissions'],
[{'resource': '/', 'permission': [0, 1, 2, 3, 4]}])
mock_role.save.assert_called_once()

def test_get_role(self):
# Setup
self.role_manager.create_role(role_id='best-user')
Expand Down

0 comments on commit d4fb1b2

Please sign in to comment.