diff options
author | Petr Viktorin <pviktori@redhat.com> | 2013-01-08 04:10:35 -0500 |
---|---|---|
committer | Martin Kosek <mkosek@redhat.com> | 2013-03-11 17:07:07 +0100 |
commit | 91606e6679f3a18b1c1789efd240eed982a563d4 (patch) | |
tree | a002e8fbc837058f6c1d9178cbefadcd03b7d6f2 /tests | |
parent | 8d432353cc1e66b235e928650764f879c24d19f7 (diff) | |
download | freeipa-91606e6679f3a18b1c1789efd240eed982a563d4.tar.gz freeipa-91606e6679f3a18b1c1789efd240eed982a563d4.tar.xz freeipa-91606e6679f3a18b1c1789efd240eed982a563d4.zip |
Change DNA magic value to -1 to make UID 999 usable
Change user-add's uid & gid parameters from autofill to optional.
Change the DNA magic value to -1.
For old clients, which will still send 999 when they want DNA
assignment, translate the 999 to -1. This is done via a new
capability, optional_uid_params.
Tests included
https://fedorahosted.org/freeipa/ticket/2886
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_install/1_add.update | 4 | ||||
-rw-r--r-- | tests/test_xmlrpc/test_user_plugin.py | 86 |
2 files changed, 88 insertions, 2 deletions
diff --git a/tests/test_install/1_add.update b/tests/test_install/1_add.update index ecb419513..2543a71f2 100644 --- a/tests/test_install/1_add.update +++ b/tests/test_install/1_add.update @@ -16,7 +16,7 @@ add:homedirectory: /home/tuser add:loginshell: /bin/bash add:sn: User add:uid: tuser -add:uidnumber: 999 -add:gidnumber: 999 +add:uidnumber: -1 +add:gidnumber: -1 add:cn: Test User diff --git a/tests/test_xmlrpc/test_user_plugin.py b/tests/test_xmlrpc/test_user_plugin.py index a61db23d5..7e992224c 100644 --- a/tests/test_xmlrpc/test_user_plugin.py +++ b/tests/test_xmlrpc/test_user_plugin.py @@ -1748,4 +1748,90 @@ class test_user(Declarative): ), ), ), + + dict( + desc='Create "%s" with UID 999' % user1, + command=( + 'user_add', [user1], dict( + givenname=u'Test', sn=u'User1', uidnumber=999) + ), + expected=dict( + value=user1, + summary=u'Added user "%s"' % user1, + result=dict( + gecos=[u'Test User1'], + givenname=[u'Test'], + homedirectory=[u'/home/tuser1'], + krbprincipalname=[u'tuser1@' + api.env.realm], + loginshell=[u'/bin/sh'], + objectclass=objectclasses.user, + sn=[u'User1'], + uid=[user1], + uidnumber=[u'999'], + gidnumber=[u'999'], + displayname=[u'Test User1'], + cn=[u'Test User1'], + mail=[u'%s@%s' % (user1, api.env.domain)], + initials=[u'TU'], + ipauniqueid=[fuzzy_uuid], + krbpwdpolicyreference=[DN(('cn','global_policy'),('cn',api.env.realm), + ('cn','kerberos'),api.env.basedn)], + mepmanagedentry=[get_group_dn(user1)], + memberof_group=[u'ipausers'], + has_keytab=False, + has_password=False, + dn=get_user_dn(user1), + ), + ), + extra_check = upg_check, + ), + + dict( + desc='Delete "%s"' % user1, + command=('user_del', [user1], {}), + expected=dict( + result=dict(failed=u''), + summary=u'Deleted user "%s"' % user1, + value=user1, + ), + ), + + dict( + desc='Create "%s" with old DNA_MAGIC uid 999' % user1, + command=( + 'user_add', [user1], dict( + givenname=u'Test', sn=u'User1', uidnumber=999, + version=u'2.49') + ), + expected=dict( + value=user1, + summary=u'Added user "%s"' % user1, + result=dict( + gecos=[u'Test User1'], + givenname=[u'Test'], + homedirectory=[u'/home/tuser1'], + krbprincipalname=[u'tuser1@' + api.env.realm], + loginshell=[u'/bin/sh'], + objectclass=objectclasses.user, + sn=[u'User1'], + uid=[user1], + uidnumber=[lambda v: int(v) != 999], + gidnumber=[lambda v: int(v) != 999], + displayname=[u'Test User1'], + cn=[u'Test User1'], + mail=[u'%s@%s' % (user1, api.env.domain)], + initials=[u'TU'], + ipauniqueid=[fuzzy_uuid], + krbpwdpolicyreference=[DN(('cn','global_policy'),('cn',api.env.realm), + ('cn','kerberos'),api.env.basedn)], + mepmanagedentry=[get_group_dn(user1)], + memberof_group=[u'ipausers'], + has_keytab=False, + has_password=False, + dn=get_user_dn(user1), + ), + ), + extra_check = upg_check, + ), + ] |