def test_group_by(self, file_content): parser = AccessLogParser() parser._parse_file_content(file_content['data']) group_by = file_content["group_by"] parser.group_by(group_by['param']) parsed_data = parser.access_events rez = group_by['rez'] assert len(parsed_data) == len(rez) for item in rez: assert item['requests'] == len(parsed_data[item['host']])
def test_get_file_content(self, file): parser = AccessLogParser() content = parser._get_file_content(file['name']) assert content == file['content']
def test_top_hosts(self, file_content): parser = AccessLogParser() parsed = parser._parse_file_content(file_content['data']) top_req = parser.get_top_requested_hosts() assert top_req == file_content["top_hosts"]
def test_page_content_parser(self, file_content): parser = AccessLogParser() parsed = parser._parse_file_content(file_content['data']) assert [pars['remote_host'] for pars in parsed] == file_content['hosts']
from access_log_parser import AccessLogParser parser = AccessLogParser() parser.parse_file("access.log.test") top_hosts = parser.get_top_requested_hosts() for host in top_hosts[:10]: print(host["host"])