From ff4152539b96d309dcceaf854a3e0a49f435acff Mon Sep 17 00:00:00 2001 From: Florence Blanc-Renaud Date: Mon, 20 Jun 2022 09:09:11 +0200 Subject: [PATCH] Preserve user: fix the confusing summary When ipa user-del --preserve is called, the command output prints a summary with: Deleted user: user1 although the user was preserved. Replace the summary with Preserved user: user1 to reflect what was actually done. Fixes: https://pagure.io/freeipa/issue/9187 Signed-off-by: Florence Blanc-Renaud Reviewed-By: Michal Polovka Reviewed-By: Rob Crittenden --- ipaserver/plugins/user.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ipaserver/plugins/user.py b/ipaserver/plugins/user.py index 25d2bb6aa..fa8a67d3d 100644 --- a/ipaserver/plugins/user.py +++ b/ipaserver/plugins/user.py @@ -56,6 +56,7 @@ from .idviews import remove_ipaobject_overrides from ipalib.plugable import Registry from .baseldap import ( LDAPObject, + pkey_to_unicode, pkey_to_value, LDAPCreate, LDAPSearch, @@ -701,6 +702,7 @@ class user_del(baseuser_del): __doc__ = _('Delete a user.') msg_summary = _('Deleted user "%(value)s"') + msg_summary_preserved = _('Preserved user "%(value)s"') takes_options = baseuser_del.takes_options + ( Bool('preserve?', @@ -831,6 +833,8 @@ class user_del(baseuser_del): failed.append(pkey_to_value(pkey, options)) val = dict(result=dict(failed=failed), value=preserved) + val['summary'] = self.msg_summary_preserved % dict( + value=pkey_to_unicode(preserved)) return val else: return super(user_del, self).execute(*keys, **options) -- 2.36.1 From 4984ff210a169129e4e56b10e54e9c795520855c Mon Sep 17 00:00:00 2001 From: Florence Blanc-Renaud Date: Mon, 20 Jun 2022 09:12:14 +0200 Subject: [PATCH] xmlrpc tests: updated expected output for preserved user Update the expected summary for the command ipa user-del --preserve The command now displays: Preserved user: user1 instead of Deleted user: user1 Related: https://pagure.io/freeipa/issue/9187 Signed-off-by: Florence Blanc-Renaud Reviewed-By: Michal Polovka Reviewed-By: Rob Crittenden --- ipatests/test_xmlrpc/test_stageuser_plugin.py | 5 ++++- ipatests/test_xmlrpc/tracker/user_plugin.py | 7 ++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ipatests/test_xmlrpc/test_stageuser_plugin.py b/ipatests/test_xmlrpc/test_stageuser_plugin.py index bc606b093..fd146876c 100644 --- a/ipatests/test_xmlrpc/test_stageuser_plugin.py +++ b/ipatests/test_xmlrpc/test_stageuser_plugin.py @@ -479,11 +479,12 @@ class TestActive(XMLRPC_test): def test_delete_preserve(self, user): user.ensure_exists() - user.track_delete() + user.track_delete(preserve=True) command = user.make_delete_command(no_preserve=False, preserve=True) result = command() user.check_delete(result) + user.track_delete(preserve=False) command = user.make_delete_command() result = command() user.check_delete(result) @@ -622,6 +623,7 @@ class TestCustomAttr(XMLRPC_test): assert 'BusinessCat' in result['result'][u'businesscategory'] # delete the user with --preserve + user_customattr.track_delete(preserve=True) command = user_customattr.make_delete_command(no_preserve=False, preserve=True) result = command() @@ -763,6 +765,7 @@ class TestGroups(XMLRPC_test): result = command() group.check_retrieve(result) + user.track_delete(preserve=True) command = user.make_delete_command(no_preserve=False, preserve=True) result = command() user.check_delete(result) diff --git a/ipatests/test_xmlrpc/tracker/user_plugin.py b/ipatests/test_xmlrpc/tracker/user_plugin.py index 03c106250..b04be4c19 100644 --- a/ipatests/test_xmlrpc/tracker/user_plugin.py +++ b/ipatests/test_xmlrpc/tracker/user_plugin.py @@ -273,9 +273,14 @@ class UserTracker(CertmapdataMixin, KerberosAliasMixin, Tracker): def check_delete(self, result): """ Check 'user-del' command result """ + if u'preserved' in self.attrs and self.attrs[u'preserved']: + summary = u'Preserved user "%s"' % self.uid + else: + summary = u'Deleted user "%s"' % self.uid + assert_deepequal(dict( value=[self.uid], - summary=u'Deleted user "%s"' % self.uid, + summary=summary, result=dict(failed=[]), ), result) -- 2.36.1