def test_init_set_filter_ip_when_cidr_is_valid(self):
     """Test WebLogHelper constructor works with a valid cidr"""
     helper = weblog_helper.WebLogHelper('192.168.1.0/30',
                                         'my-log-file.log')
     self.assertListEqual(
         helper.filter_ip_list,
         ['192.168.1.0', '192.168.1.1', '192.168.1.2', '192.168.1.3'])
 def test_run_filter_filter_log_by_ip(self, print_mock):
     """Test WebLogHelper run_filter give expected result when filtered by an ip"""
     helper = weblog_helper.WebLogHelper('31.184.238.128',
                                         './test-data/small.log')
     helper.run_filter()
     print_mock.assert_called_with(
         '31.184.238.128 - - [02/Jun/2015:17:00:12 -0700] "GET /logs/access.log HTTP/1.1" 200 2145998\n',
         end='')
 def test_run_filter_filter_log_by_cidr(self, print_mock):
     """Test WebLogHelper run_filter give expected result when filtered by cidr"""
     helper = weblog_helper.WebLogHelper('180.76.15.0/24',
                                         './test-data/small.log')
     print_calls = [
         call(
             '180.76.15.135 - - [02/Jun/2015:17:05:23 -0700] "GET /logs/access_140730.log HTTP/1.1" 200 979626\n',
             end=''),
         call(
             '180.76.15.137 - - [02/Jun/2015:17:05:28 -0700] "GET /logs/access_140730.log HTTP/1.1" 200 7849856\n',
             end='')
     ]
     helper.run_filter()
     print_mock.assert_has_calls(print_calls, any_order=False)
 def test_run_filter_filter_all_log_lines_by_ip(self, print_mock):
     """Test WebLogHelper run_filter give expected set of result when filtered by an ip"""
     helper = weblog_helper.WebLogHelper('178.93.28.59',
                                         './test-data/small.log')
     print_calls = [
         call(
             '178.93.28.59 - - [02/Jun/2015:17:06:06 -0700] "GET /logs/access_150122.log HTTP/1.1" 200 3240056\n',
             end=''),
         call(
             '178.93.28.59 - - [02/Jun/2015:17:06:09 -0700] "GET /logs/access_150122.log HTTP/1.1" 200 3240056\n',
             end=''),
         call(
             '178.93.28.59 - - [02/Jun/2015:17:06:10 -0700] "GET /logs/access_150122.log HTTP/1.1" 200 3240056\n',
             end=''),
         call(
             '178.93.28.59 - - [02/Jun/2015:17:06:11 -0700] "GET /logs/access_150122.log HTTP/1.1" 200 720088\n',
             end=''),
         call(
             '178.93.28.59 - - [02/Jun/2015:17:06:11 -0700] "GET /logs/access_150122.log HTTP/1.1" 200 3240056\n',
             end='')
     ]
     helper.run_filter()
     print_mock.assert_has_calls(print_calls, any_order=False)
 def test_init_set_log_file_number_string(self):
     """Test WebLogHelper constructor works with a number string as log file"""
     helper = weblog_helper.WebLogHelper('192.168.0.1', 12345)
     self.assertEqual(helper.web_log_file, 12345)
 def test_init_set_log_file_string(self):
     """Test WebLogHelper constructor works with a string as log file"""
     helper = weblog_helper.WebLogHelper('192.168.0.1', 'my-log-file.log')
     self.assertEqual(helper.web_log_file, 'my-log-file.log')