summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorRob Crittenden <rcritten@redhat.com>2012-03-01 14:02:28 -0500
committerRob Crittenden <rcritten@redhat.com>2012-03-01 21:02:33 -0500
commitd55d8bfa7ed1d3617274c9f53974e7bf5209cc4e (patch)
treec5b69a401c0c8ae3dba503bf0bb7137cd641e382 /tests
parent31eebda584d556454104a8fbf26974b6b49d9589 (diff)
downloadfreeipa-d55d8bfa7ed1d3617274c9f53974e7bf5209cc4e.tar.gz
freeipa-d55d8bfa7ed1d3617274c9f53974e7bf5209cc4e.tar.xz
freeipa-d55d8bfa7ed1d3617274c9f53974e7bf5209cc4e.zip
Add support for sudoOrder
Update ipaSudoRule objectClass on upgrades to add new attributes. Ensure uniqueness of sudoOrder in rules. The attributes sudoNotBefore and sudoNotAfter are being added to schema but not as Params. https://fedorahosted.org/freeipa/ticket/1314
Diffstat (limited to 'tests')
-rw-r--r--tests/test_xmlrpc/test_sudorule_plugin.py45
1 files changed, 42 insertions, 3 deletions
diff --git a/tests/test_xmlrpc/test_sudorule_plugin.py b/tests/test_xmlrpc/test_sudorule_plugin.py
index 4e283c208..bddf00c4f 100644
--- a/tests/test_xmlrpc/test_sudorule_plugin.py
+++ b/tests/test_xmlrpc/test_sudorule_plugin.py
@@ -30,6 +30,7 @@ class test_sudorule(XMLRPC_test):
Test the `sudorule` plugin.
"""
rule_name = u'testing_sudorule1'
+ rule_name2 = u'testing_sudorule2'
rule_command = u'/usr/bin/testsudocmd1'
rule_desc = u'description'
rule_desc_mod = u'description modified'
@@ -38,8 +39,8 @@ class test_sudorule(XMLRPC_test):
test_external_user = u'external_test_user'
test_group = u'sudorule_test_group'
test_external_group = u'external_test_group'
- test_host = u'sudorule.test-host'
- test_external_host = u'external.test-host'
+ test_host = u'sudorule.testhost'
+ test_external_host = u'external.testhost'
test_hostgroup = u'sudorule_test_hostgroup'
test_sudoallowcmdgroup = u'sudorule_test_allowcmdgroup'
test_sudodenycmdgroup = u'sudorule_test_denycmdgroup'
@@ -625,8 +626,45 @@ class test_sudorule(XMLRPC_test):
api.Command['sudocmdgroup_del'](self.test_sudoallowcmdgroup)
api.Command['sudocmdgroup_del'](self.test_sudodenycmdgroup)
+ def test_l_sudorule_order(self):
+ """
+ Test that order uniqueness is maintained
+ """
+ api.Command['sudorule_mod'](self.rule_name, sudoorder=1)
+
+ api.Command['sudorule_add'](self.rule_name2)
+
+ # mod of rule that has no order and set a duplicate
+ try:
+ api.Command['sudorule_mod'](self.rule_name2, sudoorder=1)
+ except errors.ValidationError:
+ pass
+
+ # Remove the rule so we can re-add it
+ api.Command['sudorule_del'](self.rule_name2)
+
+ # add a new rule with a duplicate order
+ try:
+ api.Command['sudorule_add'](self.rule_name2, sudoorder=1)
+ except errors.ValidationError:
+ pass
+
+ # add a new rule with a unique order
+ api.Command['sudorule_add'](self.rule_name2, sudoorder=2)
+ try:
+ api.Command['sudorule_mod'](self.rule_name2, sudoorder=1)
+ except errors.ValidationError:
+ pass
+
+ # Try setting both to 0
+ api.Command['sudorule_mod'](self.rule_name2, sudoorder=0)
+ try:
+ api.Command['sudorule_mod'](self.rule_name, sudoorder=0)
+ except errors.ValidationError:
+ pass
+
- def test_l_sudorule_del(self):
+ def test_m_sudorule_del(self):
"""
Test deleting a Sudo rule using `xmlrpc.sudorule_del`.
"""
@@ -638,3 +676,4 @@ class test_sudorule(XMLRPC_test):
pass
else:
assert False
+ api.Command['sudorule_del'](self.rule_name2)