def test_filter_ssl(self): """Check that filter_path filter works as expected.""" filter_func = filters.filter_ssl() method = 'GET' protocol = 'HTTP/1.1' paths = ('/ssl_path:443/image', '/something/else', '/another:443/ssl') results = [] for path in paths: self.http_request = '{0} {1} {2}'.format(method, path, protocol) raw_line = self._build_test_string() log_line = Line(raw_line) results.append(filter_func(log_line)) self.assertEqual(results, [True, False, True])
def test_filter_ssl(self): """Check that filter_path filter works as expected.""" filter_func = filters.filter_ssl() method = 'GET' protocol = 'HTTP/1.1' paths = ('/ssl_path:443/image', '/something/else', '/another:443/ssl', ) results = [] for path in paths: self.http_request = '{0} {1} {2}'.format(method, path, protocol) raw_line = self._build_test_string() log_line = Line(raw_line) results.append(filter_func(log_line)) self.assertEqual(results, [True, False, True, ])
def test_negate_filter(self): """Check that reversing a filter output works as expected.""" filter_func = filters.filter_ssl() log_file = Log(logfile='haproxy/tests/files/connection.log') # total number of log lines self.assertEqual(log_file.cmd_counter(), 12) # only SSL lines only_ssl = log_file.filter(filter_func) self.assertEqual(only_ssl.cmd_counter(), 7) # non SSL lines non_ssl = log_file.filter(filter_func, reverse=True) self.assertEqual(non_ssl.cmd_counter(), 5) # we did get all lines? self.assertEqual(log_file.cmd_counter(), only_ssl.cmd_counter() + non_ssl.cmd_counter())
def test_negate_filter(self): """Check that reversing a filter output works as expected.""" filter_func = filters.filter_ssl() log_file = Log( logfile='haproxy/tests/files/connection.log', ) # total number of log lines self.assertEqual(log_file.cmd_counter(), 12) # only SSL lines only_ssl = log_file.filter(filter_func) self.assertEqual(only_ssl.cmd_counter(), 7) # non SSL lines non_ssl = log_file.filter(filter_func, reverse=True) self.assertEqual(non_ssl.cmd_counter(), 5) # we did get all lines? self.assertEqual( log_file.cmd_counter(), only_ssl.cmd_counter() + non_ssl.cmd_counter() )
def test_filter_ssl(http_line_factory, path, result): """Check that filter_path filter works as expected.""" current_filter = filters.filter_ssl() http_request = f'GET {path} HTTP/1.1' line = http_line_factory(http_request=http_request) assert current_filter(line) is result