Fix delegation-find command --group handling

A wrong way of handling --group DN object caused Internal Error
for this command. Fix that and also provide unit tests to avoid
another regression.

https://fedorahosted.org/freeipa/ticket/3311
This commit is contained in:
Martin Kosek 2012-12-19 15:38:52 +01:00
parent e8cb869046
commit 86e56b9125
2 changed files with 41 additions and 1 deletions

View File

@ -801,7 +801,7 @@ class aci_find(crud.Search):
groupdn = a.bindrule['expression']
groupdn = DN(groupdn.replace('ldap:///',''))
try:
cn = groupdn[0]['cn'].value
cn = groupdn[0]['cn']
except (IndexError, KeyError):
cn = None
if cn is None or cn != kw['group']:

View File

@ -177,6 +177,46 @@ class test_delegation(Declarative):
),
dict(
desc='Search for %r using --group filter' % delegation1,
command=('delegation_find', [delegation1], {'group': u'editors'}),
expected=dict(
count=1,
truncated=False,
summary=u'1 delegation matched',
result=[
{
'attrs': [u'street', u'c', u'l', u'st', u'postalcode'],
'permissions': [u'write'],
'aciname': delegation1,
'group': u'editors',
'memberof': member1,
},
],
),
),
dict(
desc='Search for %r using --membergroup filter' % delegation1,
command=('delegation_find', [delegation1], {'memberof': member1}),
expected=dict(
count=1,
truncated=False,
summary=u'1 delegation matched',
result=[
{
'attrs': [u'street', u'c', u'l', u'st', u'postalcode'],
'permissions': [u'write'],
'aciname': delegation1,
'group': u'editors',
'memberof': member1,
},
],
),
),
dict(
desc='Search for %r with --pkey-only' % delegation1,
command=('delegation_find', [delegation1], {'pkey_only' : True}),