def decodeQueryString(QueryString): """decode *QueryString* into a dictionary, as ZPublisher would do""" r = HTTPRequest(None, { 'QUERY_STRING': QueryString, 'SERVER_URL': '', }, None, 1) r.processInputs() return r.form
def decodeQueryString(QueryString): """decode *QueryString* into a dictionary, as ZPublisher would do""" r= HTTPRequest(None, {'QUERY_STRING' : QueryString, 'SERVER_URL' : '', }, None,1) r.processInputs() return r.form
def makeRequest(self): response = HTTPResponse() request = HTTPRequest(StringIO(''), test_environ.copy(), response) # Set up request.form, etc. request.processInputs() # Make sure the URLs are set up correctly by faking traversal root = DummyObject() root.john = DummyObject() root.john.mc = DummyObject() root.john.mc.clane = DummyObject() request['PARENTS'] = [root] request.traverse(request['PATH_INFO']) return request
def testRemoveStdinReferences(self): # Verifies that all references to the input stream go away on # request.close(). Otherwise a tempfile may stick around. import sys from StringIO import StringIO s = StringIO(TEST_FILE_DATA) env = TEST_ENVIRON.copy() start_count = sys.getrefcount(s) from ZPublisher.HTTPRequest import HTTPRequest req = HTTPRequest(s, env, None) req.processInputs() self.assertNotEqual(start_count, sys.getrefcount(s)) # Precondition req.close() self.assertEqual(start_count, sys.getrefcount(s)) # The test
def testFileIterator(self): # checks fileupload object supports the iterator protocol # collector entry 1837 import sys from StringIO import StringIO s = StringIO(TEST_FILE_DATA) env = TEST_ENVIRON.copy() from ZPublisher.HTTPRequest import HTTPRequest req = HTTPRequest(s, env, None) req.processInputs() f = req.form.get('file') self.assertEqual(list(f), ['test\n']) f.seek(0) self.assertEqual(f.next(), 'test\n') f.seek(0) self.assertEqual(f.xreadlines(), f)
def testFileIterator(self): # checks fileupload object supports the iterator protocol # collector entry 1837 import sys from StringIO import StringIO s = StringIO(TEST_FILE_DATA) env = TEST_ENVIRON.copy() from ZPublisher.HTTPRequest import HTTPRequest req = HTTPRequest(s, env, None) req.processInputs() f=req.form.get('file') self.assertEqual(list(f),['test\n']) f.seek(0) self.assertEqual(f.next(),'test\n') f.seek(0) self.assertEqual(f.xreadlines(),f)
def makerequest(environ=None, stdin=''): stdout = StringIO() stdin = StringIO(stdin) if environ is None: environ = {} # Header-Name -> HEADER_NAME _ = {} for k,v in environ.items(): k = k.replace('-', '_').upper() _[k] = v environ = _ response = HTTPResponse(stdout=stdout) environ.setdefault('SERVER_NAME', 'foo') environ.setdefault('SERVER_PORT', '80') request = HTTPRequest(stdin, environ, response) # process stdin data request.processInputs() return request
def makerequest(environ=None, stdin=''): stdout = StringIO() stdin = StringIO(stdin) if environ is None: environ = {} # Header-Name -> HEADER_NAME _ = {} for k, v in environ.items(): k = k.replace('-', '_').upper() _[k] = v environ = _ response = HTTPResponse(stdout=stdout) environ.setdefault('SERVER_NAME', 'foo') environ.setdefault('SERVER_PORT', '80') request = HTTPRequest(stdin, environ, response) # process stdin data request.processInputs() return request
def testDebug(self): TEST_ENVIRON = { 'REQUEST_METHOD': 'GET', 'SERVER_NAME': 'localhost', 'SERVER_PORT': '80', } from StringIO import StringIO from ZPublisher.HTTPRequest import HTTPRequest s = StringIO('') # accessing request.debug from non-Zope3 code will raise an # AttributeError env = TEST_ENVIRON.copy() request = HTTPRequest(s, env, None) request.processInputs() self.assertRaises(AttributeError, getattr, request, 'debug') # or it will actually yield a 'debug' form variable if it # exists env = TEST_ENVIRON.copy() env['QUERY_STRING'] = 'debug=1' request = HTTPRequest(s, env, None) request.processInputs() self.assertEqual(request.debug, '1') # if we access request.debug from a Zope 3 package, however, # we will see the DebugFlags instance def getDebug(request): return request.debug # make a forged copy of getDebug that looks as if its module # was a Zope 3 package z3globals = globals().copy() z3globals['__name__'] = 'zope.apackage' import new getDebugFromZope3 = new.function(getDebug.func_code, z3globals) from zope.publisher.base import DebugFlags self.assertEqual(getDebug(request), '1') self.assert_(isinstance(getDebugFromZope3(request), DebugFlags))
def makeFileUpload(data, filename): request_data = upload_request.format(filename, len(data), data) req = HTTPRequest(StringIO(request_data), test_environment.copy(), None) req.processInputs() return req.form.get('file')
def makeFileUpload(data, filename): request_data = upload_request % (filename, len(data), data) req = HTTPRequest(StringIO(request_data), test_environment.copy(), None) req.processInputs() return req.form.get('file')