diff options
author | Ganna Kaihorodova <gkaihoro@redhat.com> | 2016-12-08 15:06:36 +0100 |
---|---|---|
committer | Martin Basti <mbasti@redhat.com> | 2017-01-19 17:39:08 +0100 |
commit | fa7aaef1de2c97ac9d24925ca9adb25c7151055f (patch) | |
tree | 83c8d8ea9f47989a74152bf122bab72a797ee10d /ipatests/test_xmlrpc | |
parent | c391f6ba58a61e046e49e1b4526b62d7ce250301 (diff) | |
download | freeipa-fa7aaef1de2c97ac9d24925ca9adb25c7151055f.tar.gz freeipa-fa7aaef1de2c97ac9d24925ca9adb25c7151055f.tar.xz freeipa-fa7aaef1de2c97ac9d24925ca9adb25c7151055f.zip |
User Tracker: creation of user with minimal values
Fix provide possibility to create user-add test with minimal values,
where uid is not specified, to provide better coverage. Also provide
check for non-empty unicode string for attributes required in init method
https://fedorahosted.org/freeipa/ticket/6126
Reviewed-By: Stanislav Laznicka <slaznick@redhat.com>
Reviewed-By: Milan Kubik <mkubik@redhat.com>
Reviewed-By: Lenka Doudova <ldoudova@redhat.com>
Diffstat (limited to 'ipatests/test_xmlrpc')
-rw-r--r-- | ipatests/test_xmlrpc/tracker/user_plugin.py | 42 |
1 files changed, 31 insertions, 11 deletions
diff --git a/ipatests/test_xmlrpc/tracker/user_plugin.py b/ipatests/test_xmlrpc/tracker/user_plugin.py index 1b35a5cf7..d57db930d 100644 --- a/ipatests/test_xmlrpc/tracker/user_plugin.py +++ b/ipatests/test_xmlrpc/tracker/user_plugin.py @@ -62,22 +62,42 @@ class UserTracker(KerberosAliasMixin, Tracker): primary_keys = {u'uid', u'dn'} - def __init__(self, name, givenname, sn, **kwargs): + def __init__(self, name=None, givenname=None, sn=None, **kwargs): + """ Check for non-empty unicode string for the required attributes + in the init method """ + + if not (isinstance(givenname, six.string_types) and givenname): + raise ValueError( + "Invalid first name provided: {!r}".format(givenname) + ) + if not (isinstance(sn, six.string_types) and sn): + raise ValueError("Invalid second name provided: {!r}".format(sn)) + super(UserTracker, self).__init__(default_version=None) - self.uid = name - self.givenname = givenname - self.sn = sn + self.uid = unicode(name) + self.givenname = unicode(givenname) + self.sn = unicode(sn) self.dn = DN(('uid', self.uid), api.env.container_user, api.env.basedn) self.kwargs = kwargs - def make_create_command(self): - """ Make function that crates a user using user-add """ - return self.make_command( - 'user_add', self.uid, - givenname=self.givenname, - sn=self.sn, **self.kwargs - ) + def make_create_command(self, force=None): + + """ Make function that creates a user using user-add + with all set of attributes and with minimal values, + where uid is not specified """ + + if self.uid is not None: + return self.make_command( + 'user_add', self.uid, + givenname=self.givenname, + sn=self.sn, **self.kwargs + ) + else: + return self.make_command( + 'user_add', givenname=self.givenname, + sn=self.sn, **self.kwargs + ) def make_delete_command(self, no_preserve=True, preserve=False): """ Make function that deletes a user using user-del |