mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Validate attributes in permission-add
When adding or modifying permission with both type and attributes specified, check whether the attributes are allowed for specified type. In case of disallowed attributes raises the ObjectclassViolation exception. New tests were also added to the unit-tests. https://fedorahosted.org/freeipa/ticket/2293
This commit is contained in:
committed by
Rob Crittenden
parent
2d55525652
commit
1356988b7a
@@ -123,6 +123,71 @@ class test_permission(Declarative):
|
||||
),
|
||||
|
||||
|
||||
dict(
|
||||
desc='Try to create %r with invalid attribute \'ipaclientversion\'' % permission2,
|
||||
command=(
|
||||
'permission_add', [permission2], dict(
|
||||
type=u'user',
|
||||
permissions=u'write',
|
||||
attrs=u'ipaclientversion',
|
||||
),
|
||||
),
|
||||
expected=errors.ObjectclassViolation(info=u'attribute(s) \"ipaclientversion\" not allowed'),
|
||||
),
|
||||
|
||||
|
||||
dict(
|
||||
desc='Add allowed attribute \'cn\' to %r' % permission1,
|
||||
command=(
|
||||
'permission_mod', [permission1], dict(
|
||||
attrs=u'cn',
|
||||
)
|
||||
),
|
||||
expected=dict(
|
||||
value=permission1,
|
||||
summary=u'Modified permission "%s"' % permission1,
|
||||
result=dict(
|
||||
dn=lambda x: DN(x) == permission1_dn,
|
||||
cn=[permission1],
|
||||
type=u'user',
|
||||
permissions=[u'write'],
|
||||
attrs=[u'cn'],
|
||||
),
|
||||
),
|
||||
),
|
||||
|
||||
|
||||
dict(
|
||||
desc='Try to modify %r with invalid attribute \'ipaclientversion\'' % permission1,
|
||||
command=(
|
||||
'permission_mod', [permission1], dict(
|
||||
attrs=u'ipaclientversion',
|
||||
),
|
||||
),
|
||||
expected=errors.ObjectclassViolation(info=u'attribute(s) \"ipaclientversion\" not allowed'),
|
||||
),
|
||||
|
||||
|
||||
dict(
|
||||
desc='Unset attribute \'cn\' of %r' % permission1,
|
||||
command=(
|
||||
'permission_mod', [permission1], dict(
|
||||
attrs=None,
|
||||
)
|
||||
),
|
||||
expected=dict(
|
||||
value=permission1,
|
||||
summary=u'Modified permission "%s"' % permission1,
|
||||
result=dict(
|
||||
dn=lambda x: DN(x) == permission1_dn,
|
||||
cn=[permission1],
|
||||
type=u'user',
|
||||
permissions=[u'write'],
|
||||
),
|
||||
),
|
||||
),
|
||||
|
||||
|
||||
dict(
|
||||
desc='Create %r' % privilege1,
|
||||
command=('privilege_add', [privilege1],
|
||||
|
||||
Reference in New Issue
Block a user