summaryrefslogtreecommitdiffstats
path: root/tests/test_xmlrpc/test_sudocmd_plugin.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_xmlrpc/test_sudocmd_plugin.py')
-rw-r--r--tests/test_xmlrpc/test_sudocmd_plugin.py82
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'],
+ ),
+ ),
+ ),
]