def test_UUIDv4_parameter_log_format(log_tracker, monkeypatch, server): """Test rendering of UUID4 within access log.""" monkeypatch.setattr( 'cherrypy._cplogging.LogManager.access_log_format', '{i}', ) log_tracker.markLog() host = webtest.interface(webtest.WebCase.HOST) port = webtest.WebCase.PORT requests.get('http://%s:%s/as_string' % (host, port)) log_tracker.assertValidUUIDv4()
def _get_conn_data(server): host, port = server.bind_addr interface = webtest.interface(host) if ':' in interface and not _probe_ipv6_sock(interface): interface = '127.0.0.1' if ':' in host: host = interface return interface, host, port
def test_tracebacks(server, caplog): host = webtest.interface(webtest.WebCase.HOST) port = webtest.WebCase.PORT with caplog.at_level(logging.ERROR, logger='cherrypy.error'): resp = requests.get('http://%s:%s/error' % (host, port)) rec = caplog.records[0] exc_cls, exc_msg = rec.exc_info[0], rec.message assert 'raise ValueError()' in resp.text assert 'HTTP' in exc_msg assert exc_cls is ValueError
def _get_conn_data(bind_addr): if isinstance(bind_addr, tuple): host, port = bind_addr else: host, port = bind_addr, 0 interface = webtest.interface(host) if ':' in interface and not _probe_ipv6_sock(interface): interface = '127.0.0.1' if ':' in host: host = interface return interface, host, port
def setup_server(cls): class Root(helper.Controller): def hello(self, req, resp): return "hello" cls.httpserver.wsgi_app = Root() cls.httpserver.ssl_adapter = helper.get_ssl_adapter(cls.adapter) context = ssl.SSLContext(ssl.PROTOCOL_SSLv23) context.check_hostname = False context.verify_mode = ssl.CERT_NONE cls.HTTP_CONN = HTTPSConnection(webtest.interface(cls.HOST), cls.PORT, context=context) cls.scheme = 'https'
def test_custom_log_format(log_tracker, monkeypatch, server): """Test a customized access_log_format string, which is a feature of _cplogging.LogManager.access().""" monkeypatch.setattr( 'cherrypy._cplogging.LogManager.access_log_format', '{h} {l} {u} {t} "{r}" {s} {b} "{f}" "{a}" {o}', ) log_tracker.markLog() host = webtest.interface(webtest.WebCase.HOST) port = webtest.WebCase.PORT requests.get( 'http://%s:%s/as_string' % (host, port), headers={ 'Referer': 'REFERER', 'User-Agent': 'USERAGENT', 'Host': 'HOST', }, ) log_tracker.assertLog(-1, '%s - - [' % host) log_tracker.assertLog( -1, '] "GET /as_string HTTP/1.1" ' '200 7 "REFERER" "USERAGENT" HOST', )