summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorTomas Babej <tbabej@redhat.com>2012-12-21 05:34:37 -0500
committerMartin Kosek <mkosek@redhat.com>2013-02-26 09:32:30 +0100
commit4ba2700de494f59cdb4993cba5f259c8d2894d1e (patch)
tree98367e60e0985743783bed473d3cd5642b722f7c /tests
parent54a53bca486a4ae501183dd4a35da0e320425510 (diff)
downloadfreeipa-4ba2700de494f59cdb4993cba5f259c8d2894d1e.tar.gz
freeipa-4ba2700de494f59cdb4993cba5f259c8d2894d1e.tar.xz
freeipa-4ba2700de494f59cdb4993cba5f259c8d2894d1e.zip
Make options checks in idrange-add/mod consistent
Both now enforce the following checks: - dom_sid and secondary_rid_base cannot be used together - rid_base must be used together if dom_rid is set - secondary_rid_base and rid_base must be used together if dom_rid is not set Unit test for third check has been added. http://fedorahosted.org/freeipa/ticket/3170
Diffstat (limited to 'tests')
-rw-r--r--tests/test_xmlrpc/test_range_plugin.py46
1 files changed, 45 insertions, 1 deletions
diff --git a/tests/test_xmlrpc/test_range_plugin.py b/tests/test_xmlrpc/test_range_plugin.py
index 2e00609a7..be8eac593 100644
--- a/tests/test_xmlrpc/test_range_plugin.py
+++ b/tests/test_xmlrpc/test_range_plugin.py
@@ -69,6 +69,11 @@ testrange7_size = 50
testrange7_base_rid = 600
testrange7_secondary_base_rid=649
+testrange8 = u'testrange8'
+testrange8_base_id = 700
+testrange8_size = 50
+testrange8_base_rid = 700
+
user1=u'tuser1'
user1_uid = 900000
group1=u'group1'
@@ -76,7 +81,7 @@ group1_gid = 900100
class test_range(Declarative):
cleanup_commands = [
- ('idrange_del', [testrange1,testrange2,testrange3,testrange4,testrange5,testrange6,testrange7], {'continue': True}),
+ ('idrange_del', [testrange1,testrange2,testrange3,testrange4,testrange5,testrange6,testrange7, testrange8], {'continue': True}),
('user_del', [user1], {}),
('group_del', [group1], {}),
]
@@ -365,4 +370,43 @@ class test_range(Declarative):
summary=u'Deleted ID range "%s"' % testrange2,
),
),
+
+ dict(
+ desc='Create ID range %r' % (testrange8),
+ command=('idrange_add', [testrange8],
+ dict(ipabaseid=testrange8_base_id,
+ ipaidrangesize=testrange8_size)),
+ expected=dict(
+ result=dict(
+ dn=DN(('cn',testrange8),('cn','ranges'),('cn','etc'),
+ api.env.basedn),
+ cn=[testrange8],
+ objectclass=[u'ipaIDrange', u'ipadomainidrange'],
+ ipabaseid=[unicode(testrange8_base_id)],
+ ipaidrangesize=[unicode(testrange8_size)],
+ iparangetype=[u'local domain range'],
+ ),
+ value=testrange8,
+ summary=u'Added ID range "%s"' % (testrange8),
+ ),
+ ),
+
+ dict(
+ desc='Try to modify ID range %r so it has only primary rid range set' % (testrange8),
+ command=('idrange_mod', [testrange8],
+ dict(ipabaserid=testrange8_base_rid)),
+ expected=errors.ValidationError(
+ name='ID Range setup', error='Options secondary-rid-base and rid-base must be used together'),
+ ),
+
+ dict(
+ desc='Delete ID range %r' % testrange8,
+ command=('idrange_del', [testrange8], {}),
+ expected=dict(
+ result=dict(failed=u''),
+ value=testrange8,
+ summary=u'Deleted ID range "%s"' % testrange8,
+ ),
+ ),
+
]