def test_on_request(self): app = Application() request = HTTPRequest('POST', '/collector?hello=world', body=b"foo=bar&bar=foo", headers={'Content-Type': 'application/x-www-form-urlencoded'}, connection=get_dummy_connection()) handler = RequestHandler(app, request) handler.run = Run() self.collector.on_request(handler, handler.run) self.assertEquals({ 'body_arguments': {}, 'cookies': '', 'headers': {'Content-Type': 'application/x-www-form-urlencoded'}, 'host': '127.0.0.1', 'method': 'POST', 'path': '/collector', 'protocol': 'http', 'query': 'hello=world', 'body': 'foo=bar&bar=foo', 'query_arguments': {'hello': ['world']}, 'remote_ip': '127.0.0.1', 'uri': '/collector?hello=world', 'version': 'HTTP/1.0', 'controller': {'class': False, 'file': False, 'line': False, 'method': False}, 'route': False, 'status_code': False, }, handler.run.get_metric('request'))
def test_run(self): app = Application() request = HTTPRequest("GET", "/", connection=get_dummy_connection()) handler = RequestHandler(app, request) handler.run = Run() shutil.rmtree("/tmp/python-element/", ignore_errors=True) path = "/tmp/python-element//%s" % handler.run.id os.makedirs(path) p = PyCallgraphCollector("/tmp/python-element/") p.on_request(handler, handler.run) self.assertIsInstance(handler.run, Run) p.on_terminate(handler, handler.run) self.assertTrue(os.path.isfile("/tmp/python-element/%s/pycallgraph.dot" % handler.run.id))