mς #αΈEc@sΊdkZdkZdkZdkZdkZdkZdkZdkZ ei i ƒZ d„Z e e _ dfd„ƒYZ e ƒZe iiZe iiZdeifd„ƒYZdS(NcCsdS(t sThis is index_html.N((((tG/data/zmath/zope/lib/python/AccessControl/securitySuite/SecurityBase.pyt index_htmlstBoboApplicationcBstZdd„ZRS(NcCstS(N(tapp(tselftrequesttname((Rt__bobo_traverse__s(t__name__t __module__tNoneR(((RRst SecurityBasecBswtZdZeideiƒZd„Zd„Zd„Z fd„Z d„Z d„Z d„Z d „Zd „ZRS( si Base class for all security tests $Id: SecurityBase.py 40218 2005-11-18 14:39:19Z andreasjung $ sStatus: ([0-9]{1,4}) (.*)cCs|id|iiƒdS(s/ print all test objects, permissions and roles trootN(Rt_PrintTestEnvironmentR ttest(R((Rt_testHierarchy4scCsΎdt|iƒƒG|iƒGHg}xt|iƒD]f\}}|iddgjo|i |ƒq2ddt|iƒƒG|iƒGt |ddƒGHq2Wx|D]}|i|ƒq£WdS( s print recursive all objects s....tFoldert TestFolders it __roles__N(N(tlenR tgetPhysicalPathtgetIdt folderObjst objectItemstidtobjt meta_typetappendtgetattrR tfolderRR(RR RRRR((RR9s "cCsXd|}t|ƒ}|i||ƒ}||jot |i ||||ƒ‚ndS(s% permission check on an objects for a given user. -- 'user' is a user object as returned from a user folder -- 'hier' is the path to the object in the notation 'f1.f2.f3.obj' -- 'perm' is a permission name -- 'expected' is either 0 or 1 s self.root.%sN( thiertstevalRtuserthas_permissiontpermtrestexpectedtAssertionErrorRt _perm_debug(RR"RR$R&RR%R ((Rt_checkPermissionQs    c Csd|}t|ƒ}d}|djp |djoN|djpt|ƒdjo*|djpt|ƒdjo d}qέnZh}x|D]}d||