;ņ ßAc@s‰dkZdkZedjo$eeiieiddƒƒndklZdkl Z l Z l Z l Z l Z dklZlZlZdklZdklZdkZdkZeiƒZeiieƒeieƒd klZd klZd k l!Z!ei"d ƒdk#Z#dk$Z$d k%Tde#i#e$i&fd„ƒYZ'edjoe(ddddƒndk)Z)d„Z*dS(Ns__main__is framework.py(s ZopeTestCase(saccess_contents_informationsviewsadd_documents_images_and_filesschange_images_and_filessview_management_screens(snewSecurityManagersnoSecurityManagersgetSecurityManager(s Unauthorized(sUnrestrictedUser(s IUserFolder(sGroupUserFolder(sVerifysGroupUserFolder(s*sTestGroupUserFolderAPIcBstZeifZd„Zd„Zd„Zd„Zd„Zd„Z d„Z d„Z d „Z d „Z d „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z!d„Z"d „Z#d!„Z$d"„Z%d#„Z&d$„Z'd%„Z(d&„Z)d'„Z*d(„Z+d)„Z,d*„Z-d+„Z.d,„Z/d-„Z0d.„Z1d/„Z2d0„Z3d1„Z4d2„Z5d3„Z6d4„Z7d5„Z8d6„Z9d7„Z:d8„Z;d9„Z<d:„Z=RS(;NcCs6|it|iidƒ|it|iidƒdS(s; We test that GRUF's API is well protected sacl_users/getGRUFPhysicalRootN(sselfs assertRaisess Unauthorizeds gruf_foldersrestrictedTraverse(sself((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest10GRUFMethods5scCsŃ|iiƒ}ddddddddd d d d d dddddddddddg}|iƒ|iƒx+|D]#}|i||jd|fƒqxWx+|D]#}|i||jd|fƒq¦WdS(Nsg1sg2sg3sg4sng1sng2sng3sng4sng5smanagersu1su2su3su4su5su6su7su8su9su10su11sextranetsintranetscomptas-Invalid users list: '%s' is not in acl_users.s@Invalid users list: '%s' is in acl_users but shouldn't be there.(sselfsgrufs getUserNamessunsusersssortsus failUnless(sselfsunsususers((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_getUserNamesAsN  !cCsŃ|iiƒ}ddddddddd d d d d dddddddddddg}|iƒ|iƒx+|D]#}|i||jd|fƒqxWx+|D]#}|i||jd|fƒq¦WdS(Nsgroup_g1sgroup_g2sgroup_g3sgroup_g4s group_ng1s group_ng2s group_ng3s group_ng4s group_ng5smanagersu1su2su3su4su5su6su7su8su9su10su11sgroup_extranetsgroup_intranets group_comptas-Invalid users list: '%s' is not in acl_users.s@Invalid users list: '%s' is in acl_users but shouldn't be there.(sselfsgrufs getUserIdssunsusersssortsus failUnless(sselfsunsususers((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_getUserIdsRsN  !cCsö|iidƒ}|i|iidjƒ|i|iƒdjƒ|iidƒ}|i|iidjƒ|i|i ƒƒ|i|i ƒdjƒ|iidƒ}|i|iidjƒ|i|i ƒƒ|i|i ƒdjƒdS(Nsu1sGRUFUsersgroup_g1s GRUFGroupsg1( sselfsgrufsgetUsersusrs failUnlesss __class__s__name__s getUserNamesgrpsisGroupsgetId(sselfsusrsgrp((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pys test_getUserbscCsć|iiƒ}td„|ƒ}dddddddd d d d d ddddddddddddg}|iƒ|iƒx+|D]#}|i ||jd|fƒqŠWx+|D]#}|i ||jd|fƒqøWdS(NcCs |iƒS(N(sxsgetId(sx((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystssgroup_g1sgroup_g2sgroup_g3sgroup_g4s group_ng1s group_ng2s group_ng3s group_ng4s group_ng5smanagersu1su2su3su4su5su6su7su8su9su10su11sgroup_extranetsgroup_intranets group_comptas-Invalid users list: '%s' is not in acl_users.s@Invalid users list: '%s' is in acl_users but shouldn't be there.( sselfsgrufsgetUserssobjectssmapsunsusersssortsus failUnless(sselfsuserssobjectssusun((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pys test_getUsersrsN  !cCsĖ|i|iidƒiƒdjƒ|i|iidƒiƒdjƒ|i|iiddtƒtjƒy|iidƒWntj on Xdd‚|i|iidddƒdjƒdS( Nsu1sgroup_g1sg1sdefaultsZORGLUBsAssertionErrors Should raisesbla(sselfs failUnlesssgrufs getUserByIds getUserNamesgetIdsNones ValueError(sself((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_getUserByIdƒs%%% cCsĪ|i|iidƒiƒdjƒ|i|iidƒiƒdjƒ|i|iidtƒiƒdjƒy|iidƒWntj on Xdd‚|i|iidddƒdjƒdS( Nsu1sg1sgroup_g1sZORGLUBsAssertionErrors Should raisesdefaultsbla(sselfs failUnlesssgrufs getUserByNames getUserNamesgetIdsNones ValueError(sself((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_getUserByName‘s%%( c Cs­|iiƒ}ddddddddd d d d g }|iƒ|iƒx+|D]#}|i||jd |fƒqTWx+|D]#}|i||jd|fƒq‚WdS(s2Same as getUserNames() but without groups smanagersu1su2su3su4su5su6su7su8su9su10su11s-Invalid users list: '%s' is not in acl_users.s@Invalid users list: '%s' is in acl_users but shouldn't be there.N(sselfsgrufsgetPureUserNamessunsusersssortsus failUnless(sselfsunsususers((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_getPureUserNames¢s*  !c Cs­|iiƒ}ddddddddd d d d g }|iƒ|iƒx+|D]#}|i||jd |fƒqTWx+|D]#}|i||jd|fƒq‚WdS(s0Same as getUserIds() but without groups smanagersu1su2su3su4su5su6su7su8su9su10su11s-Invalid users list: '%s' is not in acl_users.s@Invalid users list: '%s' is in acl_users but shouldn't be there.N(sselfsgrufsgetPureUserIdssunsusersssortsus failUnless(sselfsunsususers((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_getPureUserIds±s*  !c Csæddddddddd d d d g }|iiƒ}td „|ƒ}|iƒ|iƒx+|D]#}|i ||jd|fƒqfWx+|D]#}|i ||jd|fƒq”WdS(s/Same as getUsers() but without groups. smanagersu1su2su3su4su5su6su7su8su9su10su11cCs |iƒS(N(sxsgetId(sx((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pysÉss-Invalid users list: '%s' is not in acl_users.s@Invalid users list: '%s' is in acl_users but shouldn't be there.N( suserssselfsgrufs getPureUserssobjectssmapsunssortsus failUnless(sselfsuserssobjectssusun((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_getPureUsersĄs*  !cCs¢|iidƒ}|i|ƒ|iidƒ}|i| ƒ|iidƒ}|i| ƒ|iidƒ}|i| ƒ|iidƒ}|i|ƒdS(Nsu1sg1sgroup_g1sgroup_u1su4(sselfsgrufs getPureUsersus failUnless(sselfsu((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_getPureUserŅs c Cs­|iiƒ}ddddddddd d d d g }|iƒ|iƒx+|D]#}|i||jd |fƒqTWx+|D]#}|i||jd|fƒq‚WdS(s7Same as getUserNames() but without pure users. sg1sg2sg3sg4sng1sng2sng3sng4sng5sextranetsintranetscomptas-Invalid users list: '%s' is not in acl_users.s@Invalid users list: '%s' is in acl_users but shouldn't be there.N(sselfsgrufs getGroupNamessunsusersssortsus failUnless(sselfsunsususers((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_getGroupNamesąs*  !c Cs­|iiƒ}ddddddddd d d d g }|iƒ|iƒx+|D]#}|i||jd |fƒqTWx+|D]#}|i||jd|fƒq‚WdS(Nsgroup_g1sgroup_g2sgroup_g3sgroup_g4s group_ng1s group_ng2s group_ng3s group_ng4s group_ng5sgroup_extranetsgroup_intranets group_comptas-Invalid users list: '%s' is not in acl_users.s@Invalid users list: '%s' is in acl_users but shouldn't be there.(sselfsgrufs getGroupIdssunsusersssortsus failUnless(sselfsunsususers((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_getGroupIdsšs*  !c Csæ|iiƒ}td„|ƒ}dddddddd d d d d g }|iƒ|iƒx+|D]#}|i ||jd|fƒqfWx+|D]#}|i ||jd|fƒq”WdS(NcCs |iƒS(N(sxsgetId(sx((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pysssgroup_g1sgroup_g2sgroup_g3sgroup_g4s group_ng1s group_ng2s group_ng3s group_ng4s group_ng5sgroup_extranetsgroup_intranets group_comptas-Invalid users list: '%s' is not in acl_users.s@Invalid users list: '%s' is in acl_users but shouldn't be there.( sselfsgrufs getGroupssobjectssmapsunsusersssortsus failUnless(sselfsuserssobjectssusun((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_getGroups’s*  !cCsÄ|iidƒ}|i|iidjƒ|i|iƒdjƒ|iidƒ}|i|iƒƒ|i|iƒdjƒ|i|iidjƒ|iidƒ}|i|t jƒdS(Nsg1s GRUFGroupsgroup_g1su1( sselfsgrufsgetGroupsgrps failUnlesss __class__s__name__sgetIdsisGroupsusrsNone(sselfsusrsgrp((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pys test_getGroupscCsŻ|iidƒ}|i|iƒdjƒ|iiddtƒ}|i|tjƒ|iiddtƒ}|i|tjƒy|iidƒWntj on Xdd‚|i|iidddƒdjƒdS( Nsgroup_g1sg1sdefaultsu1sZORGLUBsAssertionErrors Should raisesbla(sselfsgrufs getGroupByIdsgrps failUnlesssgetIdsNones ValueError(sselfsgrp((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_getGroupByIds cCsŻ|iidƒ}|i|iƒdjƒ|iiddtƒ}|i|iƒdjƒ|i|iiddtƒtjƒy|iidƒWntj on Xdd‚|i|iidddƒdjƒdS( Nsg1sgroup_g1sdefaultsu1sZORGLUBsAssertionErrors Should raisesbla(sselfsgrufsgetGroupByNamesgrps failUnlesssgetIdsNones ValueError(sselfsgrp((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_getGroupByName1s% c CsŸ|iidddddgdgƒ|i|iidƒƒ|iidddddgdgƒ|i|iidƒƒ|i|iidƒiƒƒdS(Nsnames created_userspasswordssecretsrolessgroupssgroup_test_prefix(sselfsgrufsuserFolderAddUsers failUnlesssgetUsersfailIfsisGroup(sself((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_userFolderAddUserFs  c CsE|iiddddddgddgƒ|itddgƒdS( Nsnamesu1spasswordssecret2srolessr1sgroupssg1(sselfsgrufsuserFolderEditUsers compareRolessNone(sself((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_userFolderEditUserWs   c Cs[|iidddddgdgƒ|iidgƒ|i|iidƒtjƒdS(Nsnames created_userspasswordssecretsrolessgroups(sselfsgrufsuserFolderAddUsersuserFolderDelUserss failUnlesssgetUsersNone(sself((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_userFolderDelUsers`s  cCsµ|iidddgdgƒ|i|iidƒƒ|iidddgdgƒ|i|iidƒƒ|i|iidƒiƒƒ|i|iidtƒtjƒdS(Nsnames created_groupsrolessgroupssgroup_test_prefixsgroup_group_test_prefix(sselfsgrufsuserFolderAddGroups failUnlesssgetGroupsisGroups getGroupByIdsNone(sself((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_userFolderAddGroupjs  cCs÷|iidddgdgƒ|iiddddgddgƒ|itddgƒ|id|iidƒiƒj|iidƒiƒƒ|iiddddgddgƒ|id|iidƒiƒj|iidƒiƒƒdS( Nsnames created_groupsrolessgroupssr1sgroup_g1sg1sg2( sselfsgrufsuserFolderAddGroupsuserFolderEditGroups compareRolessNones failUnlesssgetGroupByNamesgetAllGroupNames(sself((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_userFolderEditGroup|s   !  !cCsU|iidddgdgƒ|iidgƒ|i|iidƒtjƒdS(Nsnames created_groupsrolessgroups(sselfsgrufsuserFolderAddGroupsuserFolderDelGroupss failUnlesssgetGroupsNone(sself((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_userFolderDelGroups–s  cCs\|iidddgƒ|itdddgƒ|iidgƒ|itdgƒdS(Nsu1sr1sr2(sselfsgrufs userSetRoless compareRolessNone(sself((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_userSetRoles¢scCsC|iiddƒ|iiddƒ|itdddgƒdS(Nsu1sr1sr2(sselfsgrufs userAddRoles compareRolessNone(sself((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_userAddRoleØscCs_|iidddgƒ|itdddgƒ|iiddƒ|itddgƒdS(s'Remove the role of a user atom su1sr1sr2N(sselfsgrufs userSetRoless compareRolessNonesuserRemoveRole(sself((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_userRemoveRole­s cCs|iidƒ}|i|iidd|iiƒƒ|iiddƒ|iidƒ}|i|iidd|iiƒ ƒ|i|iidd|iiƒƒy|iiddƒWnt j on Xdd‚y|iiddƒWnt j on Xdd‚dS( s#Test user password setting su1ssecretsbloubsg1sAssertionErrors Should raisesgroup_g1N( sselfsgrufsgetUsersusers failUnlesss authenticatesappsREQUESTsuserSetPasswords ValueError(sselfsuser((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_userSetPasswordµs"%&% cCsdS(sN((sself((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_userGetDomainsČscCsŽ|iidƒ}|i|iidƒ ƒ|iiddddgƒ|i|iidƒdddfjƒ|iidgƒ|i|iidƒfjƒ|iiddgƒ|i|iidƒdfjƒdS(ssu1sd1sd2sd3sxxxN(sselfsgrufsgetUsersus failUnlesssuserGetDomainssuserSetDomains(sselfsu((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_userSetDomainsĖs(cCsdS(sN((sself((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_userAddDomainÖscCsdS(sN((sself((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_userRemoveDomainŁscCsu|iidddddgƒ|iidddgƒ|idddgƒ|iidgƒ|idgƒdS(Nsnames created_userspasswordssecretsgroupssg1sg2(sselfsgrufsuserFolderAddUsers userSetGroupss compareGroups(sself((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_userSetGroupsÜs cCsO|iiddddddgƒ|iiddƒ|idddgƒdS(Nsnames created_userspasswordssecretsgroupssg2sg1(sselfsgrufsuserFolderAddUsers userAddGroups compareGroups(sself((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_userAddGroupčs  cCsO|iidddddddgƒ|iiddƒ|iddgƒdS( s(Remove the group of a user atom snames created_userspasswordssecretsgroupssg2sg1N(sselfsgrufsuserFolderAddUsersuserRemoveGroups compareGroups(sself((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_userRemoveGroupņs cCs |it|iiddƒdS(Nsasb(sselfsfailUnlessRaisessNotImplementedErrorsgrufssearchUsersByAttribute(sself((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_searchUsersByAttributes  c Cs|i|iidƒdgƒ|i|iidƒdgƒ|iidƒ}|iƒ|i|ddddddd d d d d g ƒdS(Nsu3sU3sUsu1su10su11su2su4su5su6su7su8su9(sselfsfailUnlessEqualsgrufssearchUsersByNamessssort(sselfss((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_searchUsersByName s    c Cs|i|iidƒdgƒ|i|iidƒdgƒ|iidƒ}|iƒ|i|ddddddd d d d d g ƒdS(Nsu3sU3sUsu1su10su11su2su4su5su6su7su8su9(sselfsfailUnlessEqualsgrufssearchUsersByIdssssort(sselfss((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_searchUsersByIds    cCs |it|iiddƒdS(Nsasb(sselfsfailUnlessRaisessNotImplementedErrorsgrufssearchGroupsByAttribute(sself((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_searchGroupsByAttribute3s  cCsš|iidƒ}|iƒ|i|ddgƒ|iidƒ}|iƒ|i|ddgƒ|iidƒ}|iƒ|i|ddgƒdS(Nsg3sgroup_g3s group_ng3s1sgroup_g1s group_ng1(sselfsgrufssearchGroupsByNameslstssortsfailUnlessEqualss(sselfssslst((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_searchGroupsByName<s        cCst|i|iidƒdgƒ|i|iidƒdgƒ|iidƒ}|iƒ|i|ddgƒdS(Nsg5s group_ng5sG5sG1sgroup_g1s group_ng1(sselfsfailUnlessEqualsgrufssearchGroupsByIdssssort(sselfss((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_searchGroupsByIdUs    cCs£|iidddgddgƒ|itddddgƒ|itddddgƒ|iigdgƒ|itddddgƒ|itdgƒdS(s=Set a common set of roles for a bunch of user atoms. sr1sr2sr3su1su2N(sselfsgrufssetRolesOnUserss compareRolessNone(sself((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_setRolesOnUsersls"cCs^|iidddgddgƒ|itddddgƒ|itddddgƒdS(s,Same as test_setRolesOnUsers but with groupssr1sr2sr3sg1sg2N(sselfsgrufssetRolesOnUserss compareRolessNone(sself((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_setRolesOnGroupsvs"c Csyddddddddd d d d d g }|iƒt|iidƒƒ}|iƒ|i||j||fƒdS(Ns group_ng2s group_ng3s group_ng4s group_ng5su9su5su4su7su6su11su10sgroup_g3sgroup_g4sr2(s should_bessortslistsselfsgrufsgetUsersOfRolesuserss failUnless(sselfsuserss should_be((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_getUsersOfRole|s -  cCs2|id|iidƒj|iidƒƒdS(Nsr1su3(sselfs failUnlesssgrufsgetRolesOfUser(sself((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_getRolesOfUserscCs^ddddddddg}|iƒt|iiƒƒ}|iƒ|i||jƒd S( s% Test existing roles s Anonymouss AuthenticatedsManagersOwnersr1sr2sr3s test_role_1_N(s should_bessortslistsselfsgrufsuserFolderGetRolessroless failUnless(sselfsroless should_be((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_userFolderGetRoles“s   cCs0|iidƒ|id|iiƒjƒdS(Nsr9(sselfsgrufsuserFolderAddRoles failUnlesssuserFolderGetRoles(sself((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_userFolderAddRole¦scCså|iidƒ|id|iiƒjƒ|iiddƒ|iiddƒ|id|iidƒjƒ|id|iidƒjƒ|iidgƒ|id|iidƒjƒ|id|iidƒjƒdS(sĄDelete roles. The removed roles will be removed from the UserFolder's users and groups as well, so this method can be very time consuming with a large number of users. sr9sg2su1su4N(sselfsgrufsuserFolderAddRoles failUnlesssuserFolderGetRoless userAddRolesgetRolesOfUsersuserFolderDelRoles(sself((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_userFolderDelRoles¬scCsdS(s%Set the members of the group N((sself((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_setMembersŹsc Cspddddddddd d g }|iƒt|iid ƒƒ}|iƒ|i||j||fƒdS( Ns group_ng2s group_ng3s group_ng4s group_ng5su9su5su4su6su11su10sg3(s should_bessortslistsselfsgrufs getMemberIdssuserss failUnless(sselfsuserss should_be((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_getMemberIdsĪs $  cCsdddddddg}|iƒt|iidƒƒ}|iƒ|i||j||fƒdS( sThis tests nested groupssu9su5su4su6su11su10sg3N(s should_bessortslistsselfsgrufsgetUserMemberIdssuserss failUnless(sselfsuserss should_be((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_getUserMemberIdsįs   cCs^ddddg}|iƒt|iidƒƒ}|iƒ|i||j||fƒdS(Ns group_ng2s group_ng3s group_ng4s group_ng5sg3(s should_bessortslistsselfsgrufsgetGroupMemberIdssuserss failUnless(sselfsuserss should_be((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_getGroupMemberIdsšs   cCsU|id|iidƒjƒ|iiddƒ|id|iidƒjƒdS(s Add a member to a group su1sng3N(sselfs failUnlesssgrufs getMemberIdss addMember(sself((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_addMemberżscCs‡|id|iidƒjƒ|iiddƒ|id|iidƒjƒ|iiddƒ|id|iidƒjƒdS(s%Remove a member from a group su1sng3N(sselfs failUnlesssgrufs getMemberIdss addMembers removeMember(sself((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_removeMembers cCsÖ|i|iiddƒ ƒ|i|iiddƒ ƒ|iiddƒ|i|iiddƒƒ|i|iiddƒƒ|iiddƒ|i|iiddƒ ƒ|i|iiddƒ ƒdS(Nsng3su1s group_ng3(sselfs failUnlesssgrufs hasMembers addMembers removeMember(sself((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_hasMemberscCsZ|iidƒ}|i|iƒdjƒ|iidƒ}|i|iƒdjƒdS(s"Test group id without group prefixs group_ng2sng2su1N(sselfsgrufsgetUsersgs failUnlesss getRealIdsu(sselfsusg((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_getRealIds cCsŠ|i|i|iddfƒƒ|i|i|iddddfƒƒ|i|i|iddddfƒƒ|i|i|iddfƒƒ|i|i|iddddfƒƒ|i|i|iddddfƒƒ|ii|idƒ|i|i|idfƒƒ|i|i|idddfƒƒ|i|i|idddfƒƒ|i|i|idfƒƒ|i|i|idddfƒƒ|i|i|idddfƒƒdS( s¬ We block LR acquisition on sublr2. See GRUFTestCase to understand what happens (basically, roles in brackets will be removed from sublr2). su2sr3su3sr1sr2su6iN(sselfs failUnlesss compareRolesssublr2s subsublr2sgrufs_acquireLocalRoles(sself((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_acquireLocalRoles%s"(("((%%%cCs@|ii|idƒ|i|ii|iƒ ƒ|i|ii|iƒƒ|ii|idƒ|i|ii|iƒ ƒ|i|ii|iƒ ƒ|ii|idƒ|i|ii|iƒƒ|i|ii|iƒ ƒ|ii|idƒ|i|ii|iƒƒ|i|ii|iƒƒdS(Nii(sselfsgrufs_acquireLocalRolesssublr2s failUnlesssisLocalRoleAcquireds subsublr2(sself((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_isLocalRoleAcquired=scCsÓhddg<dddg<ddg<dddg<}hddg<ddg<ddg<}|i}|ii|ƒ}|i||ƒ|i}|ii |dƒ|ii|ƒ}|i||ƒdS( Nsgroup_g1sr3su6sr2s test_user_1_sOwnersu3i( snormal_allowedsblocked_allowedsselfssublr2sobsgrufs_getAllLocalRolessallowedsfailUnlessEquals_acquireLocalRoles(sselfsallowedsnormal_allowedsblocked_allowedsob((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pystest_getAllLocalRolesNs<*  (>s__name__s __module__sGroupUserFoldersklassesstest10GRUFMethodsstest_getUserNamesstest_getUserIdss test_getUsers test_getUsersstest_getUserByIdstest_getUserByNamestest_getPureUserNamesstest_getPureUserIdsstest_getPureUsersstest_getPureUserstest_getGroupNamesstest_getGroupIdsstest_getGroupss test_getGroupstest_getGroupByIdstest_getGroupByNamestest_userFolderAddUserstest_userFolderEditUserstest_userFolderDelUsersstest_userFolderAddGroupstest_userFolderEditGroupstest_userFolderDelGroupsstest_userSetRolesstest_userAddRolestest_userRemoveRolestest_userSetPasswordstest_userGetDomainsstest_userSetDomainsstest_userAddDomainstest_userRemoveDomainstest_userSetGroupsstest_userAddGroupstest_userRemoveGroupstest_searchUsersByAttributestest_searchUsersByNamestest_searchUsersByIdstest_searchGroupsByAttributestest_searchGroupsByNamestest_searchGroupsByIdstest_setRolesOnUsersstest_setRolesOnGroupsstest_getUsersOfRolestest_getRolesOfUserstest_userFolderGetRolesstest_userFolderAddRolestest_userFolderDelRolesstest_setMembersstest_getMemberIdsstest_getUserMemberIdsstest_getGroupMemberIdsstest_addMemberstest_removeMemberstest_hasMemberstest_getRealIdstest_acquireLocalRolesstest_isLocalRoleAcquiredstest_getAllLocalRoles(((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pysTestGroupUserFolderAPI.sv                                            s descriptionsis verbositycCs*tiƒ}|ititƒƒ|SdS(N(sunittests TestSuitessuitesaddTests makeSuitesTestGroupUserFolderAPI(ssuite((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pys test_suitels (+sosssyss__name__sexecfilespathsjoinsTestings ZopeTestCasesAccessControl.Permissionssaccess_contents_informationsviewsadd_documents_images_and_filesschange_images_and_filessview_management_screenss AccessControl.SecurityManagementsnewSecurityManagersnoSecurityManagersgetSecurityManagers AccessControls UnauthorizedsAccessControl.UsersUnrestrictedUsersurllibsstringsappsutilsssetupSiteErrorLogscloses#Products.GroupUserFolder.interfacess IUserFoldersProducts.GroupUserFoldersGroupUserFolders InterfacesVerifysinstallProducts GRUFTestCases testInterfacesLogs TestInterfacesTestGroupUserFolderAPIs frameworksunittests test_suite(saccess_contents_informationsnoSecurityManagersapps ZopeTestCasesurllibsVerifysunittestsview_management_screenssGroupUserFolderschange_images_and_filessstrings UnauthorizedsnewSecurityManagersUnrestrictedUserssyss IUserFoldersTestGroupUserFolderAPIsgetSecurityManagersadd_documents_images_and_filess testInterfaces test_suites GRUFTestCasesossview((s`/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/tests/testGroupUserFolderAPI.pys?s6 $ %            ’’’=