hub: [get_group_members] return field is not named as alias

This commit is contained in:
Yu Ming Zhu 2019-10-14 04:47:57 +00:00 committed by Tomas Kopecek
parent ea52707f1d
commit 180cf894e2
2 changed files with 19 additions and 10 deletions

View file

@ -8059,14 +8059,23 @@ def get_group_members(group):
if not ginfo or ginfo['usertype'] != koji.USERTYPES['GROUP']:
raise koji.GenericError("Not a group: %s" % group)
group_id = ginfo['id']
fields = ('id', 'name', 'usertype', 'array_remove(array_agg(krb_principal)'
', NULL) AS krb_principals')
q = """SELECT %s FROM user_groups
JOIN users ON user_groups.user_id = users.id
LEFT JOIN user_krb_principals ON users.id = user_krb_principals.user_id
WHERE active = TRUE AND group_id = %%(group_id)i
GROUP BY users.id""" % ','.join(fields)
return _multiRow(q, locals(), fields)
columns = ('id', 'name', 'usertype', 'array_remove(array_agg(krb_principal)'
', NULL)')
aliases = ('id', 'name', 'usertype', 'krb_principals')
joins = ['JOIN users ON user_groups.user_id = users.id',
'LEFT JOIN user_krb_principals'
' ON users.id = user_krb_principals.user_id']
clauses = [eventCondition(None), 'group_id = %(group_id)i']
query = QueryProcessor(tables=['user_groups'],
columns=columns,
aliases=aliases,
joins=joins,
clauses=clauses,
values=locals(),
opts={'group': 'users.id'},
enable_group=True)
return query.iterate()
def set_user_status(user, status):
context.session.assertPerm('admin')

View file

@ -287,7 +287,7 @@ class TestGrouplist(unittest.TestCase):
self.context.session.assertPerm.side_effect = None
self.get_user.side_effect = get_user2
kojihub.get_group_members(group)
self.assertEqual(len(self.queries), 0)
self.assertEqual(len(self.queries), 1)
self.assertEqual(len(self.inserts), 0)
self.assertEqual(len(self.updates), 0)
_multiRow.assert_called_once()
_multiRow.assert_not_called()