m #Ec@sdZdkZdklZdkZeidklZdkl Z dk l Z dk l Z dk lZdklZlZd klZd klZd klZd efd YZe ed efdYZe edefdYZe edefdYZe edeifdYZdefdYZdefdYZ defdYZ!dZ"e#djoei$ddndS(sTests demonstrating consequences of guarded_getattr fix from 2004/08/07 http://mail.zope.org/pipermail/zope-checkins/2004-August/028152.html http://zope.org/Collectors/CMF/259 N(s makerequest(s SimpleItem(sInitializeClass(sClassSecurityInfo(snewSecurityManager(snoSecurityManager(sviewsview_management_screens(sguarded_getattr(s SiteErrorLogt AllowedItemcBs$tZdZeZeidRS(Ntallowedtallow(t__name__t __module__tidtClassSecurityInfotsecuritytsetDefaultAccess(((tB/data/zmath/zope/lib/python/AccessControl/tests/testAcquisition.pyR&s t DeniedItemcBs$tZdZeZeidRS(Ntdeniedtdeny(RRRRRR(((R R -s t ProtectedItemcBs$tZdZeZeieRS(Nt protected(RRRRRtdeclareObjectProtectedtview_management_screens(((R R 4s tProtectedSiteErrorLogcBs*tZdZdZeZeieRS(sSThis differs from the base by declaring security for the object itself. t error_log2(RRt__doc__RRRRtview(((R R;s  t TestGetAttrcBstZdZdZdZdZdZdZdZdZ d Z d Z d Z d Z d ZdZdZdZdZdZdZdZdZRS(NcCs1dk}t|_|iitti|_y|ii |_ |i i dddgg|i d|ii d|iidt|iidddd d d |ii d |ii|_|iid t|iidt|iidtWn|inXdS(NtmanagertsecrettManagert plain_folderRRt simple_typettypetstringtvaluesa stringt subfolderRR R(t transactiontguarded_getattr_pytselftguarded_getattrRtbegint makerequesttZope2tappt acl_userstuft _doAddUsertlogintmanage_addFoldert _setObjectRtmanage_addPropertyRtfolderRR R ttearDown(R!R((R tsetUpHs&     cCs7dk}t|iii|iiidS(N( RtnoSecurityManagerRtgettabortR!R&t_p_jartclose(R!R((R R/fs cCs5|ii|}|i|i}td|dS(N(R!R(t getUserByIdtnametusert__of__tnewSecurityManagertNone(R!R7R8((R R*lscCs2|i|iid}|i||iidS(NR(R!R"R.Rtot assertEqualR&R(R!R<((R ttestFolderAllowedsscCs2|i|iid}|i||iidS(NR(R!R"R.R R<R=R&R(R!R<((R ttestFolderDeniedwscCs2|i|iid}|i||iidS(NR(R!R"R.RR<R=R&R(R!R<((R ttestFolderProtected{scCs2|i|iid}|i||iidS(NR'(R!R"R.RR<R=R&R'(R!R<((R ttestAclUsersAllowedscCs2|i|iid}|i||iidS(NR'(R!R"R.R R<R=R&R'(R!R<((R ttestAclUsersDeniedscCs2|i|iid}|i||iidS(NR'(R!R"R.RR<R=R&R'(R!R<((R ttestAclUsersProtectedscCs2|i|iid}|i||iidS(Ntbrowser_id_manager(R!R"R.RR<R=R&RD(R!R<((R ttestBrowserIdManagerAllowedscCs2|i|iid}|i||iidS(NRD(R!R"R.R R<R=R&RD(R!R<((R ttestBrowserIdManagerDeniedscCs2|i|iid}|i||iidS(NRD(R!R"R.RR<R=R&RD(R!R<((R ttestBrowserIdManagerProtectedscCs2|i|iid}|i||iidS(Nt error_log(R!R"R.RR<R=R&RH(R!R<((R ttestErrorLogAllowedscCs2|i|iid}|i||iidS(NRH(R!R"R.R R<R=R&RH(R!R<((R ttestErrorLogDeniedscCs2|i|iid}|i||iidS(NRH(R!R"R.RR<R=R&RH(R!R<((R ttestErrorLogProtectedscCs2|i|iid}|i||iidS(NR(R!R"R.RR<R=R&R(R!R<((R ttestProtectedErrorLogAllowedscCs2|i|iid}|i||iidS(NR(R!R"R.R R<R=R&R(R!R<((R ttestProtectedErrorLogDeniedscCs2|i|iid}|i||iidS(NR(R!R"R.RR<R=R&R(R!R<((R ttestProtectedErrorLogProtectedscCs,|i|iid}|i|ddS(NRsa string(R!R"R.RR<R=(R!R<((R ttestSimpleTypeAllowedscCs,|i|iid}|i|ddS(NRsa string(R!R"R.R R<R=(R!R<((R ttestSimpleTypeDeniedscCs,|i|iid}|i|ddS(NRsa string(R!R"R.RR<R=(R!R<((R ttestSimpleTypeProtecteds(RRR0R/R*R>R?R@RARBRCRERFRGRIRJRKRLRMRNRORPRQ(((R RFs*                    tTestGetAttrAnonymouscBstZdZRS(NcCsti|tdS(N(RR0R!R1(R!((R R0s (RRR0(((R RRst TestGetAttr_ccBstZdZRS(NcCsti|t|_dS(N(RR0R!tguarded_getattr_cR"(R!((R R0s (RRR0(((R RSstTestGetAttrAnonymous_ccBstZdZRS(NcCsti|t|_dS(N(RRR0R!RTR"(R!((R R0s (RRR0(((R RUscCshti}|itit|itit|itit|itit|S(N( tunittestt TestSuitetsuitetaddTestt makeSuiteRRRRSRU(RX((R t test_suites  t__main__t defaultTestR[(%RRVtTesting.makerequestR$R%tstartuptOFS.SimpleItemt SimpleItemtGlobalstInitializeClasst AccessControlRt AccessControl.SecurityManagementR:R1tAccessControl.PermissionsRRtAccessControl.ImplPythonR"R tAccessControl.ImplCRTt"Products.SiteErrorLog.SiteErrorLogt SiteErrorLogRR R RtTestCaseRRRRSRUR[Rtmain(R1RVRRTR RSRURRRRR:RRcRaR%R$R RjRR R[R((R t?s8