56
67
uidnumber=[fuzzy_digits],
57
68
gidnumber=[fuzzy_digits],
69
mail=[u'%s@%s' % (user1, api.env.domain)],
58
70
displayname=[u'Test User1'],
59
71
cn=[u'Test User1'],
61
73
ipauniqueid=[fuzzy_uuid],
62
krbpwdpolicyreference=lambda x: [DN(i) for i in x] == \
63
[DN(('cn','global_policy'),('cn',api.env.realm),
64
('cn','kerberos'),api.env.basedn)],
65
mepmanagedentry=lambda x: [DN(i) for i in x] == \
66
[DN(('cn',user1),('cn','groups'),('cn','accounts'),
74
krbpwdpolicyreference=[DN(('cn','global_policy'),('cn',api.env.realm),
75
('cn','kerberos'),api.env.basedn)],
76
mepmanagedentry=[DN(('cn',user1),('cn','groups'),('cn','accounts'),
68
78
memberof_group=[u'ipausers'],
69
dn=lambda x: DN(x) == \
70
DN(('uid','tuser1'),('cn','users'),('cn','accounts'),
79
dn=DN(('uid','tuser1'),('cn','users'),('cn','accounts'),
73
82
has_password=False,
222
desc='Delete one phone number for %r' % user1,
224
'user_mod', [user1], dict(delattr=u'telephoneNumber=301-555-1212')
228
givenname=[u'Finkle'],
229
homedirectory=[u'/home/tuser1'],
230
loginshell=[u'/bin/sh'],
233
uidnumber=[fuzzy_digits],
234
gidnumber=[fuzzy_digits],
235
mail=[u'test@example.com', u'test2@example.com'],
236
memberof_group=[u'ipausers'],
237
telephonenumber=[u'202-888-9833', u'703-555-1212'],
242
summary=u'Modified user "tuser1"',
249
desc='Try deleting the number again for %r' % user1,
251
'user_mod', [user1], dict(delattr=u'telephoneNumber=301-555-1212')
253
expected=errors.AttrValueNotFound(attr=u'telephonenumber',
254
value=u'301-555-1212')
259
desc='Add and delete one phone number for %r' % user1,
261
'user_mod', [user1], dict(addattr=u'telephoneNumber=301-555-1212',
262
delattr=u'telephoneNumber=202-888-9833')
266
givenname=[u'Finkle'],
267
homedirectory=[u'/home/tuser1'],
268
loginshell=[u'/bin/sh'],
271
uidnumber=[fuzzy_digits],
272
gidnumber=[fuzzy_digits],
273
mail=[u'test@example.com', u'test2@example.com'],
274
memberof_group=[u'ipausers'],
275
telephonenumber=[u'301-555-1212', u'703-555-1212'],
280
summary=u'Modified user "tuser1"',
287
desc='Add and delete the same phone number for %r' % user1,
289
'user_mod', [user1], dict(addattr=(u'telephoneNumber=301-555-1212',
290
u'telephoneNumber=202-888-9833'),
291
delattr=u'telephoneNumber=301-555-1212')
295
givenname=[u'Finkle'],
296
homedirectory=[u'/home/tuser1'],
297
loginshell=[u'/bin/sh'],
300
uidnumber=[fuzzy_digits],
301
gidnumber=[fuzzy_digits],
302
mail=[u'test@example.com', u'test2@example.com'],
303
memberof_group=[u'ipausers'],
304
telephonenumber=[u'703-555-1212', u'301-555-1212', u'202-888-9833'],
309
summary=u'Modified user "tuser1"',
316
desc='Set and delete a phone number for %r' % user1,
318
'user_mod', [user1], dict(setattr=(u'telephoneNumber=301-555-1212',
319
u'telephoneNumber=202-888-9833'),
320
delattr=u'telephoneNumber=301-555-1212')
324
givenname=[u'Finkle'],
325
homedirectory=[u'/home/tuser1'],
326
loginshell=[u'/bin/sh'],
329
uidnumber=[fuzzy_digits],
330
gidnumber=[fuzzy_digits],
331
mail=[u'test@example.com', u'test2@example.com'],
332
memberof_group=[u'ipausers'],
333
telephonenumber=[u'202-888-9833'],
338
summary=u'Modified user "tuser1"',
213
345
desc='Try setting givenname to None with setattr in %r' % user1,
215
347
'user_mod', [user1], dict(setattr=(u'givenname='))
270
402
gidnumber=[fuzzy_digits],
271
403
mail=[u'test@example.com', u'test2@example.com'],
272
404
memberof_group=[u'ipausers'],
273
telephonenumber=[u'301-555-1212', u'202-888-9833', u'703-555-1212'],
278
summary=u'Modified user "tuser1"',
405
telephonenumber=[u'202-888-9833'],
410
summary=u'Modified user "tuser1"',
416
desc='Lock %r using setattr' % user1,
418
'user_mod', [user1], dict(setattr=u'nsaccountlock=TrUe')
422
givenname=[u'Finkle'],
423
homedirectory=[u'/home/tuser1'],
424
loginshell=[u'/bin/sh'],
427
uidnumber=[fuzzy_digits],
428
gidnumber=[fuzzy_digits],
429
mail=[u'test@example.com', u'test2@example.com'],
430
memberof_group=[u'ipausers'],
431
telephonenumber=[u'202-888-9833'],
436
summary=u'Modified user "tuser1"',
442
desc='Unlock %r using addattr&delattr' % user1,
444
'user_mod', [user1], dict(
445
addattr=u'nsaccountlock=FaLsE',
446
delattr=u'nsaccountlock=TRUE')
450
givenname=[u'Finkle'],
451
homedirectory=[u'/home/tuser1'],
452
loginshell=[u'/bin/sh'],
455
uidnumber=[fuzzy_digits],
456
gidnumber=[fuzzy_digits],
457
mail=[u'test@example.com', u'test2@example.com'],
458
memberof_group=[u'ipausers'],
459
telephonenumber=[u'202-888-9833'],
464
summary=u'Modified user "tuser1"',
470
desc='Try adding a new group search fields config entry',
472
'config_mod', [], dict(addattr=u'ipagroupsearchfields=newattr')
474
expected=errors.OnlyOneValueAllowed(attr='ipagroupsearchfields'),
478
desc='Try adding a new cert subject base config entry',
480
'config_mod', [], dict(addattr=u'ipacertificatesubjectbase=0=DOMAIN.COM')
482
expected=errors.ValidationError(name='ipacertificatesubjectbase',
483
error='attribute is not configurable'),
487
desc='Try deleting a required config entry',
489
'config_mod', [], dict(delattr=u'ipasearchrecordslimit=100')
491
expected=errors.RequirementError(name='ipasearchrecordslimit'),
495
desc='Try setting nonexistent attribute',
496
command=('config_mod', [], dict(setattr=u'invalid_attr=false')),
497
expected=errors.ObjectclassViolation(
498
info='attribute "invalid_attr" not allowed'),
502
desc='Try setting out-of-range krbpwdmaxfailure',
503
command=('pwpolicy_mod', [], dict(setattr=u'krbpwdmaxfailure=-1')),
504
expected=errors.ValidationError(name='krbpwdmaxfailure',
505
error='must be at least 0'),
509
desc='Try setting out-of-range maxfail',
510
command=('pwpolicy_mod', [], dict(krbpwdmaxfailure=u'-1')),
511
expected=errors.ValidationError(name='maxfail',
512
error='must be at least 0'),
516
desc='Try setting non-numeric krbpwdmaxfailure',
517
command=('pwpolicy_mod', [], dict(setattr=u'krbpwdmaxfailure=abc')),
518
expected=errors.ConversionError(name='krbpwdmaxfailure',
519
error='must be an integer'),
523
desc='Try setting non-numeric maxfail',
524
command=('pwpolicy_mod', [], dict(krbpwdmaxfailure=u'abc')),
525
expected=errors.ConversionError(name='maxfail',
526
error='must be an integer'),
530
desc='Try deleting bogus attribute',
531
command=('config_mod', [], dict(delattr=u'bogusattribute=xyz')),
532
expected=errors.ValidationError(name='bogusattribute',
533
error='No such attribute on this entry'),
537
desc='Try deleting empty attribute',
538
command=('config_mod', [],
539
dict(delattr=u'ipaCustomFields=See Also,seealso,false')),
540
expected=errors.ValidationError(name='ipacustomfields',
541
error='No such attribute on this entry'),
545
desc='Set and delete one value, plus try deleting a missing one',
546
command=('config_mod', [], dict(
547
delattr=[u'ipaCustomFields=See Also,seealso,false',
548
u'ipaCustomFields=Country,c,false'],
549
addattr=u'ipaCustomFields=See Also,seealso,false')),
550
expected=errors.AttrValueNotFound(attr='ipacustomfields',
551
value='Country,c,false'),
555
desc='Try to delete an operational attribute with --delattr',
556
command=('config_mod', [], dict(
557
delattr=u'creatorsName=cn=directory manager')),
558
expected=errors.DatabaseError(
559
desc='Server is unwilling to perform', info=''),