Attribute nsaccountlock has not been processed correctly
Patch attached.
From 200717fc3343533a06daafaa98689f7fc517ac58 Mon Sep 17 00:00:00 2001 From: Martin Basti <[email protected]> Date: Mon, 19 Oct 2015 12:21:07 +0200 Subject: [PATCH] Tests: Fix user tracker --- ipatests/test_xmlrpc/test_user_plugin.py | 35 +++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/ipatests/test_xmlrpc/test_user_plugin.py b/ipatests/test_xmlrpc/test_user_plugin.py index ed95debe72e6ea0d93ca30e520e9e9cb34cad735..9662f033b736e0d8290243e35683a8c4d5dbb920 100644 --- a/ipatests/test_xmlrpc/test_user_plugin.py +++ b/ipatests/test_xmlrpc/test_user_plugin.py @@ -1650,7 +1650,7 @@ class test_denied_bind_with_expired_principal(XMLRPC_test): class UserTracker(Tracker): - """ Class for host plugin like tests """ + """ Class for user plugin like tests """ retrieve_keys = { u'uid', u'givenname', u'sn', u'homedirectory', @@ -1672,7 +1672,7 @@ class UserTracker(Tracker): retrieve_preserved_keys = retrieve_keys - {u'memberof_group'} retrieve_preserved_all_keys = retrieve_all_keys - {u'memberof_group'} - create_keys = retrieve_all_keys | { + create_keys = (retrieve_all_keys - {u'nsaccountlock'}) | { u'randompassword', u'mepmanagedentry', u'krbextradata', u'krbpasswordexpiration', u'krblastpwdchange', u'krbprincipalkey', u'randompassword', u'userpassword' @@ -1693,6 +1693,17 @@ class UserTracker(Tracker): self.kwargs = kwargs + def _fix_nsaccountlock_attr(self, result): + # small override because user-* commands returns different type + # of nsaccountlock value than DS, but overall the value fits + # expected result + if u'nsaccountlock' in result: + if result[u'nsaccountlock'] == [u'true']: + result[u'nsaccountlock'] = True + elif result[u'nsaccountlock'] == [u'false']: + result[u'nsaccountlock'] = False + + def make_create_command(self, force=None): """ Make function that crates a user using user-add """ return self.make_command( @@ -1769,6 +1780,7 @@ class UserTracker(Tracker): has_password=False, mepmanagedentry=[get_group_dn(self.uid)], memberof_group=[u'ipausers'], + nsaccountlock=[u'false'], ) for key in self.kwargs: @@ -1812,14 +1824,7 @@ class UserTracker(Tracker): else: expected = self.filter_attrs(self.retrieve_keys) - # small override because stageuser-find returns different type - # of nsaccountlock value than DS, but overall the value fits - # expected result - if u'nsaccountlock' in expected: - if expected[u'nsaccountlock'] == [u'true']: - expected[u'nsaccountlock'] = True - elif expected[u'nsaccountlock'] == [u'false']: - expected[u'nsaccountlock'] = False + self._fix_nsaccountlock_attr(expected) assert_deepequal(dict( value=self.uid, @@ -1837,6 +1842,8 @@ class UserTracker(Tracker): else: expected = self.filter_attrs(self.find_keys) + self._fix_nsaccountlock_attr(expected) + assert_deepequal(dict( count=1, truncated=False, @@ -1855,10 +1862,14 @@ class UserTracker(Tracker): def check_update(self, result, extra_keys=()): """ Check 'user-mod' command result """ + expected = self.filter_attrs(self.update_keys | set(extra_keys)) + + self._fix_nsaccountlock_attr(expected) + assert_deepequal(dict( value=self.uid, summary=u'Modified user "%s"' % self.uid, - result=self.filter_attrs(self.update_keys | set(extra_keys)) + result=expected, ), result) def create_from_staged(self, stageduser): @@ -1916,7 +1927,7 @@ class UserTracker(Tracker): ), result) def track_delete(self, preserve=False): - """Update expected state for host deletion""" + """Update expected state for user deletion""" if preserve: self.exists = True if u'memberof_group' in self.attrs: -- 2.4.3
-- Manage your subscription for the Freeipa-devel mailing list: https://www.redhat.com/mailman/listinfo/freeipa-devel Contribute to FreeIPA: http://www.freeipa.org/page/Contribute/Code
