[Zope-Checkins] CVS: Zope3/lib/python/Zope/App/Security/Grants/Views/Browser/tests - testRolePermissionView.py:1.3
Florent Guillaume
fg@nuxeo.com
Tue, 25 Jun 2002 06:30:25 -0400
Update of /cvs-repository/Zope3/lib/python/Zope/App/Security/Grants/Views/Browser/tests
In directory cvs.zope.org:/tmp/cvs-serv18043/tests
Modified Files:
testRolePermissionView.py
Log Message:
Fix RolePermissions and PermissionRoles views. Split and fix tests.
The Role/Permission management screen should now be useable (if
not pretty).
=== Zope3/lib/python/Zope/App/Security/Grants/Views/Browser/tests/testRolePermissionView.py 1.2 => 1.3 ===
del titles[i]
- def testGrantDenyUnset(self):
+ def testMatrix(self):
roles = self.view.roles()
permissions = self.view.permissions()
@@ -113,82 +113,59 @@
else:
self.failUnless(setting == 'Unset')
-
+ def testPermissionRoles(self):
self.view.update_permission(REQUEST=None,
permission_id='write',
- roles=['member'],
+ settings=['Allow', 'Unset'],
testing=1)
-
permission = self.view.permissionForID('write')
- self.assertEquals(
- [r['id']
- for r in permission.rolesInfo()
- if r['checked']],
- ['member'])
-
- self.view.update_permission(REQUEST=None,
- permission_id='write',
- # roles=[], roles attr omitted
- testing=1)
+ settings = permission.roleSettings()
+ self.assertEquals(settings, ['Allow', 'Unset'])
- permission = self.view.permissionForID('write')
- self.assertEquals(
- [r['id']
- for r in permission.rolesInfo()
- if r['checked']],
- [])
self.view.update_permission(REQUEST=None,
permission_id='write',
- roles=['manager','member'],
+ settings=['Unset', 'Deny'],
testing=1)
-
permission = self.view.permissionForID('write')
- result = [r['id']
- for r in permission.rolesInfo()
- if r['checked']]
- what_result_should_be = ['manager','member']
- result.sort()
- what_result_should_be.sort()
- self.assertEquals(
- result,
- what_result_should_be
- )
+ settings = permission.roleSettings()
+ self.assertEquals(settings, ['Unset', 'Deny'])
- self.view.update_role(REQUEST=None,
+ self.assertRaises(ValueError,
+ self.view.update_permission,
+ REQUEST=None,
+ permission_id='write',
+ settings=['Unset', 'foo'],
+ testing=1)
+
+ def testRolePermissions(self):
+ REQ={'Allow': ['read'],
+ 'Deny': ['write']}
+ self.view.update_role(REQUEST=REQ,
role_id='member',
- permissions=['write','read'],
testing=1)
-
role = self.view.roleForID('member')
- result = [r['id']
- for r in role.permissionsInfo()
- if r['checked']]
- what_result_should_be = ['write','read']
- result.sort()
- what_result_should_be.sort()
- self.assertEquals(
- result,
- what_result_should_be
- )
-
- self.view.update_role(REQUEST=None,
+ pinfos = role.permissionsInfo()
+ for pinfo in pinfos:
+ pid = pinfo['id']
+ if pid == 'read':
+ self.assertEquals(pinfo['setting'], 'Allow')
+ if pid == 'write':
+ self.assertEquals(pinfo['setting'], 'Deny')
+
+ REQ={'Allow': [],
+ 'Deny': ['read']}
+ self.view.update_role(REQUEST=REQ,
role_id='member',
- # omitted attribute permissions,
testing=1)
-
role = self.view.roleForID('member')
- result = [r['id']
- for r in role.permissionsInfo()
- if r['checked']]
- what_result_should_be = []
- result.sort()
- what_result_should_be.sort()
- self.assertEquals(
- result,
- what_result_should_be
- )
-
+ pinfos = role.permissionsInfo()
+ for pinfo in pinfos:
+ pid = pinfo['id']
+ if pid == 'read':
+ self.assertEquals(pinfo['setting'], 'Deny')
+ if pid == 'write':
+ self.assertEquals(pinfo['setting'], 'Unset')
def test_suite():