Changeset 2521 in products
- Timestamp:
- Jun 11, 2010 1:13:05 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps/tests/testqPloneGoogleSitemaps.py
r2409 r2521 4 4 5 5 from base import * 6 from cgi import FieldStorage 7 from tempfile import TemporaryFile, NamedTemporaryFile 8 9 from OFS.Image import cookId 10 from Products.CMFPlone.utils import _createObjectByType 11 from ZPublisher.HTTPRequest import FileUpload 12 6 13 from zope.component import getSiteManager 7 14 from archetypes.schemaextender.interfaces import ISchemaExtender 8 from Products.CMFPlone.utils import _createObjectByType 15 16 def prepareUploadFile(prefix=""): 17 """ Helper function for prerare file to uploading """ 18 fp = NamedTemporaryFile(mode='w+', prefix=prefix) 19 fp.write("google-site-verification: " + fp.name) 20 fp.seek(0,2) 21 fsize = fp.tell() 22 fp.seek(0) 23 24 env = {'REQUEST_METHOD':'PUT'} 25 headers = {'content-type':'text/plain', 26 'content-length': fsize, 27 'content-disposition':'attachment; filename=%s' % fp.name} 28 fs = FieldStorage(fp=fp, environ=env, headers=headers) 29 return FileUpload(fs), fp 9 30 10 31 class TestGoogleSitemapsInstallation(TestCase): … … 171 192 172 193 def testVerificationFileCreation(self): 173 self.portal.gsm_create_verify_file('verif_file') 174 175 vf_created = hasattr(self.portal, 'verif_file') 194 fp, fname = None, None 195 try: 196 fupload, fp = prepareUploadFile() 197 fname, ftitle = cookId('', '', fupload) 198 self.portal.REQUEST.form['verification_file'] = fupload 199 self.portal.gsm_create_verify_file() 200 finally: 201 if fp: fp.close() 202 import pdb;pdb.set_trace() 203 vf_created = hasattr(self.portal, fname) 176 204 self.assert_(vf_created, 'Verification file not created') 177 205 … … 179 207 verifyConfigUrl = '/'+self.portal.absolute_url(1) + '/prefs_gsm_verification' 180 208 verif_config = self.publish(verifyConfigUrl, self.auth).getBody() 181 rexp_input_acitve = re.compile('<input\s+name="verif y_filename"\s+([^>]*)>', re.I|re.S)209 rexp_input_acitve = re.compile('<input\s+name="verification_file"\s+([^>]*)>', re.I|re.S) 182 210 rexp_button_acitve = re.compile('<input\s+name="form.button.CreateFile"\s+([^>]*)>', re.I|re.S) 183 211 rexp_delete_button = re.compile('<input\s+name="form.button.DeleteFile"\s+[^>]*>', re.I|re.S) … … 191 219 self.assert_(not delete_button) 192 220 193 self.portal.gsm_create_verify_file('verif_file') 221 fp, fname = None, None 222 try: 223 fupload, fp = prepareUploadFile() 224 fname, ftitle = cookId('', '', fupload) 225 self.portal.REQUEST.form['verification_file'] = fupload 226 self.portal.gsm_create_verify_file() 227 finally: 228 if fp: fp.close() 194 229 195 230 input_acitve = rexp_input_acitve.search(verif_config) … … 203 238 def testMultiplyVerificationFiles(self): 204 239 verifyConfigUrl = '/'+self.portal.absolute_url(1) + '/prefs_gsm_verification' 205 206 form = {'verify_filename':'verif_file_1', 207 'form.button.CreateFile': 'Create verification file', 208 'form.submitted':1} 209 post_data = StringIO(urlencode(form)) 210 response = self.publish(verifyConfigUrl, request_method='POST', 211 stdin=post_data, basic=self.auth) 212 self.assertEqual(response.getStatus(), 200) 213 self.assert_('verif_file_1' in self.gsm_props.getProperty('verification_filenames',[]), 214 self.gsm_props.getProperty('verification_filenames',[])) 215 216 form = {'verify_filename':'verif_file_2', 217 'form.button.CreateFile': 'Create verification file', 218 'form.submitted':1} 219 post_data = StringIO(urlencode(form)) 220 response = self.publish(verifyConfigUrl, request_method='POST', 221 stdin=post_data, basic=self.auth) 222 self.assertEqual(response.getStatus(), 200) 223 self.assert_([1 for vf in ['verif_file','verif_file_2'] \ 224 if vf in self.gsm_props.getProperty('verification_filenames',[])], 225 self.gsm_props.getProperty('verification_filenames',[])) 240 fnames = [] 241 for i in [1,2]: 242 fp, fname, response = None, None, None 243 try: 244 fupload, fp = prepareUploadFile(prefix=str(i)) 245 fname, ftitle = cookId('', '', fupload) 246 form = {'form.button.CreateFile': 'Create verification file', 247 'form.submitted': 1} 248 extra_update = {'verification_file': fupload} 249 response = self.publish(verifyConfigUrl, request_method='POST', 250 stdin=StringIO(urlencode(form)), 251 basic=self.auth, extra=extra_update) 252 finally: 253 if fp: fp.close() 254 255 self.assertEqual(response.getStatus(), 200) 256 self.assert_(fname in self.gsm_props.getProperty('verification_filenames',[]), 257 self.gsm_props.getProperty('verification_filenames',[])) 258 fnames.append(fname) 259 260 self.assertEqual(len([1 for vf in fnames \ 261 if vf in self.gsm_props.getProperty('verification_filenames',[])]), 2, 262 self.gsm_props.getProperty('verification_filenames',[])) 226 263 227 264
Note: See TracChangeset
for help on using the changeset viewer.