summaryrefslogtreecommitdiffstats
path: root/ipatests/test_xmlrpc
diff options
context:
space:
mode:
authorGanna Kaihorodova <gkaihoro@redhat.com>2016-12-08 15:06:36 +0100
committerMartin Basti <mbasti@redhat.com>2017-01-19 17:39:08 +0100
commitfa7aaef1de2c97ac9d24925ca9adb25c7151055f (patch)
tree83c8d8ea9f47989a74152bf122bab72a797ee10d /ipatests/test_xmlrpc
parentc391f6ba58a61e046e49e1b4526b62d7ce250301 (diff)
downloadfreeipa-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.py42
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