Example #1
0
 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)
Example #2
0
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())
Example #3
0
    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)
Example #4
0
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)
Example #5
0
 def setUp(self):
     self.zopereq = ZopeRequest(default_adj)
     self.zopereq.received("GET / HTTP/1.1\n\n")
     self.request = Request(self.zopereq)
Example #6
0
        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!'
Example #7
0
 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)