Add limits on name values

Fixes: https://pagure.io/koji/issue/2117
This commit is contained in:
Jana Cupova 2021-08-25 15:03:08 +02:00 committed by Jana Cupova
parent 95717ba28d
commit 74ac826a87
25 changed files with 761 additions and 49 deletions

View file

@ -1,6 +1,7 @@
import mock
import unittest
import mock
import koji
import kojihub
@ -8,6 +9,7 @@ QP = kojihub.QueryProcessor
IP = kojihub.InsertProcessor
UP = kojihub.UpdateProcessor
class TestGrouplist(unittest.TestCase):
def getQuery(self, *args, **kwargs):
query = QP(*args, **kwargs)
@ -31,25 +33,27 @@ class TestGrouplist(unittest.TestCase):
def setUp(self):
self.context = mock.patch('kojihub.context').start()
self.get_user = mock.patch('kojihub.get_user').start()
self.verify_name_internal = mock.patch('kojihub.verify_name_internal').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.QueryProcessor = mock.patch('kojihub.QueryProcessor',
side_effect=self.getQuery).start()
side_effect=self.getQuery).start()
self.queries = []
self.InsertProcessor = mock.patch('kojihub.InsertProcessor',
side_effect=self.getInsert).start()
side_effect=self.getInsert).start()
self.inserts = []
self.UpdateProcessor = mock.patch('kojihub.UpdateProcessor',
side_effect=self.getUpdate).start()
side_effect=self.getUpdate).start()
self.updates = []
def tearDown(self):
mock.patch.stopall()
def test_new_group(self):
self.verify_name_internal.return_value = None
name = 'test_group'
# insufficient permissions
@ -74,6 +78,17 @@ class TestGrouplist(unittest.TestCase):
self.context.session.assertPerm.assert_called_with('admin')
self.context.session.createUser.called_with(name, usertype=koji.USERTYPES['GROUP'])
# name is longer as expected
name = 'new-group+'
self.verify_name_internal.side_effect = koji.GenericError
with self.assertRaises(koji.GenericError):
kojihub.new_group(name)
# not except regex rules
self.verify_name_internal.side_effect = koji.GenericError
with self.assertRaises(koji.GenericError):
kojihub.new_group(name)
def test_add_group_member(self):
group, gid = 'test_group', 1
user, uid = 'username', 2
@ -160,7 +175,6 @@ class TestGrouplist(unittest.TestCase):
self.assertEqual(i.data['group_id'], gid)
self.assertEqual(i.data['user_id'], uid)
@mock.patch('kojihub.get_group_members')
def test_drop_group_member(self, get_group_members):
group, gid = 'test_group', 1
@ -244,7 +258,6 @@ class TestGrouplist(unittest.TestCase):
self.assertEqual(u.values['user_id'], uid)
self.assertEqual(u.values['group_id'], gid)
@mock.patch('kojihub._multiRow')
def test_get_group_members(self, _multiRow):
group, gid = 'test_group', 1