summaryrefslogtreecommitdiffstats
path: root/ipatests/test_xmlrpc/test_user_plugin.py
diff options
context:
space:
mode:
authorAdam Misnyovszki <amisnyov@redhat.com>2014-03-27 16:26:08 +0100
committerPetr Vobornik <pvoborni@redhat.com>2014-03-28 12:38:50 +0100
commit0f626a9cc870ba0bdcc1322d765687b0e597c26c (patch)
tree1967101f7ffdc32e64c3a4ad69b1b58569573228 /ipatests/test_xmlrpc/test_user_plugin.py
parentb5b290948f3ff5bed16099c41b76ef0e188e8eeb (diff)
downloadfreeipa-0f626a9cc870ba0bdcc1322d765687b0e597c26c.tar.gz
freeipa-0f626a9cc870ba0bdcc1322d765687b0e597c26c.tar.xz
freeipa-0f626a9cc870ba0bdcc1322d765687b0e597c26c.zip
Extending user plugin with inetOrgPerson fields
According to http://tools.ietf.org/html/rfc2798 ipa client and web ui extended with inetOrgPerson fields: - employeenumber - employeetype - preferredlanguage - departmentnumber carlicenseplate is now multivalued https://fedorahosted.org/freeipa/ticket/4165 Reviewed-By: Petr Vobornik <pvoborni@redhat.com>
Diffstat (limited to 'ipatests/test_xmlrpc/test_user_plugin.py')
-rw-r--r--ipatests/test_xmlrpc/test_user_plugin.py92
1 files changed, 92 insertions, 0 deletions
diff --git a/ipatests/test_xmlrpc/test_user_plugin.py b/ipatests/test_xmlrpc/test_user_plugin.py
index 9b1777589..b7febe745 100644
--- a/ipatests/test_xmlrpc/test_user_plugin.py
+++ b/ipatests/test_xmlrpc/test_user_plugin.py
@@ -47,6 +47,15 @@ invaliduser2=u'tuser1234567890123456789012345678901234567890'
sshpubkey = u'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGAX3xAeLeaJggwTqMjxNwa6XHBUAikXPGMzEpVrlLDCZtv00djsFTBi38PkgxBJVkgRWMrcBsr/35lq7P6w8KGIwA8GI48Z0qBS2NBMJ2u9WQ2hjLN6GdMlo77O0uJY3251p12pCVIS/bHRSq8kHO2No8g7KA9fGGcagPfQH+ee3t7HUkpbQkFTmbPPN++r3V8oVUk5LxbryB3UIIVzNmcSIn3JrXynlvui4MixvrtX6zx+O/bBo68o8/eZD26QrahVbA09fivrn/4h3TM019Eu/c2jOdckfU3cHUV/3Tno5d6JicibyaoDDK7S/yjdn5jhaz8MSEayQvFkZkiF0L public key test'
sshpubkeyfp = u'13:67:6B:BF:4E:A2:05:8E:AE:25:8B:A1:31:DE:6F:1B public key test (ssh-rsa)'
+validlanguage1=u'en-US;q=0.987 , en, abcdfgh-abcdefgh;q=1 , a;q=1.000'
+validlanguage2=u'*'
+
+invalidlanguage1=u'abcdfghji-abcdfghji'
+invalidlanguage2=u'en-us;q=0,123'
+invalidlanguage3=u'en-us;q=0.1234'
+invalidlanguage4=u'en-us;q=1.1'
+invalidlanguage5=u'en-us;q=1.0000'
+
# Date in ISO format (2013-12-10T12:00:00)
isodate_re = re.compile('^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$')
@@ -1470,4 +1479,87 @@ class test_user(Declarative):
),
),
+ dict(
+ desc='Test an invalid preferredlanguage "%s"' % invalidlanguage1,
+ command=('user_mod', [user1], dict(preferredlanguage=invalidlanguage1)),
+ expected=errors.ValidationError(name='preferredlanguage',
+ error=u'must match RFC 2068 - 14.4, e.g., "da, en-gb;q=0.8, en;q=0.7"'),
+ ),
+
+ dict(
+ desc='Test an invalid preferredlanguage "%s"' % invalidlanguage2,
+ command=('user_mod', [user1], dict(preferredlanguage=invalidlanguage2)),
+ expected=errors.ValidationError(name='preferredlanguage',
+ error=u'must match RFC 2068 - 14.4, e.g., "da, en-gb;q=0.8, en;q=0.7"'),
+ ),
+
+ dict(
+ desc='Test an invalid preferredlanguage "%s"' % invalidlanguage3,
+ command=('user_mod', [user1], dict(preferredlanguage=invalidlanguage3)),
+ expected=errors.ValidationError(name='preferredlanguage',
+ error=u'must match RFC 2068 - 14.4, e.g., "da, en-gb;q=0.8, en;q=0.7"'),
+ ),
+
+ dict(
+ desc='Test an invalid preferredlanguage "%s"' % invalidlanguage4,
+ command=('user_mod', [user1], dict(preferredlanguage=invalidlanguage4)),
+ expected=errors.ValidationError(name='preferredlanguage',
+ error=u'must match RFC 2068 - 14.4, e.g., "da, en-gb;q=0.8, en;q=0.7"'),
+ ),
+
+ dict(
+ desc='Test an invalid preferredlanguage "%s"' % invalidlanguage5,
+ command=('user_mod', [user1], dict(preferredlanguage=invalidlanguage5)),
+ expected=errors.ValidationError(name='preferredlanguage',
+ error=u'must match RFC 2068 - 14.4, e.g., "da, en-gb;q=0.8, en;q=0.7"'),
+ ),
+
+ dict(
+ desc='Set preferredlanguage "%s"' % validlanguage1,
+ command=('user_mod', [user1], dict(preferredlanguage=validlanguage1)),
+ expected=dict(
+ result=dict(
+ givenname=[u'Test'],
+ homedirectory=[u'/home/tuser1'],
+ loginshell=[u'/bin/sh'],
+ sn=[u'User1'],
+ uid=[user1],
+ uidnumber=[fuzzy_digits],
+ gidnumber=[fuzzy_digits],
+ mail=[u'%s@%s' % (user1, api.env.domain)],
+ memberof_group=[u'ipausers'],
+ nsaccountlock=False,
+ has_keytab=False,
+ has_password=False,
+ preferredlanguage=[validlanguage1],
+ ),
+ value=user1,
+ summary='Modified user "%s"' % user1,
+ ),
+ ),
+
+ dict(
+ desc='Set preferredlanguage "%s"' % validlanguage2,
+ command=('user_mod', [user1], dict(preferredlanguage=validlanguage2)),
+ expected=dict(
+ result=dict(
+ givenname=[u'Test'],
+ homedirectory=[u'/home/tuser1'],
+ loginshell=[u'/bin/sh'],
+ sn=[u'User1'],
+ uid=[user1],
+ uidnumber=[fuzzy_digits],
+ gidnumber=[fuzzy_digits],
+ mail=[u'%s@%s' % (user1, api.env.domain)],
+ memberof_group=[u'ipausers'],
+ nsaccountlock=False,
+ has_keytab=False,
+ has_password=False,
+ preferredlanguage=[validlanguage2],
+ ),
+ value=user1,
+ summary='Modified user "%s"' % user1,
+ ),
+ ),
+
]