mò 0á¸Ec@s¼dZdkZdkZedjo$eeiieiddƒƒndklZdk l Z dk l Z dk lZdkZd ZeiZd „Zd klZd klZd efd„ƒYZdefd„ƒYZdefd„ƒYZdeifd„ƒYZdklZdefd„ƒYZdeifd„ƒYZdeifd„ƒYZ deifd„ƒYZ!de!fd„ƒYZ"d „Z#edjo e$ƒndS(!s9Tests the PortalTestCase NOTE: This is *not* an example TestCase. Do not use this file as a blueprint for your own tests! See testPythonScript.py and testShoppingCart.py for example test cases. See testSkeleton.py for a quick way of getting started. $Id: testPortalTestCase.py 30565 2005-05-30 22:07:11Z shh $ Nt__main__is framework.py(s ZopeTestCase(saq_base(sgetSecurityManager(sListTypetdummy_1_cCstt|ƒ|ƒS(N(thasattrtaq_basetobtattr(RR((tF/data/zmath/zope/lib/python/Testing/ZopeTestCase/testPortalTestCase.pythasattr_)s(s SimpleItem(sFoldert DummyPortalcBs#tZd„Zd„Zd„ZRS(NcCsC||_|idƒ|idtƒƒ|idƒg|_dS(NtMembertportal_membershiptMembers(tidtselft_addRolet _setObjecttDummyMembershipTooltmanage_addFoldert_called(R R ((Rt__init__3s    cCs|iidƒdS(NtclearCurrentSkin(R Rtappend(R ((RR9scCs|iidƒdS(NtsetupCurrentSkin(R RR(R ((RR;s(t__name__t __module__RRR(((RR2s  RcBs)tZdZd„Zd„Zd„ZRS(NR cCs g|_dS(N(R R(R ((RR@scCs0|iidƒ|ii}|ii|ƒdS(NtcreateMemberarea( R RRtaq_innert aq_parenttportalR Rt member_id(R RR((RRBs cCs|ii}t|i|ƒS(N(R RRRtgetattrR R(R RR((Rt getHomeFolderFs (RRR RRR(((RR>s  tNewMembershipToolcBstZd„ZRS(NcCs0|iidƒ|ii}|ii|ƒdS(NtcreateMemberArea( R RRRRRR RR(R RR((RR!Ks (RRR!(((RR JstTestPortalTestCasecBs^tZdZeiiZeiiZd„Z d„Zd„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&e'd „Z(e'd!„Z)d"„Z*RS(#s.Incrementally exercise the PortalTestCase API.cCs)|iitttƒƒt|itƒS(N(R tappRt portal_nameRR(R ((Rt getPortalWscCsg|_tiƒdS(N(R Rt transactiontbegin(R ((RtsetUp\s cCs|iidƒdS(Nt beforeSetUp(R RR(R ((RR)cscCs|iidƒdS(Nt afterSetUp(R RR(R ((RR*fscCs|iidƒdS(NtbeforeTearDown(R RR(R ((RR+iscCs|iidƒdS(Nt beforeClose(R RR(R ((RR,lscCs|iidƒdS(Nt afterClear(R RR(R ((RR-oscCs‰|iƒ|_|iƒ|_|it|itƒƒ|it|idƒƒ|it|idƒƒ|id|iiƒjƒdS(NR R R ( R t_appR#t_portalRt failUnlessRR$tuserdefined_roles(R ((Rttest_getPortalrs cCsh|iƒ|_|iƒ|_|it|idƒƒ|iƒ|it|idƒƒ|iƒdS(Nt acl_users( R R.R#R/RtfailIfRt_setupUserFolderR0(R ((Rttest_setupUserFolder{s  cCs‡|iƒ|_|iƒ|_|iƒ|iƒ|iiit ƒ}|i |ƒ|i |i ƒdƒ|i t|iƒtƒdS(NR t Authenticated(sMemberR7(R R.R#R/RR5t _setupUserR3t getUserByIdt user_nametacl_userR0t assertEqualtgetRolesttypetrolestListType(R R;((Rttest_setupUser…s   cCsÖ|iƒ|_|iƒ|_|iƒ|iƒ|iƒ|iƒ|i t |ii t ƒƒ|i |idjƒy|iiƒ}Wn(tj o|iiddƒ}nX|i|tdgt fƒdS(NtinfoiR3(R R.R#R/RR5R8tlogint_setupHomeFolderR0RR R:R4tfoldertNonet getOwnerTuplet owner_infotAttributeErrortgetOwnerR<R$(R RH((Rttest_setupHomeFolders    cCsH|iƒ|_|iƒ|_|iƒ|i|iiddgƒdS(NRR(R R.R#R/Rt_refreshSkinDataR<R(R ((Rttest_refreshSkinData s cCst|iƒ|_|iƒ|_|iƒ|iƒddg}|i|ƒ|ii i t ƒ}|i ||ƒdS(NtManagerR (R R.R#R/RR5R8t test_rolestsetRolesR3R9R:R;tassertRolesOfUser(R ROR;((Rt test_setRoles§s    cCsx|iƒ|_|iƒ|_|iƒ|iƒ|iƒddg}|i |ƒt ƒi ƒ}|i ||ƒdS(NRNR (R R.R#R/RR5R8RCRORPtgetSecurityManagertgetUsert auth_userRQ(R RURO((Rttest_setRoles_2²s     cCs‰|iƒ|_|iƒ|_|iƒ|iiiddggƒddg}|i |dƒ|iii dƒ}|i ||ƒdS(Ntuser_2tsecretRNR ( R R.R#R/RR5R3tuserFolderAddUserRORPR9R;RQ(R ROR;((Rttest_setRoles_3¾s  cCsz|iƒ|_|iƒ|_|iƒ|iƒddg}|it |ƒƒ|ii i t ƒ}|i||ƒdS(NRNR (R R.R#R/RR5R8RORPttupleR3R9R:R;RQ(R ROR;((Rttest_setRoles_4És   cCsq|iƒ|_|iƒ|_|iƒ|iƒdg}|idƒ|ii i t ƒ}|i ||ƒdS(NRN(R R.R#R/RR5R8RORPR3R9R:R;RQ(R ROR;((Rttest_setRoles_5Ôs    cCsK|iƒ|_|iƒ|_ddg}|i|ƒ|i|dƒdS(Ns Add FolderssDelete objectsR (R R.R#R/Rt test_permstsetPermissionstassertPermissionsOfRole(R R^((Rttest_setPermissionsßs   cCsn|iƒ|_|iƒ|_|iidƒddg}|igdƒ|i|dƒ|i|dƒdS(Ntrole_2s Add FolderssDelete objects( R R.R#R/RRR^R`R_(R R^((Rttest_setPermissions_2çs cCsQ|iƒ|_|iƒ|_ddg}|it|ƒƒ|i|dƒdS(Ns Add FolderssDelete objectsR ( R R.R#R/RR^R_R[R`(R R^((Rttest_setPermissions_3ñs  cCsH|iƒ|_|iƒ|_dg}|idƒ|i|dƒdS(Ns Add FoldersR (R R.R#R/RR^R_R`(R R^((Rttest_setPermissions_4ùs   cCsŠ|iƒ|_|iƒ|_|iƒ|iƒtƒiƒi ƒ}|i |dƒ|i ƒtƒiƒi ƒ}|i |tƒdS(NsAnonymous User(R R.R#R/RR5R8RSRTt getUserNamet auth_nameR<RCtgetIdR:(R Rg((Rt test_logins   cCsŸ|iƒ|_|iƒ|_|iƒ|iiiddggƒtƒi ƒi ƒ}|i |dƒ|i dƒtƒi ƒiƒ}|i |dƒdS(NRWRXsAnonymous User(R R.R#R/RR5R3RYRSRTRfRgR<RCRh(R Rg((Rt test_login_2 s  cCsB|iƒ|_|iƒ|_|iƒ|it|idƒdS(Ntuser_3( R R.R#R/RR5t assertRaisesRIRC(R ((Rt test_login_3s cCso|iƒ|_|iƒ|_|iƒ|iƒ|iƒ|iƒt ƒi ƒi ƒ}|i |dƒdS(NsAnonymous User(R R.R#R/RR5R8RCtlogoutRSRTRfRgR<(R Rg((Rt test_logout s    cCs±|iƒ|_|iƒ|_|iƒ|iƒ|iƒ|idƒ|i |ii i t ƒƒt ƒiƒiƒ}|i|dƒ|i|iddgƒ|iƒdS(NisAnonymous UserR,R-(R R.R#R/RR5R8RDt_clearR4t__dict__thas_keyR$RSRTRfRgR<R(R Rg((Rt test_clear+s    cCs9|iƒ|it|itƒƒ|it|idƒƒ|it|idƒƒ|it|idƒƒ|id|iiƒjƒ|it|iit ƒƒ|ii i t ƒ}|i|ƒ|i |iƒdƒ|i t|iƒtƒtƒiƒiƒ}|i |t ƒ|i |iddgƒdS( NR3R R R R7R)R*(sMembers Authenticated(R t_setUpR0RR#R$RR1R R:R3R9R;R<R=R>R?R@RSRTRhRgR(R RgR;((Rt test_setUp:s  cCs~|iƒg|_|iƒ|i|iiitƒƒt ƒi ƒi ƒ}|i |dƒ|i |idddgƒdS(NsAnonymous UserR+R,R-(R RtRt _tearDownR4R#RqRrR$RSRTRfRgR<(R Rg((Rt test_tearDownMs   cCsd|_|iƒ|i|iiitƒdƒ|i t |ii tƒƒt ƒi ƒiƒ}|i|dƒ|i|iddgƒdS(NisAnonymous UserR)R*(R t_configure_portalRtR<RR3R9R:RFR4RR RSRTRfRgR(R Rg((Rttest_configureFlagWs  cCs…|iƒ|_|iƒ|_|iƒ|iƒ|iƒ|it ƒ|i |ii i dgƒ|i t|iit ƒƒdS(NR(R R.R#R/RR5R8RCRR:R<R RR0RR (R ((Rttest_createMemberareacs    cCs«|iƒ|_|iƒ|_|iƒ|iƒ|iidƒ|iidt ƒƒ|i ƒ|i t ƒ|i |iiidgƒ|it|iit ƒƒdS(NR R!(R R.R#R/RR5R8t _delObjectRR RCRR:R<R RR0RR (R ((Rttest_createMemberarea_NewToolns    cCs[|djo |i}n|i|ƒ}g}|D] }|do||dq4q4~S(scReturns sorted list of permission names of the given role in the given context. tselectedtnameN( tcontextRFR RtpermissionsOfRoletroletpermst_[1]tp(R RRR‚RƒR„((RtgetPermissionsOfRole}s   cCsGt|ƒ}|iƒ|i||ƒ}|iƒ|i ||ƒdS(sŸCompares list of permission names to permissions of the given role in the given context. Fails if the lists are not found equal. N( tlistt permissionstlhstsortR R…RRtrhsR<(R R‡RRRˆRŠ((RR`†s    cCsUt|ƒ}|iƒt|iƒƒ}|idƒ|iƒ|i ||ƒdS(siCompares list of role names to roles of user. Fails if the lists are not found equal. R7N( R†R?RˆR‰tuserR=RŠtremoveR R<(R R?R‹RŠRˆ((RRQ‘s    (+RRt__doc__t ZopeTestCasetPortalTestCaseR(RtttearDownRvR%R)R*R+R,R-R2R6RARKRMRRRVRZR\R]RaRcRdReRiRjRmRoRsRuRwRyRzR|RFR…R`RQ(((RR"QsJ                    (s UserFoldertWrappingUserFoldercBstZdZd„ZRS(s*User folder returning wrapped user objectscCsti||ƒi|ƒS(N(t UserFolderRTR R~t__of__(R R~((RRT¢s(RRRRT(((RR‘Ÿs tTestPlainUserFoldercBs)tZdZd„Zd„Zd„ZRS(s/Tests whether user objects are properly wrappedcCs)|iitttƒƒt|itƒS(N(R R#RR$RR(R ((RR%©scCsH|iiitƒ}|it|dƒƒ|i|t |ƒjƒdS(NR( R RR3R9R:R‹R4RR0R(R R‹((RttestGetUserDoesNotWrapUser­scCsŠtƒiƒ}|i|iƒtƒ|it|dƒƒ|i|i i dƒ|i|i i i dƒ|i|i i i i dƒdS(NRtUserR’tFolder( RSRTR‹R R<RhR:R0Rt __class__RR(R R‹((RttestLoggedInUserIsWrapped²s (RRRR%R•R™(((RR”¦s   tTestWrappingUserFoldercBs2tZdZd„Zd„Zd„Zd„ZRS(s/Tests whether user objects are properly wrappedcCs)|iitttƒƒt|itƒS(N(R R#RR$RR(R ((RR%¾scCs|iidtƒƒdS(NR3(R RRR‘(R ((RR5ÂscCsa|iiitƒ}|it|dƒƒ|i|t |ƒjƒ|i|i i i dƒdS(NRR‘( R RR3R9R:R‹R0RR4RRR˜R(R R‹((RttestGetUserWrapsUserÅscCsŠtƒiƒ}|i|iƒtƒ|it|dƒƒ|i|i i dƒ|i|i i i dƒ|i|i i i i dƒdS(NRR–R‘R—( RSRTR‹R R<RhR:R0RR˜RR(R R‹((RR™Ës (RRRR%R5R›R™(((RRš»s    tHookTestcBs5tZd„Zd„Zd„Zd„Zd„ZRS(NcCsg|_tii|ƒdS(N(R RRŽRR((R ((RR(Øs cCs$|iidƒtii|ƒdS(NR)(R RRRŽRR)(R ((RR)ÜscCs$|iidƒtii|ƒdS(Nt_setup(R RRRŽRR(R ((RRàscCs$|iidƒtii|ƒdS(NR-(R RRRŽRR-(R ((RR-äscCs|i|i|ƒdS(N(R R<Rtsequence(R Rž((Rt assertHooksès(RRR(R)RR-RŸ(((RRœÖs     tTestSetUpRaisescBs?tZdfd„ƒYZd„Zd„Zd„Zd„ZRS(NtErrorcBstZRS(N(RR(((RR¡îscCs)|iitttƒƒt|itƒS(N(R R#RR$RR(R ((RR%ñscCsgyti|ƒWnO|ij o@|idddgƒdkl}|i|iƒdƒnXdS(NR)RR-(s connectionsi( RœR(R R¡RŸtTesting.ZopeTestCaset connectionsR<tcount(R R£((RR(õs  cCsti|ƒ|i‚dS(N(RœRR R¡(R ((RRþs cCsdS(N((R ((Rt testTriggers(RRR¡R%R(RR¥(((RR ìs   cCsldkl}l}|ƒ}|i|tƒƒ|i|tƒƒ|i|tƒƒ|i|tƒƒ|S(N(s TestSuites makeSuite( tunittestt TestSuitet makeSuitetsuitetaddTestR"R”RšR (R§R¨R©((Rt test_suites (%RtostsysRtexecfiletpathtjointTestingRŽt AcquisitionRt AccessControlRSttypesR@R&R$R:RtOFS.SimpleItemt SimpleItemt OFS.FolderR—RRR RR"tAccessControl.UserR’R‘R”RšRœR R«t framework(RœRšR R—RR R’RŽR‘R:RRR$R­R¶R@RR&RSR”R"R«R¬((Rt?s6 $           ÿM