def function2680(): var3084 = mock.Mock() var1229 = helpers.AccessLogger(var3084, '%a') var1229.log(None, None, None, None, 0) var3084.info.assert_called_with('-', extra={ 'remote_address': '-', })
def test_logger_internal_error(): mock_logger = mock.Mock() mock_transport = mock.Mock() mock_transport.get_extra_info.return_value = ("127.0.0.3", 0) access_logger = helpers.AccessLogger(mock_logger, "%D") access_logger.log(None, None, None, mock_transport, 'invalid') mock_logger.exception.assert_called_with("Error in logging")
def test_logger_no_message_and_environ(): mock_logger = mock.Mock() mock_transport = mock.Mock() mock_transport.get_extra_info.return_value = ("127.0.0.3", 0) access_logger = helpers.AccessLogger(mock_logger, "%r %{FOOBAR}e") access_logger.log(None, None, None, mock_transport, 0.0) mock_logger.info.assert_called_with("- -")
def function668(): var16 = mock.Mock() var4100 = mock.Mock() var4100.get_extra_info.return_value = ('127.0.0.3', 0) var3104 = helpers.AccessLogger(var16, '%D') var3104.log(None, None, None, var4100, 'invalid') var16.exception.assert_called_with('Error in logging')
def function1533(): var3251 = '%{User-Agent}i %{Content-Length}o %{SPAM}e %{None}i' var3764 = mock.Mock() var1864 = helpers.AccessLogger(var3764, var3251) var2416 = mock.Mock(headers={ 'User-Agent': 'Mock/1.0', }, version=(1, 1)) var903 = { 'SPAM': 'EGGS', } var2351 = mock.Mock(headers={ 'Content-Length': 123, }) var52 = mock.Mock() var52.get_extra_info.return_value = ('127.0.0.2', 1234) var1864.log(var2416, var903, var2351, var52, 0.0) assert (not var3764.error.called) var4348 = 'Mock/1.0 123 EGGS -' var3329 = { 'environ': { 'SPAM': 'EGGS', }, 'request_header': { 'None': '-', }, 'response_header': { 'Content-Length': 123, }, } var3764.info.assert_called_with(var4348, extra=var3329)
def __init__( self, *, loop=None, keep_alive=75, # NGINX default value is 75 secs keep_alive_on=True, timeout=0, logger=server_logger, access_log=None, access_log_format=helpers.AccessLogger.LOG_FORMAT, debug=False, log=None, **kwargs): super().__init__(loop=loop, disconnect_error=errors.ClientDisconnectedError, **kwargs) self._keep_alive_on = keep_alive_on self._keep_alive_period = keep_alive # number of seconds to keep alive self._timeout = timeout # slow request timeout self._loop = loop if loop is not None else asyncio.get_event_loop() self.logger = log or logger self.debug = debug self.access_log = access_log if access_log: self.access_logger = helpers.AccessLogger(access_log, access_log_format) else: self.access_logger = None
def test_access_logger_atoms(mocker): mock_datetime = mocker.patch("aiohttp.helpers.datetime") mock_getpid = mocker.patch("os.getpid") utcnow = datetime.datetime(1843, 1, 1, 0, 0) mock_datetime.datetime.utcnow.return_value = utcnow mock_getpid.return_value = 42 log_format = '%a %t %P %l %u %r %s %b %O %T %Tf %D' mock_logger = mock.Mock() access_logger = helpers.AccessLogger(mock_logger, log_format) message = mock.Mock(headers={}, method="GET", path="/path", version=(1, 1)) environ = {} response = mock.Mock(headers={}, output_length=123, body_length=42, status=200) transport = mock.Mock() transport.get_extra_info.return_value = ("127.0.0.2", 1234) access_logger.log(message, environ, response, transport, 3.1415926) assert not mock_logger.exception.called expected = ('127.0.0.2 [01/Jan/1843:00:00:00 +0000] <42> - - ' 'GET /path HTTP/1.1 200 42 123 3 3.141593 3141593') extra = { 'bytes_sent': 123, 'first_request_line': 'GET /path HTTP/1.1', 'process_id': '<42>', 'remote_address': '127.0.0.2', 'request_time': 3, 'request_time_frac': '3.141593', 'request_time_micro': 3141593, 'response_size': 42, 'response_status': 200 } mock_logger.info.assert_called_with(expected, extra=extra)
def function1739(arg1359): var2042 = arg1359.patch('aiohttp.helpers.datetime') var551 = arg1359.patch('os.getpid') var2129 = datetime.datetime(1843, 1, 1, 0, 0) var2042.datetime.var2129.return_value = var2129 var551.return_value = 42 var4239 = '%a %t %P %l %u %r %s %b %T %Tf %D' var4323 = mock.Mock() var1237 = helpers.AccessLogger(var4323, var4239) var4105 = mock.Mock(headers={}, method='GET', path='/path', version=(1, 1)) var920 = {} var1319 = mock.Mock(headers={}, body_length=42, status=200) var2498 = mock.Mock() var2498.get_extra_info.return_value = ('127.0.0.2', 1234) var1237.log(var4105, var920, var1319, var2498, 3.1415926) assert (not var4323.exception.called) var3908 = '127.0.0.2 [01/Jan/1843:00:00:00 +0000] <42> - - GET /path HTTP/1.1 200 42 3 3.141593 3141593' var32 = { 'first_request_line': 'GET /path HTTP/1.1', 'process_id': '<42>', 'remote_address': '127.0.0.2', 'request_time': 3, 'request_time_frac': '3.141593', 'request_time_micro': 3141593, 'response_size': 42, 'response_status': 200, } var4323.info.assert_called_with(var3908, extra=var32)
def test_access_logger_dicts(): log_format = '%{User-Agent}i %{Content-Length}o %{SPAM}e %{None}i' mock_logger = mock.Mock() access_logger = helpers.AccessLogger(mock_logger, log_format) message = mock.Mock(headers={"User-Agent": "Mock/1.0"}, version=(1, 1)) environ = {"SPAM": "EGGS"} response = mock.Mock(headers={"Content-Length": 123}) transport = mock.Mock() transport.get_extra_info.return_value = ("127.0.0.2", 1234) access_logger.log(message, environ, response, transport, 0.0) assert not mock_logger.error.called expected = 'Mock/1.0 123 EGGS -' extra = { 'environ': { 'SPAM': 'EGGS' }, 'request_header': { 'None': '-' }, 'response_header': { 'Content-Length': 123 } } mock_logger.info.assert_called_with(expected, extra=extra)
def test_access_logger_atoms(mocker): utcnow = datetime.datetime(1843, 1, 1, 0, 30) mock_datetime = mocker.patch("aiohttp.helpers.datetime.datetime") mock_getpid = mocker.patch("os.getpid") mock_datetime.utcnow.return_value = utcnow mock_getpid.return_value = 42 log_format = '%a %t %P %r %s %b %T %Tf %D "%{H1}i" "%{H2}i"' mock_logger = mock.Mock() access_logger = helpers.AccessLogger(mock_logger, log_format) request = mock.Mock(headers={'H1': 'a', 'H2': 'b'}, method="GET", path_qs="/path", version=(1, 1), remote="127.0.0.2") response = mock.Mock(headers={}, body_length=42, status=200) access_logger.log(request, response, 3.1415926) assert not mock_logger.exception.called expected = ('127.0.0.2 [01/Jan/1843:00:29:56 +0000] <42> ' 'GET /path HTTP/1.1 200 42 3 3.141593 3141593 "a" "b"') extra = { 'first_request_line': 'GET /path HTTP/1.1', 'process_id': '<42>', 'remote_address': '127.0.0.2', 'request_start_time': '[01/Jan/1843:00:29:56 +0000]', 'request_time': 3, 'request_time_frac': '3.141593', 'request_time_micro': 3141593, 'response_size': 42, 'response_status': 200, 'request_header': {'H1': 'a', 'H2': 'b'}, } mock_logger.info.assert_called_with(expected, extra=extra)
def __init__( self, *, loop=None, time_service=None, keepalive_timeout=75, # NGINX default value is 75 secs tcp_keepalive=True, slow_request_timeout=0, logger=server_logger, access_log=access_logger, access_log_format=helpers.AccessLogger.LOG_FORMAT, debug=False, max_line_size=8190, max_headers=32768, max_field_size=8190, lingering_time=30.0, lingering_timeout=5.0, **kwargs): # process deprecated params logger = _get_kwarg(kwargs, 'log', 'logger', logger) tcp_keepalive = _get_kwarg(kwargs, 'keep_alive_on', 'tcp_keepalive', tcp_keepalive) keepalive_timeout = _get_kwarg(kwargs, 'keep_alive', 'keepalive_timeout', keepalive_timeout) slow_request_timeout = _get_kwarg(kwargs, 'timeout', 'slow_request_timeout', slow_request_timeout) super().__init__(loop=loop, disconnect_error=errors.ClientDisconnectedError, **kwargs) self._loop = loop if loop is not None else asyncio.get_event_loop() self._time_service = (time_service if time_service is not None else TimeService(self._loop)) self._tcp_keepalive = tcp_keepalive self._keepalive_timeout = keepalive_timeout self._slow_request_timeout = slow_request_timeout self._lingering_time = float(lingering_time) self._lingering_timeout = float(lingering_timeout) self._request_parser = aiohttp.HttpRequestParser( max_line_size=max_line_size, max_field_size=max_field_size, max_headers=max_headers) self.logger = logger self.debug = debug self.access_log = access_log if access_log: self.access_logger = helpers.AccessLogger(access_log, access_log_format) else: self.access_logger = None self._closing = False
def test_logger_no_message(): mock_logger = mock.Mock() access_logger = helpers.AccessLogger(mock_logger, "%r %{content-type}i") extra_dict = { 'first_request_line': '-', 'request_header': {'content-type': '(no headers)'} } access_logger.log(None, None, 0.0) mock_logger.info.assert_called_with("- (no headers)", extra=extra_dict)
def test_access_logger_unix_socket(): log_format = '|%a|' mock_logger = mock.Mock() access_logger = helpers.AccessLogger(mock_logger, log_format) request = mock.Mock(headers={"User-Agent": "Mock/1.0"}, version=(1, 1), remote="") response = mock.Mock() access_logger.log(request, response, 0.0) assert not mock_logger.error.called expected = '||' mock_logger.info.assert_called_with(expected, extra={'remote_address': ''})
def test_access_logger_unix_socket(): log_format = '|%a|' mock_logger = mock.Mock() access_logger = helpers.AccessLogger(mock_logger, log_format) message = mock.Mock(headers={"User-Agent": "Mock/1.0"}, version=(1, 1)) environ = {} response = mock.Mock() transport = mock.Mock() transport.get_extra_info.return_value = "" access_logger.log(message, environ, response, transport, 0.0) assert not mock_logger.error.called expected = '||' mock_logger.info.assert_called_with(expected, extra={'remote_address': ''})
def test_access_logger_dicts(): log_format = '%{User-Agent}i %{Content-Length}o %{SPAM}e %{None}i' mock_logger = mock.Mock() access_logger = helpers.AccessLogger(mock_logger, log_format) message = mock.Mock(headers={"USER-AGENT": "Mock/1.0"}, version=(1, 1)) environ = {"SPAM": "EGGS"} response = mock.Mock(headers={"CONTENT-LENGTH": 123}) transport = mock.Mock() transport.get_extra_info.return_value = ("127.0.0.2", 1234) access_logger.log(message, environ, response, transport, 0.0) assert not mock_logger.error.called expected = 'Mock/1.0 123 EGGS -' mock_logger.info.assert_called_with(expected)
def test_logger_no_message_and_environ(): mock_logger = mock.Mock() mock_transport = mock.Mock() mock_transport.get_extra_info.return_value = ("127.0.0.3", 0) access_logger = helpers.AccessLogger(mock_logger, "%r %{FOOBAR}e %{content-type}i") extra_dict = { 'environ': {'FOOBAR': '-'}, 'first_request_line': '-', 'request_header': {'content-type': '(no headers)'} } access_logger.log(None, None, None, mock_transport, 0.0) mock_logger.info.assert_called_with("- - (no headers)", extra=extra_dict)
def test_access_logger_dicts(): log_format = '%{User-Agent}i %{Content-Length}o %{None}i' mock_logger = mock.Mock() access_logger = helpers.AccessLogger(mock_logger, log_format) request = mock.Mock(headers={"User-Agent": "Mock/1.0"}, version=(1, 1), remote="127.0.0.2") response = mock.Mock(headers={"Content-Length": 123}) access_logger.log(request, response, 0.0) assert not mock_logger.error.called expected = 'Mock/1.0 123 -' extra = { 'request_header': {'None': '-'}, 'response_header': {'Content-Length': 123} } mock_logger.info.assert_called_with(expected, extra=extra)
def function1280(): var2583 = mock.Mock() var2169 = mock.Mock() var2169.get_extra_info.return_value = ('127.0.0.3', 0) var829 = helpers.AccessLogger(var2583, '%r %{FOOBAR}e %{content-type}i') var2543 = { 'environ': { 'FOOBAR': '-', }, 'first_request_line': '-', 'request_header': { 'content-type': '(no headers)', }, } var829.log(None, None, None, var2169, 0.0) var2583.info.assert_called_with('- - (no headers)', extra=var2543)
def function64(): var771 = '|%a|' var1466 = mock.Mock() var305 = helpers.AccessLogger(var1466, var771) var1375 = mock.Mock(headers={ 'User-Agent': 'Mock/1.0', }, version=(1, 1)) var2441 = {} var3250 = mock.Mock() var3054 = mock.Mock() var3054.get_extra_info.return_value = '' var305.log(var1375, var2441, var3250, var3054, 0.0) assert (not var1466.error.called) var804 = '||' var1466.info.assert_called_with(var804, extra={ 'remote_address': '', })
def test_access_logger_atoms(mock_getpid, mock_datetime): utcnow = datetime.datetime(1843, 1, 1, 0, 0) mock_datetime.datetime.utcnow.return_value = utcnow mock_getpid.return_value = 42 log_format = '%a %t %P %l %u %r %s %b %O %T %Tf %D' mock_logger = mock.Mock() access_logger = helpers.AccessLogger(mock_logger, log_format) message = mock.Mock(headers={}, method="GET", path="/path", version=(1, 1)) environ = {} response = mock.Mock(headers={}, output_length=123, body_length=42, status=200) transport = mock.Mock() transport.get_extra_info.return_value = ("127.0.0.2", 1234) access_logger.log(message, environ, response, transport, 3.1415926) assert not mock_logger.exception.called expected = ('127.0.0.2 [01/Jan/1843:00:00:00 +0000] <42> - - ' 'GET /path HTTP/1.1 200 42 123 3 3.141593 3141593') mock_logger.info.assert_called_with(expected)
def function1052(): var2292 = '%T {%{SPAM}e} "%{ETag}o" %X {X} %%P %{FOO_TEST}e %{FOO1}e' var2476 = mock.Mock() var3932 = helpers.AccessLogger(var2476, var2292) var926 = '%s {%s} "%s" %%X {X} %%%s %s %s' assert (var926 == var3932._log_format)
def test_access_logger_format(): log_format = '%T {%{SPAM}e} "%{ETag}o" %X {X} %%P %{FOO_TEST}e %{FOO1}e' mock_logger = mock.Mock() access_logger = helpers.AccessLogger(mock_logger, log_format) expected = '%s {%s} "%s" %%X {X} %%%s %s %s' assert expected == access_logger._log_format
def test_logger_internal_error(): mock_logger = mock.Mock() access_logger = helpers.AccessLogger(mock_logger, "%D") access_logger.log(None, None, 'invalid') mock_logger.exception.assert_called_with("Error in logging")
def test_access_logger_format(): log_format = '%T "%{ETag}o" %X {X} %%P' mock_logger = mock.Mock() access_logger = helpers.AccessLogger(mock_logger, log_format) expected = '%s "%s" %%X {X} %%%s' assert expected == access_logger._log_format
def test_logger_no_transport(): mock_logger = mock.Mock() access_logger = helpers.AccessLogger(mock_logger, "%a") access_logger.log(None, None, None, None, 0) mock_logger.info.assert_called_with("-", extra={'remote_address': '-'})
def __init__(self, *, loop=None, time_service=None, keepalive_timeout=75, # NGINX default value is 75 secs tcp_keepalive=True, slow_request_timeout=None, logger=server_logger, access_log=access_logger, access_log_format=helpers.AccessLogger.LOG_FORMAT, debug=False, max_line_size=8190, max_headers=32768, max_field_size=8190, lingering_time=30.0, lingering_timeout=5.0, max_concurrent_handlers=2, **kwargs): # process deprecated params logger = kwargs.get('logger', logger) if slow_request_timeout is not None: warnings.warn( 'slow_request_timeout is deprecated', DeprecationWarning) super().__init__(loop=loop) self._loop = loop if loop is not None else asyncio.get_event_loop() if time_service is not None: self._time_service_owner = False self._time_service = time_service else: self._time_service_owner = True self._time_service = TimeService(self._loop) self._tcp_keepalive = tcp_keepalive self._keepalive_handle = None self._keepalive_timeout = keepalive_timeout self._lingering_time = float(lingering_time) self._lingering_timeout = float(lingering_timeout) self._messages = deque() self._message_lines = [] self._message_tail = b'' self._waiters = deque() self._reading_request = False self._request_handlers = [] self._max_concurrent_handlers = max_concurrent_handlers self._upgrade = False self._payload_parser = None self._request_parser = aiohttp.HttpRequestParser( max_line_size=max_line_size, max_field_size=max_field_size, max_headers=max_headers) self.transport = None self._reading_paused = False self.logger = logger self.debug = debug self.access_log = access_log if access_log: self.access_logger = helpers.AccessLogger( access_log, access_log_format) else: self.access_logger = None self._closing = False