Changeset 2841 in products for quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps/tests/testUpgrade.py
- Timestamp:
- Sep 22, 2010 11:38:39 AM (14 years ago)
- Location:
- quintagroup.plonegooglesitemaps/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
quintagroup.plonegooglesitemaps/trunk
- Property svn:mergeinfo
-
old new 1 /quintagroup.plonegooglesitemaps/branches/migratioin_product:2826-2839 1 2 /quintagroup.plonegooglesitemaps/branches/plone4:2549-2553 2 3 /quintagroup.plonegooglesitemaps/branches/test_refactoring:2527-2536
-
- Property svnmerge-integrated changed from /quintagroup.plonegooglesitemaps/branches/migratioin_product:1-3864 /quintagroup.plonegooglesitemaps/branches/test_refactoring:1-3576 /quintagroup.plonegooglesitemaps/branches/plone4:1-3593 to /quintagroup.plonegooglesitemaps/branches/migratioin_product:1-3879 /quintagroup.plonegooglesitemaps/branches/test_refactoring:1-3576 /quintagroup.plonegooglesitemaps/branches/plone4:1-3593
- Property svn:mergeinfo
-
quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps/tests/testUpgrade.py
r2601 r2841 3 3 # 4 4 5 import logging 5 6 from base import * 6 7 from zope.component import getSiteManager 8 from StringIO import StringIO 7 9 8 10 from Products.CMFPlone.utils import _createObjectByType … … 11 13 from quintagroup.plonegooglesitemaps import config 12 14 from quintagroup.plonegooglesitemaps import upgrades as gsm_upgrades 15 from quintagroup.plonegooglesitemaps import setuphandlers as sh 13 16 from quintagroup.canonicalpath.interfaces import ICanonicalPath 14 17 from quintagroup.canonicalpath.interfaces import ICanonicalLink … … 104 107 self.setup.setLastVersionForProfile(self.profile, orig_ver) 105 108 109 try: 110 from Products.qPloneGoogleSitemaps.content.sitemap import Sitemap as OldSitemap 111 except ImportError: 112 PRESENT_OLD_PRODUCT = False 113 else: 114 PRESENT_OLD_PRODUCT = True 115 116 class TestMigrationFromProduct(TestCase): 117 118 def afterSetUp(self): 119 super(TestMigrationFromProduct, self).afterSetUp() 120 self.patch_logger() 121 self.gs = self.portal.portal_setup 122 self.profile = u'profile-quintagroup.plonegooglesitemaps:migrate_qPGSM' 123 self.step = "migrate_qPGSM" 124 125 def patch_logger(self): 126 logger = logging.Logger("test:GSM", logging.NOTSET) 127 self.log = StringIO() 128 self.thndlr = logging.StreamHandler(self.log) 129 self.thndlr.setLevel(logging.DEBUG) 130 self.thndlr.setFormatter(logging.Formatter("%(message)s")) 131 logger.addHandler(self.thndlr) 132 133 self.orig_logger = sh.logger 134 sh.logger = logger 135 136 def beforeTearDown(self): 137 sh.logger = self.orig_logger 138 139 def chkLog(self, chkstr): 140 self.thndlr.flush() 141 self.log.seek(0) 142 logs = self.log.getvalue().split('\n') 143 return chkstr in logs 144 145 def testRemoveOldConfiglet(self): 146 chk_str = "Unregistered 'qPloneGoogleSitemaps' "\ 147 "configlet from portal_controlpanel tool." 148 # 1. No qPloneGoogleSitemaps configlet 149 self.gs.runImportStepFromProfile(self.profile, self.step) 150 self.assert_(not self.chkLog(chk_str), self.log.getvalue()) 151 # 2. qPloneGoogleSitemaps configlet in portal 152 self.portal.portal_controlpanel.registerConfiglet( 153 id="qPloneGoogleSitemaps", name="qPloneGoogleSitemaps", 154 action="string:") 155 self.gs.runImportStepFromProfile(self.profile, self.step) 156 self.assert_(self.chkLog(chk_str), self.log.getvalue()) 157 158 def testRemoveOldSkinLayer(self): 159 chk_str = "Removed 'qPloneGoogleSitemaps' from 'Plone Default' skin." 160 # 1. No qPloneGoogleSitemaps layer in portal_skins 161 self.gs.runImportStepFromProfile(self.profile, self.step) 162 self.assert_(not self.chkLog(chk_str), self.log.getvalue()) 163 # 2. qPloneGoogleSitemaps layer in portal_skins 164 skins = self.portal.portal_skins 165 skinpath = 'qPloneGoogleSitemaps,' + skins.getSkinPath("Plone Default") 166 skins._getSelections()["Plone Default"] = skinpath 167 self.gs.runImportStepFromProfile(self.profile, self.step) 168 self.assert_(self.chkLog(chk_str), self.log.getvalue()) 169 170 def testRecriateOldSitemaps(self): 171 chk_str = "Successfully replaced '/%s/sitemap.xml' Sitemap" \ 172 % self.portal.id 173 # 1. No old sitemap present in portal 174 self.gs.runImportStepFromProfile(self.profile, self.step) 175 self.assert_(not self.chkLog(chk_str), self.log.getvalue()) 176 # 2. Add old sitemap object in to portal 177 self.portal.invokeFactory("Sitemap", 'sitemap.xml') 178 self.assert_('sitemap.xml' in self.portal.objectIds(), self.portal.objectIds()) 179 sm = self.portal['sitemap.xml'] 180 sm.__class__ = OldSitemap 181 self.gs.runImportStepFromProfile(self.profile, self.step) 182 self.assert_(self.chkLog(chk_str), self.log.getvalue()) 183 106 184 107 185 def test_suite(): … … 109 187 suite = TestSuite() 110 188 suite.addTest(makeSuite(TestUpgrade)) 189 if PRESENT_OLD_PRODUCT: 190 suite.addTest(makeSuite(TestMigrationFromProduct)) 191 111 192 return suite 112 193
Note: See TracChangeset
for help on using the changeset viewer.