;ς 5ΩgCc@sddZdkZdkZdkZdkZedjo$eeiieiddƒƒndk l Z dk l Z l Z lZdklZeidƒeid ƒeid ƒeid ƒeid ƒd klZdklZdklZdklZdklZdklZdklZdklZl Z l!Z!dkl"Z"l#Z#l$Z$l%Z%dk&l'Z'e i(i)ƒe i(i*ddƒ\Z+Z,dfd„ƒYZ-de-e i.eifd„ƒYZ/de-fd„ƒYZ0de0e i.eifd „ƒYZ1d!e0eie i2fd"„ƒYZ3d#e i fd$„ƒYZ4d%„Z5edjo e6ƒndS(&s. Unit and integration tests for ZSyncerTool. Ns__main__is framework.py(s ZopeTestCase(s transactions user_names user_password(s CMFTestCasesMailHosts ZCTextIndexsCMFCores CMFDefaultsZSyncer(s getToolByName(saddDirectoryViews(smanage_addCMFSite(smanage_addZSyncer(sZSyncerObjNotFound(s zs_globals(smanage_addZSyncerTool(sZSyncersConfigsZSyncerConfigError(sOKsEXTRAsMISSINGsOOD(s BadRequestsnumber_of_threadsisZSyncerToolSetUpcBs/tZed„Zd„Zd„Zd„ZRS(NcCsA|tjo |i}n|iddd|ƒt||ƒSdS(Ns type_namesFoldersid(swheresNonesselfsportals invokeFactorysidsgetattr(sselfsidswhere((sJ/mnt/gmirror/ports/www/zope-zsyncer/work/ZSyncer/tests/test_ZSyncerTool.pys _makeFolder0s  cCsDyt|itiƒWntj onXt|itiƒSdS(N(smanage_addCMFSitesselfsapps CMFTestCases portal_names BadRequestsgetattr(sself((sJ/mnt/gmirror/ports/www/zope-zsyncer/work/ZSyncer/tests/test_ZSyncerTool.pys getPortal7s c Csύ|iddgƒt|iƒt|idƒ|_|iiƒ|_|idƒ|_ d}|i i dddd d d d d d|ƒ|i i i hdd<ƒ|i i |_|iidfƒ|iiƒ|ii|_t|idƒ|_dS(NsManagersMembersportal_zsyncersfolder1s$Testing ZSyncer Tool, blah blah blahsDocuments test_doc1stitles nunya biznesss descriptionsSome boring descriptions text_formatshtmlstextsSubjectsThis is the subject of doc1s&This is the subject of doc1, so there!s portal_url(sselfssetRolessmanage_addZSyncerToolsportals getToolByNameszs_tools getZSyncerszss _makeFoldersfol1sdatas invokeFactorys test_doc1s setMetadatasdoc1s setSubjects reindexObjectsportal_catalogscatalogsutool(sselfsdata((sJ/mnt/gmirror/ports/www/zope-zsyncer/work/ZSyncer/tests/test_ZSyncerTool.pys afterSetUp?s"   cCsdS(N((sself((sJ/mnt/gmirror/ports/www/zope-zsyncer/work/ZSyncer/tests/test_ZSyncerTool.pys testSetupZs(s__name__s __module__sNones _makeFolders getPortals afterSetUps testSetup(((sJ/mnt/gmirror/ports/www/zope-zsyncer/work/ZSyncer/tests/test_ZSyncerTool.pysZSyncerToolSetUp.s   sTestZSyncerToolcBsqtZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z RS( sTest ZSyncerTool. cCsD|iiƒ}|it|ƒdƒ|i|ddtiƒdS(Niisname(sselfszs_toolsfiltered_meta_typessf_typess assertEqualslensZSyncers meta_type(sselfsf_types((sJ/mnt/gmirror/ports/www/zope-zsyncer/work/ZSyncer/tests/test_ZSyncerTool.pystest_filtered_meta_typesiscCs#|i|iiƒ|iiƒdS(N(sselfs assertEqualszs_tools listActionss_actions(sself((sJ/mnt/gmirror/ports/www/zope-zsyncer/work/ZSyncer/tests/test_ZSyncerTool.pystest_listActionsnscCs|iiƒ}|it|ƒdƒ|d\}}|i|it iƒ|i|i ƒdi |i i ƒƒƒ|i|idƒƒdS(Niis/suse_relative_paths(sselfszs_tools objectItemsscontentss assertEqualslensidsobjs meta_typesZSyncersgetSyncerRootPathsjoinsportalsgetPhysicalPaths failUnlesss getProperty(sselfsobjsidscontents((sJ/mnt/gmirror/ports/www/zope-zsyncer/work/ZSyncer/tests/test_ZSyncerTool.pystest_initial_statesscCs?d|iiƒ|iiƒf}|it|ii|ƒdS(Ns%s/%s( sselfsfol1sgetIdsdoc1spaths assertRaisessZSyncerConfigErrorszs_tools getStatus(sselfspath((sJ/mnt/gmirror/ports/www/zope-zsyncer/work/ZSyncer/tests/test_ZSyncerTool.pystest_getStatuss"cCs?d|iiƒ|iiƒf}|it|ii|ƒdS(Ns%s/%s( sselfsfol1sgetIdsdoc1spaths assertRaisessZSyncerConfigErrorszs_toolsgetDiff(sselfspath((sJ/mnt/gmirror/ports/www/zope-zsyncer/work/ZSyncer/tests/test_ZSyncerTool.pys test_getDiff†s" cCsjd|iiƒ|iiƒf}z3tidƒ|ii|ƒ}|i |gƒWdti dƒXdS(Ns%s/%si( sselfsfol1sgetIdsdoc1spaths transactionscommitszs_toolsdoPushsmsgss assertEqualsabort(sselfspathsmsgs((sJ/mnt/gmirror/ports/www/zope-zsyncer/work/ZSyncer/tests/test_ZSyncerTool.pys test_doPushŒs" cCs |i|iigƒgƒdS(N(sselfs assertEqualszs_toolscallManyRemote(sself((sJ/mnt/gmirror/ports/www/zope-zsyncer/work/ZSyncer/tests/test_ZSyncerTool.pystest_callManyRemote™scCsΜ|iiƒ}|i||iiƒjƒd|iiƒ|iiƒf}|ii |gƒ}|i t |ƒdƒ|i|di djƒ|i|di djƒ|i||iiƒjƒdS(Ns%s/%siiiτiiΘ(sselfsdoc1sgetIdsdoc1_ids failUnlesssfol1s objectIdsspathszs_toolsdoDeletesmsgss assertEqualslensstatussfailIf(sselfspathsmsgssdoc1_id((sJ/mnt/gmirror/ports/www/zope-zsyncer/work/ZSyncer/tests/test_ZSyncerTool.pys test_doDeletes"cCsN|i|iiƒgƒddg|i_|i|ii|iiƒƒdS(Nshttp://foo/barshttps://bat/baz(sselfs assertEqualszs_toolsgetDestinationsszss destinationss dest_servers(sself((sJ/mnt/gmirror/ports/www/zope-zsyncer/work/ZSyncer/tests/test_ZSyncerTool.pystest_getDestinations«s cCsA|ii|iƒ}|i|di|ii|iƒƒƒdS(Ns/( sselfszs_toolsgetPathsdoc1spaths assertEqualsjoinsutoolsgetRelativeContentPath(sselfspath((sJ/mnt/gmirror/ports/www/zope-zsyncer/work/ZSyncer/tests/test_ZSyncerTool.pys test_getPath΄s cCsh|i|ii|iƒƒ|i|i|i|if}x'|D]}|i |ii|ƒƒqAWdS(N( sselfs failUnlessszs_toolsisObjectDiffablesdoc1sappsfol1sutools not_diffablesnopesfailIf(sselfsnopes not_diffable((sJ/mnt/gmirror/ports/www/zope-zsyncer/work/ZSyncer/tests/test_ZSyncerTool.pystest_isObjectDiffableΊs (s__name__s __module__s__doc__stest_filtered_meta_typesstest_listActionsstest_initial_statestest_getStatuss test_getDiffs test_doPushstest_callManyRemotes test_doDeletestest_getDestinationss test_getPathstest_isObjectDiffable(((sJ/mnt/gmirror/ports/www/zope-zsyncer/work/ZSyncer/tests/test_ZSyncerTool.pysTestZSyncerToolas         sZSToolRemoteSetUpcBstZd„ZRS(Nc Cs€ti|ƒ|idƒ|_|iiƒd|_t|idƒ|ii |_ t |i _ di |iiƒƒ|i _di |iiƒƒ|i_t |i_ |iii|i iƒƒ|iid|iiƒd|iiƒd|iiƒdd d |iiƒƒ|i|iiƒ|_|iidd dtdd dd d d ƒ|ii|_|iidddddddd d dƒ|ii|_dS(Nsfolder2issyncer2s/sDocumentstitles descriptions text_formatshtmlstexts doc_extrasSome extra descriptionsextra extra read all about it.s doc_missingsmissingsSome missing descriptions#missing persons destination unknown(sZSyncerToolSetUps afterSetUpsselfs _makeFoldersfol2szs_tools objectValuesszs1smanage_addZSyncerssyncer2szs2sTruesuse_relative_pathssjoinsgetPhysicalPathsrelative_path_basesfol1s dest_serverssappends absolute_urls invokeFactorysdoc1sgetIdsTitles Descriptions EditableBodys doc1_copysEXTRAs doc_extras doc_missing(sself((sJ/mnt/gmirror/ports/www/zope-zsyncer/work/ZSyncer/tests/test_ZSyncerTool.pys afterSetUpΗs8     (s__name__s __module__s afterSetUp(((sJ/mnt/gmirror/ports/www/zope-zsyncer/work/ZSyncer/tests/test_ZSyncerTool.pysZSToolRemoteSetUpΕssTestZSToolRemotecBs;tZdZd„Zd„Zd„Zd„Zd„ZRS(s.Test interaction with the remote zsyncer. cCs[|iiƒ}|}|i||iiƒjƒ|i||iiƒjƒ|i i |ƒ}|i t |ƒdƒx!|D]}|i |idƒq|W|i||iiƒjƒ|i||iiƒjƒ|i i |ƒ}|i t |ƒdƒx!|D]}|i |idƒqW|iiƒ}|i||iiƒjƒ|i i |ƒ}|i||iiƒjƒ|i t |ƒdƒ|i |didƒ|i |didƒ|iiƒ}|i||iiƒjƒ|i i |ƒ}|i||iiƒjƒ|i t |ƒdƒ|i |didƒ|i |didƒdS(NiiΘi”ii(sselfsdoc1sgetIdspathsids failUnlesssfol1s objectIdssfol2szs_toolsdoDeletesmsgss assertEqualslensmsstatussfailIfs doc_missingsmissings doc_extrasextra(sselfsmsgssmissingsextrasmspathsid((sJ/mnt/gmirror/ports/www/zope-zsyncer/work/ZSyncer/tests/test_ZSyncerTool.pys test_doDeleteυs<cCstidƒzχ|iiƒ}|i||iiƒjƒ|i i |ƒ}|i t |ƒdƒ|i|didjƒ|i||iiƒjƒ|iiƒ}|i||iiƒjƒ|i i |ƒ}|i t |ƒdƒ|i |didƒWdtidƒXdS(NiiiΘi”(s transactionscommitsselfs doc_missingsgetIdsmissingsfailIfsfol2s objectIdsszs_toolsdoPushsmsgss assertEqualslensstatuss failUnlesss doc_extrasextrasfol1sabort(sselfsmsgssextrasmissing((sJ/mnt/gmirror/ports/www/zope-zsyncer/work/ZSyncer/tests/test_ZSyncerTool.pys test_doPushs cCsI|iiƒ}|ii|ƒ}|i|dƒ|i|d|dƒ|i |ddƒ|i |dƒ|i iƒ}|ii|ƒ}|i|ddƒ|i |ddƒ|i|dƒ|i |dƒ|i iƒ}|ii|ƒ}|i|ddƒ|i |ddƒ|i|dƒ|i |dƒdS(Nserrorssourcesdesti”sdiff(sselfsdoc1sgetIdsdoc_idszs_toolsgetDiffsdiffsfailIfs assertEquals failIfEquals failUnlesss doc_extrasextras doc_missingsmissing(sselfsdiffsmissingsdoc_idsextra((sJ/mnt/gmirror/ports/www/zope-zsyncer/work/ZSyncer/tests/test_ZSyncerTool.pys test_getDiff/s$c Csο|it|iidƒ|iiƒ}|ii|ƒ\}}|i |dt ƒ|i |ƒ|i iƒ}|ii|ƒ}|i |dgƒ|i |ddtƒ|iiƒ}|ii|ƒ\}}|i |ƒ|i|dttfjƒd}|ii|ƒ\}}|i |dtƒx·|D]―}|d|i iƒjo|i |dtƒq8|d|iiƒjo|i |dt ƒq8|d|iiƒjo!|i|dttfjƒq8|iƒq8WdS(Nswe/have/no/bananas/todaysstatusiissid(sselfs assertRaisessZSyncerObjNotFoundszs_tools getStatuss doc_missingsgetIdsmissingsstatuss sub_statuss assertEqualsMISSINGsfailIfs doc_extrasextras extra_resultssEXTRAsdoc1smaybe_oks failUnlesssOKsOODsfolssubsfail( sselfsstatuss sub_statusssubsextrasmissingsfolsmaybe_oks extra_results((sJ/mnt/gmirror/ports/www/zope-zsyncer/work/ZSyncer/tests/test_ZSyncerTool.pystest_getStatusFs4  !cCsD|ii}hdd<dd