def get_zope_request(webob_request): outstream = StringIO() response = ZServerHTTPResponse(stdout=outstream, stderr=sys.stderr) environ = webob_request.environ zope_request = Request(environ['wsgi.input'], environ, response) zope_request.processInputs() return zope_request
def test_setBodyIterator(self): channel = DummyChannel() one = ZServerHTTPResponse(stdout=channel) one.setHeader('content-length', 5) one.setBody(test_streamiterator()) one.outputBody() all = channel.all() lines = all.split('\r\n') self.assertEqual(lines[-2], '') # end of headers self.assertEqual(lines[-1], 'hello') # payload
def testStreaming(self): out = StringIO() response = ZServerHTTPResponse(stdout=out) response.write('datachunk1') response.write('datachunk2') events = self.reporter.events self.assertEqual(len(events), 1) self.assert_(isinstance(events[0], PubBeforeStreaming)) self.assertEqual(events[0].response, response) self.assertTrue('datachunk1datachunk2' in out.getvalue())
def test_setBodyIteratorFailsWithoutContentLength(self): one = ZServerHTTPResponse(stdout=DummyChannel()) self.assertRaises(AssertionError, one.setBody, test_streamiterator())
def test_http_response_write_unicode(self): response = ZServerHTTPResponse() self.assertRaises(TypeError, response.write, u'bad')
def _makeOne(self): return ZServerHTTPResponse()