diff options
Diffstat (limited to 'tests/test_xmlrpc/test_sudocmd_plugin.py')
-rw-r--r-- | tests/test_xmlrpc/test_sudocmd_plugin.py | 82 |
1 files changed, 71 insertions, 11 deletions
diff --git a/tests/test_xmlrpc/test_sudocmd_plugin.py b/tests/test_xmlrpc/test_sudocmd_plugin.py index 75b6bbccb..0ea8e10b8 100644 --- a/tests/test_xmlrpc/test_sudocmd_plugin.py +++ b/tests/test_xmlrpc/test_sudocmd_plugin.py @@ -21,18 +21,20 @@ Test the `ipalib/plugins/sudocmd.py` module. """ -from ipalib import api, errors -from tests.test_xmlrpc.xmlrpc_test import Declarative, fuzzy_uuid +from ipalib import errors +from tests.test_xmlrpc.xmlrpc_test import (Declarative, fuzzy_sudocmddn, + fuzzy_uuid) from tests.test_xmlrpc import objectclasses -from ipapython.dn import DN sudocmd1 = u'/usr/bin/sudotestcmd1' +sudocmd1_camelcase = u'/usr/bin/sudoTestCmd1' class test_sudocmd(Declarative): cleanup_commands = [ ('sudocmd_del', [sudocmd1], {}), + ('sudocmd_del', [sudocmd1_camelcase], {}), ] tests = [ @@ -72,8 +74,7 @@ class test_sudocmd(Declarative): value=sudocmd1, summary=u'Added Sudo Command "%s"' % sudocmd1, result=dict( - dn=DN(('sudocmd',sudocmd1),('cn','sudocmds'),('cn','sudo'), - api.env.basedn), + dn=fuzzy_sudocmddn, sudocmd=[sudocmd1], description=[u'Test sudo command 1'], objectclass=objectclasses.sudocmd, @@ -82,6 +83,26 @@ class test_sudocmd(Declarative): ), ), + dict( + desc='Create %r' % sudocmd1_camelcase, + command=('sudocmd_add', [sudocmd1_camelcase], + dict( + description=u'Test sudo command 2', + ), + ), + expected=dict( + value=sudocmd1_camelcase, + summary=u'Added Sudo Command "%s"' % sudocmd1_camelcase, + result=dict( + dn=fuzzy_sudocmddn, + sudocmd=[sudocmd1_camelcase], + description=[u'Test sudo command 2'], + objectclass=objectclasses.sudocmd, + ipauniqueid=[fuzzy_uuid], + ), + ), + ), + dict( desc='Try to create duplicate %r' % sudocmd1, @@ -94,6 +115,17 @@ class test_sudocmd(Declarative): u'name "%s" already exists' % sudocmd1), ), + dict( + desc='Try to create duplicate %r' % sudocmd1_camelcase, + command=('sudocmd_add', [sudocmd1_camelcase], + dict( + description=u'Test sudo command 2', + ), + ), + expected=errors.DuplicateEntry(message=u'sudo command with ' + + u'name "%s" already exists' % sudocmd1_camelcase), + ), + dict( desc='Retrieve %r' % sudocmd1, @@ -102,8 +134,7 @@ class test_sudocmd(Declarative): value=sudocmd1, summary=None, result=dict( - dn=DN(('sudocmd',sudocmd1),('cn','sudocmds'),('cn','sudo'), - api.env.basedn), + dn=fuzzy_sudocmddn, sudocmd=[sudocmd1], description=[u'Test sudo command 1'], ), @@ -120,8 +151,7 @@ class test_sudocmd(Declarative): summary=u'1 Sudo Command matched', result=[ dict( - dn=DN(('sudocmd',sudocmd1),('cn','sudocmds'), - ('cn','sudo'),api.env.basedn), + dn=fuzzy_sudocmddn, sudocmd=[sudocmd1], description=[u'Test sudo command 1'], ), @@ -129,6 +159,23 @@ class test_sudocmd(Declarative): ), ), + dict( + desc='Search for %r' % sudocmd1_camelcase, + command=('sudocmd_find', [sudocmd1_camelcase], {}), + expected=dict( + count=1, + truncated=False, + summary=u'1 Sudo Command matched', + result=[ + dict( + dn=fuzzy_sudocmddn, + sudocmd=[sudocmd1_camelcase], + description=[u'Test sudo command 2'], + ), + ], + ), + ), + dict( desc='Update %r' % sudocmd1, @@ -152,8 +199,7 @@ class test_sudocmd(Declarative): value=sudocmd1, summary=None, result=dict( - dn=DN(('sudocmd',sudocmd1),('cn','sudocmds'),('cn','sudo'), - api.env.basedn), + dn=fuzzy_sudocmddn, sudocmd=[sudocmd1], description=[u'Updated sudo command 1'], ), @@ -194,4 +240,18 @@ class test_sudocmd(Declarative): expected=errors.NotFound( reason=u'%s: sudo command not found' % sudocmd1), ), + + dict( + desc='Retrieve %r' % sudocmd1_camelcase, + command=('sudocmd_show', [sudocmd1_camelcase], {}), + expected=dict( + value=sudocmd1_camelcase, + summary=None, + result=dict( + dn=fuzzy_sudocmddn, + sudocmd=[sudocmd1_camelcase], + description=[u'Test sudo command 2'], + ), + ), + ), ] |