Changeset 2530 in products
- Timestamp:
- Jun 14, 2010 7:39:39 PM (14 years ago)
- Location:
- quintagroup.plonegooglesitemaps/branches/test_refactoring/quintagroup/plonegooglesitemaps/tests
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
quintagroup.plonegooglesitemaps/branches/test_refactoring/quintagroup/plonegooglesitemaps/tests/testGoogleSitemaps.py
r2527 r2530 140 140 141 141 142 class TestSettings(FunctionalTestCase):143 144 def afterSetUp(self):145 super(TestSettings, self).afterSetUp()146 147 self.workflow = self.portal.portal_workflow148 self.gsm_props = self.portal.portal_properties['googlesitemap_properties']149 self.auth = 'admin:admin'150 self.contentSM = _createObjectByType('Sitemap', self.portal, id='google-sitemaps')151 152 self.sitemapUrl = '/'+self.portal.absolute_url(1) + '/google-sitemaps'153 154 self.portal.portal_membership.addMember('admin', 'admin', ('Manager',), [])155 156 # Add testing document to portal157 my_doc = self.portal.invokeFactory('Document', id='my_doc')158 self.my_doc = self.portal['my_doc']159 self.my_doc.edit(text_format='plain', text='hello world')160 self.my_doc_url = self.my_doc.absolute_url()161 162 def testMetaTypeToDig(self):163 self.workflow.doActionFor(self.my_doc, 'publish')164 sitemap = self.publish(self.sitemapUrl, self.auth).getBody()165 self.assert_(hasURL(sitemap, self.my_doc_url))166 167 self.contentSM.setPortalTypes([])168 169 sitemap = self.publish(self.sitemapUrl, self.auth).getBody()170 self.assert_(not hasURL(sitemap, self.my_doc_url))171 172 self.contentSM.setPortalTypes(['Document'])173 174 sitemap = self.publish(self.sitemapUrl, self.auth).getBody()175 self.assert_(hasURL(sitemap, self.my_doc_url))176 177 def testStates(self):178 self.workflow.doActionFor(self.my_doc, 'publish')179 self.contentSM.setStates(['visible'])180 181 sitemap = self.publish(self.sitemapUrl, self.auth).getBody()182 self.assert_(not hasURL(sitemap, self.my_doc_url))183 184 self.contentSM.setStates(['published'])185 186 sitemap = self.publish(self.sitemapUrl, self.auth).getBody()187 self.assert_(hasURL(sitemap, self.my_doc_url))188 189 def test_blackout_entries(self):190 self.workflow.doActionFor(self.my_doc, 'publish')191 self.contentSM.setBlackout_list((self.my_doc.getId(),))192 193 sitemap = self.publish(self.sitemapUrl, self.auth).getBody()194 self.assert_(not hasURL(sitemap, self.my_doc_url))195 196 self.contentSM.setBlackout_list([])197 sitemap = self.publish(self.sitemapUrl, self.auth).getBody()198 self.assert_(hasURL(sitemap, self.my_doc_url))199 200 def test_regexp(self):201 self.workflow.doActionFor(self.my_doc, 'publish')202 sitemap = self.publish(self.sitemapUrl, self.auth).getBody()203 self.assert_(not hasURL(sitemap, self.portal.absolute_url()))204 205 regexp = "s/\/%s//"%self.my_doc.getId()206 self.contentSM.setReg_exp([regexp])207 208 sitemap = self.publish(self.sitemapUrl, self.auth).getBody()209 self.assert_(hasURL(sitemap, self.portal.absolute_url()))210 211 def test_add_urls(self):212 self.contentSM.setUrls(['http://w1', 'w2', '/w3'])213 w1_url = 'http://w1'214 w2_url = self.portal.absolute_url() + '/w2'215 w3_url = self.portal.getPhysicalRoot().absolute_url() + '/w3'216 sitemap = self.publish(self.sitemapUrl, self.auth).getBody()217 218 self.assert_(hasURL(sitemap, w1_url))219 self.assert_(hasURL(sitemap, w2_url))220 self.assert_(hasURL(sitemap, w3_url))221 222 223 class TestPinging(FunctionalTestCase):224 225 def afterSetUp(self):226 super(TestPinging, self).afterSetUp()227 228 self.workflow = self.portal.portal_workflow229 self.workflow.setChainForPortalTypes(pt_names=('News Item','Document'),230 chain="simple_publication_workflow")231 self.gsm_props = self.portal.portal_properties['googlesitemap_properties']232 self.auth = 'admin:admin'233 self.portal.portal_membership.addMember('admin', 'admin', ('Manager',), [])234 # Add sitemaps235 self.contentSM = _createObjectByType('Sitemap', self.portal, id='google-sitemaps')236 self.contentSM.setPingTransitions(('simple_publication_workflow#publish',))237 self.newsSM = _createObjectByType('Sitemap', self.portal, id='news-sitemaps')238 self.newsSM.setPortalTypes(('News Item','Document'))239 self.newsSM.setPingTransitions(('simple_publication_workflow#publish',))240 self.sitemapUrl = '/'+self.portal.absolute_url(1) + '/google-sitemaps'241 # Add testing document to portal242 my_doc = self.portal.invokeFactory('Document', id='my_doc')243 self.my_doc = self.portal['my_doc']244 my_news = self.portal.invokeFactory('News Item', id='my_news')245 self.my_news = self.portal['my_news']246 247 def testAutomatePinging(self):248 # 1. Check for pinging both sitemaps249 back_out, myout = sys.stdout, StringIO()250 sys.stdout = myout251 try:252 self.workflow.doActionFor(self.my_doc, 'publish')253 myout.seek(0)254 data = myout.read()255 finally:256 sys.stdout = back_out257 258 self.assert_('Pinged %s sitemap to Google' % self.contentSM.absolute_url() in data,259 "Not pinged %s: '%s'" % (self.contentSM.id, data))260 self.assert_('Pinged %s sitemap to Google' % self.newsSM.absolute_url() in data,261 "Not pinged %s: '%s'" % (self.newsSM.id, data))262 263 # 2. Check for pinging only news-sitemap sitemaps264 back_out, myout = sys.stdout, StringIO()265 sys.stdout = myout266 try:267 self.workflow.doActionFor(self.my_news, 'publish')268 myout.seek(0)269 data = myout.read()270 finally:271 sys.stdout = back_out272 273 self.assert_('Pinged %s sitemap to Google' % self.newsSM.absolute_url() in data,274 "Not pinged %s: '%s'" % (self.newsSM.id, data))275 self.assert_(not 'Pinged %s sitemap to Google' % self.contentSM.absolute_url() in data,276 "Pinged %s on news: '%s'" % (self.contentSM.id, data))277 278 def testPingingWithSetupForm(self):279 # Ping news and content sitemaps280 formUrl = '/'+self.portal.absolute_url(1) + '/prefs_gsm_settings'281 qs = 'smselected:list=%s&smselected:list=%s&form.button.Ping=1&form.submitted=1' % \282 (self.contentSM.id, self.newsSM.id)283 284 back_out, myout = sys.stdout, StringIO()285 sys.stdout = myout286 try:287 response = self.publish("%s?%s" % (formUrl, qs), basic=self.auth)288 myout.seek(0)289 data = myout.read()290 finally:291 sys.stdout = back_out292 293 self.assert_('Pinged %s sitemap to Google' % self.contentSM.absolute_url() in data,294 "Not pinged %s: '%s'" % (self.contentSM.id, data))295 self.assert_('Pinged %s sitemap to Google' % self.newsSM.absolute_url() in data,296 "Not pinged %s: '%s'" % (self.newsSM.id, data))297 298 299 300 142 def test_suite(): 301 143 from unittest import TestSuite, makeSuite -
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.