Add description for permissions
Fixes: https://pagure.io/koji/issue/335
This commit is contained in:
parent
e292fd8f2b
commit
1252129136
11 changed files with 371 additions and 68 deletions
44
tests/test_hub/test_edit_permission.py
Normal file
44
tests/test_hub/test_edit_permission.py
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
import unittest
|
||||
|
||||
import mock
|
||||
|
||||
import koji
|
||||
import kojihub
|
||||
|
||||
|
||||
UP = kojihub.UpdateProcessor
|
||||
|
||||
|
||||
class TestEditPermission(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
self.lookup_perm = mock.patch('kojihub.lookup_perm').start()
|
||||
self.update_processor = mock.patch('kojihub.UpdateProcessor').start()
|
||||
self.exports = kojihub.RootExports()
|
||||
self.context = mock.patch('kojihub.context').start()
|
||||
# It seems MagicMock will not automatically handle attributes that
|
||||
# start with "assert"
|
||||
self.context.session.assertPerm = mock.MagicMock()
|
||||
self.context.session.assertLogin = mock.MagicMock()
|
||||
self.perm_name = 'test_perms'
|
||||
self.perm_info = {'id': 1, 'name': self.perm_name}
|
||||
self.description = 'test-description'
|
||||
|
||||
def test_edit_permission_non_exist_permission(self):
|
||||
self.lookup_perm.side_effect = koji.GenericError
|
||||
with self.assertRaises(koji.GenericError):
|
||||
self.exports.editPermission(self.perm_name, self.description)
|
||||
self.update_processor.assert_not_called()
|
||||
self.context.session.assertPerm.assert_called_with('admin')
|
||||
|
||||
def test_edit_permission(self):
|
||||
self.lookup_perm.return_value = self.perm_info
|
||||
update = self.update_processor.return_value
|
||||
self.exports.editPermission(self.perm_name, self.description)
|
||||
self.update_processor.assert_called_once()
|
||||
update.execute.assert_called_once()
|
||||
args, kwargs = self.update_processor.call_args
|
||||
up = UP(*args, **kwargs)
|
||||
self.assertEqual(up.table, 'permissions')
|
||||
self.assertEqual(up.rawdata, {})
|
||||
self.context.session.assertPerm.assert_called_with('admin')
|
||||
Loading…
Add table
Add a link
Reference in a new issue