~david-goetz/swift/obj_server_file_checker

« back to all changes in this revision

Viewing changes to test/unit/stats/test_access_processor.py

  • Committer: David Goetz
  • Date: 2011-03-23 23:41:03 UTC
  • mfrom: (238.2.13 swift)
  • Revision ID: david.goetz@rackspace.com-20110323234103-95l55wprns18osxs
merge to trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
 
22
22
class TestAccessProcessor(unittest.TestCase):
23
23
 
 
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'
 
29
        query = 'foo'
 
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:
 
44
            expected[param] = 1
 
45
        expected['query'] = query
 
46
        self.assertEquals(res, expected)
 
47
        
24
48
    def test_log_line_parser_field_count(self):
25
49
        p = access_processor.AccessLogProcessor({})
26
50
        # too few fields