parent
d324f601c8
commit
255ec21d00
7 changed files with 63 additions and 21 deletions
|
|
@ -85,7 +85,7 @@ class TestListPermissions(utils.CliTestCase):
|
|||
|
||||
self.activate_session_mock.assert_called_once()
|
||||
self.session.getUser.assert_called_once()
|
||||
self.session.getUserPerms.assert_called_once()
|
||||
self.session.getUserPerms.assert_called()
|
||||
self.session.getPerms.assert_not_called()
|
||||
self.session.getAllPerms.assert_not_called()
|
||||
|
||||
|
|
@ -108,7 +108,7 @@ repo
|
|||
|
||||
self.activate_session_mock.assert_called_once()
|
||||
self.session.getUser.assert_called_once()
|
||||
self.session.getUserPerms.assert_called_once()
|
||||
self.session.getUserPerms.assert_called()
|
||||
self.session.getPerms.assert_not_called()
|
||||
self.session.getAllPerms.assert_not_called()
|
||||
|
||||
|
|
@ -119,14 +119,15 @@ repo
|
|||
repo
|
||||
"""
|
||||
perms = [p['name'] for p in self.all_perms[1:3]]
|
||||
self.session.getPerms.return_value = perms
|
||||
self.session.getLoggedInUser.return_value = {'id': 1, 'name': 'user'}
|
||||
self.session.getUserPerms.return_value = perms
|
||||
handle_list_permissions(self.options, self.session, ['--mine'])
|
||||
self.assert_console_message(stdout, expected)
|
||||
|
||||
self.activate_session_mock.assert_called_once()
|
||||
self.session.getUser.assert_not_called()
|
||||
self.session.getUserPerms.assert_not_called()
|
||||
self.session.getPerms.assert_called_once()
|
||||
self.session.getUser.assert_called_once()
|
||||
self.session.getUserPerms.assert_called()
|
||||
self.session.getPerms.assert_not_called()
|
||||
self.session.getAllPerms.assert_not_called()
|
||||
|
||||
@mock.patch('sys.stdout', new_callable=six.StringIO)
|
||||
|
|
|
|||
|
|
@ -21,4 +21,4 @@ class TestGetUserPerms(unittest.TestCase):
|
|||
def test_normal(self):
|
||||
self.get_user.return_value = {'id': 123, 'name': 'testuser'}
|
||||
kojihub.RootExports().getUserPerms(123)
|
||||
self.get_user_perms.assert_called_once_with(123)
|
||||
self.get_user_perms.assert_called_once_with(123, with_groups=True)
|
||||
|
|
|
|||
|
|
@ -703,19 +703,37 @@ class TestAuthSession(unittest.TestCase):
|
|||
query = self.queries[0]
|
||||
self.assertEqual(query.tables, ['user_groups'])
|
||||
self.assertEqual(query.joins, ['users ON group_id = users.id'])
|
||||
self.assertEqual(query.clauses, ['active = TRUE', 'user_id=%(user_id)i',
|
||||
self.assertEqual(query.clauses, ['active IS TRUE', 'user_id=%(user_id)i',
|
||||
'users.usertype=%(t_group)i'])
|
||||
self.assertEqual(query.columns, ['group_id', 'name'])
|
||||
|
||||
def test_get_user_perms(self):
|
||||
"""auth.get_user_perms"""
|
||||
kojihub.auth.get_user_perms(1)
|
||||
self.assertEqual(len(self.queries), 1)
|
||||
self.assertEqual(len(self.queries), 2)
|
||||
query = self.queries[0]
|
||||
self.assertEqual(query.tables, ['user_perms'])
|
||||
self.assertEqual(query.joins, ['permissions ON perm_id = permissions.id'])
|
||||
self.assertEqual(query.clauses, ['active = TRUE', 'user_id=%(user_id)s'])
|
||||
self.assertEqual(query.clauses, ['active IS TRUE', 'user_id=%(user_id)s'])
|
||||
self.assertEqual(query.columns, ['name'])
|
||||
query = self.queries[1]
|
||||
self.assertEqual(query.tables, ['user_groups'])
|
||||
self.assertEqual(query.joins, [
|
||||
'LEFT JOIN user_perms ON user_perms.user_id = user_groups.group_id',
|
||||
'permissions ON perm_id = permissions.id'])
|
||||
self.assertEqual(sorted(query.clauses), sorted([
|
||||
'user_groups.active IS TRUE',
|
||||
'user_perms.active IS TRUE',
|
||||
'user_groups.user_id=%(user_id)s']))
|
||||
self.assertEqual(query.columns, ['name'])
|
||||
|
||||
def test_get_user_perms_inherited(self):
|
||||
self.query_execute.side_effect = [
|
||||
[{'id': 1, 'name': 'perm1'}, {'id': 2, 'name': 'perm2'}],
|
||||
[{'id': 3, 'name': 'perm3'}]
|
||||
]
|
||||
result = kojihub.auth.get_user_perms(1)
|
||||
self.assertEqual(set(result), {'perm1', 'perm2', 'perm3'})
|
||||
|
||||
def test_logout_logged_not_owner(self):
|
||||
s, _ = self.get_session()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue