def testHandleRequestAsynchronous(self): logger = ApacheLogger(StringIO()) observer = CallTrace('handler') observer.returnValues['handleRequest'] = (f for f in [str, okPlainText, 'text', int]) logger.addObserver(observer) result = list(compose(logger.handleRequest(Method='GET', Client=('127.0.0.1', 1234), RequestURI='http://example.org/path?key=value', query='key=value', path='/path', Headers={}, otherKwarg='value'))) self.assertEqual([str, okPlainText, 'text', int], result)
def testHandleRequestAsynchronous(self): logger = ApacheLogger(StringIO()) observer = CallTrace('handler') observer.returnValues['handleRequest'] = (f for f in [str, okPlainText, 'text', int]) logger.addObserver(observer) result = list(compose(logger.handleRequest(Method='GET', Client=('127.0.0.1', 1234), RequestURI='http://example.org/path?key=value', query='key=value', path='/path', Headers={}, otherKwarg='value'))) self.assertEquals([str, okPlainText, 'text', int], result)
def testLogHandleRequest(self): output = StringIO() logger = ApacheLogger(output) observer = CallTrace('handler') observer.returnValues['handleRequest'] = (f for f in [okPlainText, 'text']) logger.addObserver(observer) result = ''.join(compose(logger.handleRequest(Method='GET', Client=('127.0.0.1', 1234), RequestURI='http://example.org/path?key=value', query='key=value', path='/path', Headers={}, otherKwarg='value'))) self.assertEqual(okPlainText + 'text', result) logline = output.getvalue() beforeTimestamp = logline.split('[',1)[0] afterTimestamp = logline.split(']', 1)[-1] self.assertEqual('127.0.0.1 - - ', beforeTimestamp) self.assertEqual(' "GET /path?key=value HTTP/1.0" 200 ?? "-" "-"\n' , afterTimestamp) self.assertEqual(['handleRequest'], [m.name for m in observer.calledMethods]) self.assertEqual([dict(Method='GET', Client=('127.0.0.1', 1234), RequestURI='http://example.org/path?key=value', query='key=value', path='/path', Headers={}, otherKwarg='value')], [m.kwargs for m in observer.calledMethods])
def testLogHandleRequest(self): output = StringIO() logger = ApacheLogger(output) observer = CallTrace('handler') observer.returnValues['handleRequest'] = (f for f in [okPlainText, 'text']) logger.addObserver(observer) result = ''.join(compose(logger.handleRequest(Method='GET', Client=('127.0.0.1', 1234), RequestURI='http://example.org/path?key=value', query='key=value', path='/path', Headers={}, otherKwarg='value'))) self.assertEquals(okPlainText + 'text', result) logline = output.getvalue() beforeTimestamp = logline.split('[',1)[0] afterTimestamp = logline.split(']', 1)[-1] self.assertEquals('127.0.0.1 - - ', beforeTimestamp) self.assertEquals(' "GET /path?key=value HTTP/1.0" 200 ?? "-" "-"\n' , afterTimestamp) self.assertEquals(['handleRequest'], [m.name for m in observer.calledMethods]) self.assertEquals([dict(Method='GET', Client=('127.0.0.1', 1234), RequestURI='http://example.org/path?key=value', query='key=value', path='/path', Headers={}, otherKwarg='value')], [m.kwargs for m in observer.calledMethods])