def testHandleRequest(self): observer = CallTrace('Observer', methods={ 'handleRequest': lambda *a, **kw: (x for x in []) }) s = ObservableHttpServer(CallTrace('Reactor'), 1024) s.addObserver(observer) list( compose( s.handleRequest( RequestURI= 'http://localhost/path?key=value&emptykey#fragment'))) self.assertEquals(1, len(observer.calledMethods)) method = observer.calledMethods[0] self.assertEquals('handleRequest', method.name) self.assertEquals(0, len(method.args)) self.assertEquals(7, len(method.kwargs)) self.assertTrue('arguments' in method.kwargs, method.kwargs) arguments = method.kwargs['arguments'] self.assertEquals(2, len(arguments)) self.assertEquals(['emptykey', 'key'], sorted(arguments.keys())) self.assertEquals(['value'], arguments['key']) self.assertEquals([''], arguments['emptykey'])
def testSimpleHandleRequest(self): observer = CallTrace('Observer', methods={'handleRequest': lambda *a, **kw: (x for x in [])}) s = ObservableHttpServer(CallTrace('Reactor'), 1024) s.addObserver(observer) list(compose(s.handleRequest(RequestURI='http://localhost'))) self.assertEquals(1, len(observer.calledMethods)) method = observer.calledMethods[0] self.assertEquals('handleRequest', method.name) self.assertEquals(0, len(method.args)) self.assertEquals(7, len(method.kwargs))
def testMaxConnectionsErrorHandling(self): observer = CallTrace('Observer', methods={'handleRequest': lambda *a, **kw: (x for x in [])}) reactor = CallTrace('Reactor') s = ObservableHttpServer(reactor, 1024, maxConnections=5) s.addObserver(observer) result = ''.join(s._error(ResponseCode=503, something='bicycle')) self.assertEquals(1, len(observer.calledMethods)) self.assertEquals('logHttpError', observer.calledMethods[0].name) self.assertEquals({'ResponseCode': 503, 'something': 'bicycle'}, observer.calledMethods[0].kwargs) header, body = result.split(CRLF * 2) self.assertTrue(header.startswith('HTTP/1.0 503'), header) self.assertTrue('Service Unavailable' in body, body)
def testSimpleHandleRequest(self): observer = CallTrace('Observer', methods={ 'handleRequest': lambda *a, **kw: (x for x in []) }) s = ObservableHttpServer(CallTrace('Reactor'), 1024) s.addObserver(observer) list(compose(s.handleRequest(RequestURI='http://localhost'))) self.assertEquals(1, len(observer.calledMethods)) method = observer.calledMethods[0] self.assertEquals('handleRequest', method.name) self.assertEquals(0, len(method.args)) self.assertEquals(7, len(method.kwargs))
def testHandleRequest(self): observer = CallTrace('Observer', methods={'handleRequest': lambda *a, **kw: (x for x in [])}) s = ObservableHttpServer(CallTrace('Reactor'), 1024) s.addObserver(observer) list(compose(s.handleRequest(RequestURI='http://localhost/path?key=value&emptykey#fragment'))) self.assertEquals(1, len(observer.calledMethods)) method = observer.calledMethods[0] self.assertEquals('handleRequest', method.name) self.assertEquals(0, len(method.args)) self.assertEquals(7, len(method.kwargs)) self.assertTrue('arguments' in method.kwargs, method.kwargs) arguments = method.kwargs['arguments'] self.assertEquals(2, len(arguments)) self.assertEquals(['emptykey', 'key'], sorted(arguments.keys())) self.assertEquals(['value'], arguments['key']) self.assertEquals([''], arguments['emptykey'])
def testMaxConnectionsErrorHandling(self): observer = CallTrace('Observer', methods={ 'handleRequest': lambda *a, **kw: (x for x in []) }) reactor = CallTrace('Reactor') s = ObservableHttpServer(reactor, 1024, maxConnections=5) s.addObserver(observer) result = ''.join(s._error(ResponseCode=503, something='bicycle')) self.assertEquals(1, len(observer.calledMethods)) self.assertEquals('logHttpError', observer.calledMethods[0].name) self.assertEquals({ 'ResponseCode': 503, 'something': 'bicycle' }, observer.calledMethods[0].kwargs) header, body = result.split(CRLF * 2) self.assertTrue(header.startswith('HTTP/1.0 503'), header) self.assertTrue('Service Unavailable' in body, body)