def make_request(uri, headers=None, Zope=False): if headers is None: headers = {} request = ZopeRequest() request.received("GET %s HTTP/1.1\r\n" % uri) for header in headers.items(): request.received("%s: %s\r\n" % header) request.received('\r\n') if Zope: return request else: return Request(request)
class TestRequest(unittest.TestCase): def setUp(self): self.zopereq = ZopeRequest(default_adj) self.zopereq.received("GET / HTTP/1.1\n\n") self.request = Request(self.zopereq) def testZopeRequestAPI(self): expected = ZOPEREQ_API actual = dir(self.zopereq) self.assertEqual(expected, actual) def testRequestAPI(self): expected = REQUEST_API actual = dir(self.request) self.assertEqual(expected, actual) def testNoBodyStillHasEmailMessageMessage(self): expected = True actual = isinstance(self.request.message, Message) self.assertEqual(expected, actual) def testBadRequestObject(self): self.assertRaises(DoesNotImplement, Request, object())
def testBodyNotWrittenForHEADRequest(self): self.task.request = ZopeRequest() self.task.request.received("HEAD / HTTP/1.1\r\n\r\n") response = Response(200) response.body = "Greetings, program!" self.task.deliver(response) expected = [ 'HTTP/1.0 200 OK', 'content-length: 19', 'content-type: application/octet-stream', 'server: stub server', '' ] actual = self.task.channel.getvalue().splitlines() self.assertEqual(expected, actual)
class TestRequest(unittest.TestCase): """These tests cover overall instantiation of a Request. """ def setUp(self): self.request = ZopeRequest(default_adj) def testPostWithBody(self): req = ("POST / HTTP/1.1\r\ncontent-length: 7\r\n\r\nfoo=bar\r\n") self.request.received(req) self.assert_(self.request.completed) def testGetWithNoBody(self): req = "GET / HTTP/1.1\r\nHost: josemaria:5370\r\n\r\n" self.request.received(req) self.assert_(self.request.completed) def testGetWithNoHeadersEither(self): req = "GET / HTTP/1.1\r\n\r\n" self.request.received(req) self.assert_(self.request.completed)
def setUp(self): self.zopereq = ZopeRequest(default_adj) self.zopereq.received("GET / HTTP/1.1\n\n") self.request = Request(self.zopereq)
self.response_header = "stub server" self.config = Config(['-rroot']) self.debug_mode = False self.deploy_mode = True self.devel_mode = False class StubChannel(StringIO): def __init__(self): self.server = StubServer() StringIO.__init__(self) def close_when_done(self): pass request = ZopeRequest(default_adj) request.received("GET / HTTP/1.1\r\n\r\n") def DUMMY_TASK(): return Task(StubChannel(), request) DUMMY_APP = """\ from httpy.Response import Response class Application: def respond(self, request): response = Response(200) response.headers['content-type'] = 'text/plain' response.body = 'Greetings, program!'
def setUp(self): self.request = ZopeRequest(default_adj)
def setUp(self): self.request = ZopeRequest(default_adj) newline = '\n' (self.IE_CRAP, self.LINE, self.LINE2, self.HEADERS, self.HEADERS2, self.BODY, self.POST, self.GET) = REQUEST_PARTS(newline)