diff options
author | Tomas Babej <tbabej@redhat.com> | 2012-12-21 05:34:37 -0500 |
---|---|---|
committer | Martin Kosek <mkosek@redhat.com> | 2013-02-26 09:32:30 +0100 |
commit | 4ba2700de494f59cdb4993cba5f259c8d2894d1e (patch) | |
tree | 98367e60e0985743783bed473d3cd5642b722f7c /tests/test_xmlrpc | |
parent | 54a53bca486a4ae501183dd4a35da0e320425510 (diff) | |
download | freeipa-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/test_xmlrpc')
-rw-r--r-- | tests/test_xmlrpc/test_range_plugin.py | 46 |
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, + ), + ), + ] |