summaryrefslogtreecommitdiff
path: root/fail2ban/tests/banmanagertestcase.py
diff options
context:
space:
mode:
authorSteven Hiscocks <steven@hiscocks.me.uk>2013-04-01 11:22:40 +0100
committerSteven Hiscocks <steven@hiscocks.me.uk>2013-04-01 11:22:40 +0100
commite3bd2042ebcdf891eef7d04632b22ce82e1eeffd (patch)
treebafe258f5d92d301b702db694303a6a5e1bb6c18 /fail2ban/tests/banmanagertestcase.py
parente53bfafd6afaa07b7049163a3363ab7cead789e9 (diff)
downloadfail2ban-e3bd2042ebcdf891eef7d04632b22ce82e1eeffd.tar.gz
TST+ENH: Move testcases to part of fail2ban module
This allows fail2ban-testcases to be run on an installed fail2ban instance. TODO: Fix tests requiring config files
Diffstat (limited to 'fail2ban/tests/banmanagertestcase.py')
-rw-r--r--fail2ban/tests/banmanagertestcase.py60
1 files changed, 60 insertions, 0 deletions
diff --git a/fail2ban/tests/banmanagertestcase.py b/fail2ban/tests/banmanagertestcase.py
new file mode 100644
index 00000000..8d0f1929
--- /dev/null
+++ b/fail2ban/tests/banmanagertestcase.py
@@ -0,0 +1,60 @@
+# emacs: -*- mode: python; py-indent-offset: 4; indent-tabs-mode: t -*-
+# vi: set ft=python sts=4 ts=4 sw=4 noet :
+
+# This file is part of Fail2Ban.
+#
+# Fail2Ban is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# Fail2Ban is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Fail2Ban; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+# Author: Cyril Jaquier
+#
+# $Revision$
+
+__author__ = "Cyril Jaquier"
+__version__ = "$Revision$"
+__date__ = "$Date$"
+__copyright__ = "Copyright (c) 2004 Cyril Jaquier"
+__license__ = "GPL"
+
+import unittest
+
+from fail2ban.server.banmanager import BanManager
+from fail2ban.server.ticket import BanTicket
+
+class AddFailure(unittest.TestCase):
+
+ def setUp(self):
+ """Call before every test case."""
+ self.__ticket = BanTicket('193.168.0.128', 1167605999.0)
+ self.__banManager = BanManager()
+ self.assertTrue(self.__banManager.addBanTicket(self.__ticket))
+
+ def tearDown(self):
+ """Call after every test case."""
+
+ def testAdd(self):
+ self.assertEqual(self.__banManager.size(), 1)
+
+ def testAddDuplicate(self):
+ self.assertFalse(self.__banManager.addBanTicket(self.__ticket))
+ self.assertEqual(self.__banManager.size(), 1)
+
+ def testInListOK(self):
+ ticket = BanTicket('193.168.0.128', 1167605999.0)
+ self.assertTrue(self.__banManager._inBanList(ticket))
+
+ def testInListNOK(self):
+ ticket = BanTicket('111.111.1.111', 1167605999.0)
+ self.assertFalse(self.__banManager._inBanList(ticket))
+