def test_get_perurl_stats_too_many_erros(self): logfile = './tests/log/nginx-access-ui.log-20170704.log' extension = 'log' with self.assertRaisesRegexp(Exception, "Too many errors in parsing logfile."): log_analyzer.get_perurl_stats( log_analyzer.parse_logfile(logfile, extension), 5)
def test_get_perurl_stats_count_urls(self): logfile = './tests/log/nginx-access-ui.log-20170704.log' extension = 'log' urls_dict, requests_s_count, request_time_sum = log_analyzer.get_perurl_stats( log_analyzer.parse_logfile(logfile, extension), 20) self.assertEqual(len(urls_dict), 4) self.assertEqual(requests_s_count, 9) self.assertEqual(request_time_sum, 9) table = log_analyzer.generate_stats(urls_dict, requests_s_count, request_time_sum) self.assertEqual(len(table), 4)
def test_bad_gzip_open(self): with self.assertRaises(Exception) as context: parse_logfile(self.bad_gzip_path, config['ERROR_MAX_PERCENT']) self.assertTrue('Not a gzipped file' in context.exception)
def test_parse_wrong_data(self): self.assertEqual( parse_logfile(self.log_file_path2, config['ERROR_MAX_PERCENT']), LOG_WRONG_DATA)
def test_parse_wrong_data_max_percent_of_errors(self): with self.assertRaises(Exception) as context: parse_logfile(self.log_file_path3, config['ERROR_MAX_PERCENT']) self.assertTrue('file broken' in context.exception)
def test_parse_logfile(self): self.assertEqual( parse_logfile(self.log_file_path, config['ERROR_MAX_PERCENT']), LOG_DATA)