22
22
class TestAccessProcessor(unittest.TestCase):
24
def test_log_line_parser_query_args(self):
25
p = access_processor.AccessLogProcessor({})
26
log_line = [str(x) for x in range(18)]
27
log_line[1] = 'proxy-server'
28
log_line[4] = '1/Jan/3/4/5/6'
30
for param in access_processor.LISTING_PARAMS:
31
query += '&%s=blah' % param
32
log_line[6] = '/v1/a/c/o?%s' % query
33
log_line = 'x'*16 + ' '.join(log_line)
34
res = p.log_line_parser(log_line)
35
expected = {'code': 8, 'processing_time': '17', 'auth_token': '11',
36
'month': '01', 'second': '6', 'year': '3', 'tz': '+0000',
37
'http_version': '7', 'object_name': 'o', 'etag': '14',
38
'method': '5', 'trans_id': '15', 'client_ip': '2',
39
'bytes_out': 13, 'container_name': 'c', 'day': '1',
40
'minute': '5', 'account': 'a', 'hour': '4',
41
'referrer': '9', 'request': '/v1/a/c/o',
42
'user_agent': '10', 'bytes_in': 12, 'lb_ip': '3'}
43
for param in access_processor.LISTING_PARAMS:
45
expected['query'] = query
46
self.assertEquals(res, expected)
24
48
def test_log_line_parser_field_count(self):
25
49
p = access_processor.AccessLogProcessor({})