[roster-dns-management] r1150 committed - Fix ability to assign duplicate group permissions at once via dnsmkuse...

0 views
Skip to first unread message

roster-dns...@googlecode.com

unread,
Jul 18, 2013, 2:27:53 PM7/18/13
to roster-...@googlegroups.com
Revision: 1150
Author: dcha...@gmail.com
Date: Thu Jul 18 11:27:39 2013
Log: Fix ability to assign duplicate group permissions at once via
dnsmkusergroup

http://code.google.com/p/roster-dns-management/source/detail?r=1150

Modified:
/trunk/roster-user-tools/scripts/dnsmkusergroup
/trunk/test/dnsmkusergroup_test.py

=======================================
--- /trunk/roster-user-tools/scripts/dnsmkusergroup Wed Jul 10 11:46:10 2013
+++ /trunk/roster-user-tools/scripts/dnsmkusergroup Thu Jul 18 11:27:39 2013
@@ -119,11 +119,11 @@
args=[options.new_user])['core_return']

if( options.group_permission ):
- group_permissions = roster_client_lib.RunFunction(
+ group_permission_list = roster_client_lib.RunFunction(
u'ListGroupPermissions', options.username,
credfile=options.credfile,
credstring=options.credstring, server_name=options.server)[
'core_return']
- group_permissions_string = '|'.join(group_permissions)
+ group_permissions_string = '|'.join(group_permission_list)

if( command == 'user' ):
if( options.new_user in users ):
@@ -175,9 +175,12 @@
cli_common_lib.DnsError('Group does not exist.', 1)
group_permission_list = None
if( options.group_permission ):
- group_permission_list = []
- for permission in options.group_permission.split(','):
- group_permission_list.append(permission.strip())
+ group_permission_list = [
+ perm.strip().lower() for perm in
options.group_permission.split(',')]
+ for permission in group_permission_list:
+ if( group_permission_list.count(permission) > 1 ):
+ cli_common_lib.DnsError('Duplicate permission found: %s' %
permission,
+ 1)
roster_client_lib.RunFunction(u'MakeReverseRangePermission',
options.username,
credfile=options.credfile,
@@ -200,9 +203,11 @@
cli_common_lib.DnsError('Group does not exist.', 1)
group_permission_list = None
if( options.group_permission ):
- group_permission_list = []
- for permission in options.group_permission.split(','):
- group_permission_list.append(permission.strip())
+ group_permission_list = [
+ perm.strip().lower() for perm in
options.group_permission.split(',')]
+ for permission in group_permission_list:
+ if( group_permission_list.count(permission) > 1 ):
+ cli_common_lib.DnsError('Duplicate permission: %s' % permission,
1)
roster_client_lib.RunFunction(u'MakeForwardZonePermission',
options.username,
credfile=options.credfile,
=======================================
--- /trunk/test/dnsmkusergroup_test.py Wed Jul 10 11:46:10 2013
+++ /trunk/test/dnsmkusergroup_test.py Thu Jul 18 11:27:39 2013
@@ -395,6 +395,22 @@
'USER ERROR: Invalid data type GroupPermission for '
'group_forward_permissions_group_permission: x\n')
output.close()
+ # check duplicate group permission assignment
+ output = os.popen('python %s forward -z test_zone -g testgroup '
+ '--group-permission soa,ns,soa -s %s -u %s -p %s '
+ '--config-file %s' % (EXEC, self.server_name,
USERNAME,
+ PASSWORD, USER_CONFIG))
+ self.assertEqual(output.read(), 'CLIENT ERROR: Duplicate permission:
soa\n')
+ output.close()
+
+ # also check duplicate reverse range group permission
+ output = os.popen('python %s reverse -b 192.168.0.1/24 -g testgroup '
+ '--group-permission soa,ptr,soa -s %s -u %s -p %s '
+ '--config-file %s' % (EXEC, self.server_name,
USERNAME,
+ PASSWORD, USER_CONFIG))
+ self.assertEqual(output.read(),
+ 'CLIENT ERROR: Duplicate permission found: soa\n')
+ output.close()

if( __name__ == '__main__' ):
unittest.main()
Reply all
Reply to author
Forward
0 new messages