Changeset 2530 in products for quintagroup.plonegooglesitemaps/branches/test_refactoring/quintagroup/plonegooglesitemaps/tests/testSitemaps.py
- Timestamp:
- Jun 14, 2010 7:39:39 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
quintagroup.plonegooglesitemaps/branches/test_refactoring/quintagroup/plonegooglesitemaps/tests/testSitemaps.py
r2527 r2530 142 142 143 143 144 class TestPinging(FunctionalTestCase): 145 146 def afterSetUp(self): 147 super(TestPinging, self).afterSetUp() 148 149 self.workflow = self.portal.portal_workflow 150 self.workflow.setChainForPortalTypes(pt_names=('News Item','Document'), 151 chain="simple_publication_workflow") 152 self.gsm_props = self.portal.portal_properties['googlesitemap_properties'] 153 self.auth = 'admin:admin' 154 self.portal.portal_membership.addMember('admin', 'admin', ('Manager',), []) 155 # Add sitemaps 156 self.contentSM = _createObjectByType('Sitemap', self.portal, id='google-sitemaps') 157 self.contentSM.setPingTransitions(('simple_publication_workflow#publish',)) 158 self.newsSM = _createObjectByType('Sitemap', self.portal, id='news-sitemaps') 159 self.newsSM.setPortalTypes(('News Item','Document')) 160 self.newsSM.setPingTransitions(('simple_publication_workflow#publish',)) 161 self.sitemapUrl = '/'+self.portal.absolute_url(1) + '/google-sitemaps' 162 # Add testing document to portal 163 my_doc = self.portal.invokeFactory('Document', id='my_doc') 164 self.my_doc = self.portal['my_doc'] 165 my_news = self.portal.invokeFactory('News Item', id='my_news') 166 self.my_news = self.portal['my_news'] 167 168 def testAutomatePinging(self): 169 # 1. Check for pinging both sitemaps 170 back_out, myout = sys.stdout, StringIO() 171 sys.stdout = myout 172 try: 173 self.workflow.doActionFor(self.my_doc, 'publish') 174 myout.seek(0) 175 data = myout.read() 176 finally: 177 sys.stdout = back_out 178 179 self.assert_('Pinged %s sitemap to Google' % self.contentSM.absolute_url() in data, 180 "Not pinged %s: '%s'" % (self.contentSM.id, data)) 181 self.assert_('Pinged %s sitemap to Google' % self.newsSM.absolute_url() in data, 182 "Not pinged %s: '%s'" % (self.newsSM.id, data)) 183 184 # 2. Check for pinging only news-sitemap sitemaps 185 back_out, myout = sys.stdout, StringIO() 186 sys.stdout = myout 187 try: 188 self.workflow.doActionFor(self.my_news, 'publish') 189 myout.seek(0) 190 data = myout.read() 191 finally: 192 sys.stdout = back_out 193 194 self.assert_('Pinged %s sitemap to Google' % self.newsSM.absolute_url() in data, 195 "Not pinged %s: '%s'" % (self.newsSM.id, data)) 196 self.assert_(not 'Pinged %s sitemap to Google' % self.contentSM.absolute_url() in data, 197 "Pinged %s on news: '%s'" % (self.contentSM.id, data)) 198 199 def testPingingWithSetupForm(self): 200 # Ping news and content sitemaps 201 formUrl = '/'+self.portal.absolute_url(1) + '/prefs_gsm_settings' 202 qs = 'smselected:list=%s&smselected:list=%s&form.button.Ping=1&form.submitted=1' % \ 203 (self.contentSM.id, self.newsSM.id) 204 205 back_out, myout = sys.stdout, StringIO() 206 sys.stdout = myout 207 try: 208 response = self.publish("%s?%s" % (formUrl, qs), basic=self.auth) 209 myout.seek(0) 210 data = myout.read() 211 finally: 212 sys.stdout = back_out 213 214 self.assert_('Pinged %s sitemap to Google' % self.contentSM.absolute_url() in data, 215 "Not pinged %s: '%s'" % (self.contentSM.id, data)) 216 self.assert_('Pinged %s sitemap to Google' % self.newsSM.absolute_url() in data, 217 "Not pinged %s: '%s'" % (self.newsSM.id, data)) 218 219 220 144 221 def test_suite(): 145 222 from unittest import TestSuite, makeSuite … … 147 224 suite.addTest(makeSuite(TestSitemapType)) 148 225 suite.addTest(makeSuite(TestSettings)) 226 suite.addTest(makeSuite(TestPinging)) 149 227 return suite 150 228
Note: See TracChangeset
for help on using the changeset viewer.