diff options
author | Yaroslav Halchenko <debian@onerussian.com> | 2011-10-07 15:15:18 -0400 |
---|---|---|
committer | Yaroslav Halchenko <debian@onerussian.com> | 2011-10-07 15:15:18 -0400 |
commit | 94aa94e966a671e6fad90128b013b79f3dd84a4b (patch) | |
tree | 93d18efd128018544b27e0d0e0ce90d08467f84d | |
parent | 6641b1ce8b31c8bc1c0f717b1ba507d4f248c7d8 (diff) | |
download | fail2ban-94aa94e966a671e6fad90128b013b79f3dd84a4b.tar.gz |
ENH: more human-accessible printout of the dates if any comparison fails
-rw-r--r-- | testcases/filtertestcase.py | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/testcases/filtertestcase.py b/testcases/filtertestcase.py index f738f34a..abc5dced 100644 --- a/testcases/filtertestcase.py +++ b/testcases/filtertestcase.py @@ -25,6 +25,8 @@ __copyright__ = "Copyright (c) 2004 Cyril Jaquier" __license__ = "GPL" import unittest +import time + from server.filterpoll import FilterPoll from server.filter import FileFilter from server.failmanager import FailManager @@ -94,23 +96,34 @@ class GetFailures(unittest.TestCase): def tearDown(self): """Call after every test case.""" - + + def _assertEqualEntries(self, found, output): + """Little helper to unify comparisons with the target entries + + and report helpful failure reports instead of millions of seconds ;) + """ + self.assertEqual(found[:2], output[:2]) + found_time, output_time = \ + time.localtime(found[2]),\ + time.localtime(output[2]) + self.assertEqual(found_time, output_time) + def testGetFailures01(self): output = ('193.168.0.128', 3, 1124013599.0) - + self.__filter.addLogPath(GetFailures.FILENAME_01) self.__filter.addFailRegex("(?:(?:Authentication failure|Failed [-/\w+]+) for(?: [iI](?:llegal|nvalid) user)?|[Ii](?:llegal|nvalid) user|ROOT LOGIN REFUSED) .*(?: from|FROM) <HOST>") self.__filter.getFailures(GetFailures.FILENAME_01) - + ticket = self.__filter.failManager.toBan() attempts = ticket.getAttempt() date = ticket.getTime() ip = ticket.getIP() found = (ip, attempts, date) - - self.assertEqual(found, output) + + self._assertEqualEntries(found, output) def testGetFailures02(self): output = ('141.3.81.106', 4, 1124013539.0) @@ -127,7 +140,7 @@ class GetFailures(unittest.TestCase): ip = ticket.getIP() found = (ip, attempts, date) - self.assertEqual(found, output) + self._assertEqualEntries(found, output) def testGetFailures03(self): output = ('203.162.223.135', 6, 1124013544.0) @@ -144,7 +157,7 @@ class GetFailures(unittest.TestCase): ip = ticket.getIP() found = (ip, attempts, date) - self.assertEqual(found, output) + self._assertEqualEntries(found, output) def testGetFailures04(self): output = [('212.41.96.186', 4, 1124013600.0), @@ -182,7 +195,7 @@ class GetFailures(unittest.TestCase): ip = ticket.getIP() found = (ip, attempts, date) - self.assertEqual(found, output) + self._assertEqualEntries(found, output) def testGetFailuresIgnoreRegex(self): output = ('141.3.81.106', 8, 1124013541.0) |