diff --git a/MANIFEST b/MANIFEST index fc56356a..93698e95 100644 --- a/MANIFEST +++ b/MANIFEST @@ -42,20 +42,21 @@ fail2ban/server/banmanager.py fail2ban/server/datetemplate.py fail2ban/server/mytime.py fail2ban/server/failregex.py -testcases/files/testcase-usedns.log -testcases/banmanagertestcase.py -testcases/failmanagertestcase.py -testcases/clientreadertestcase.py -testcases/filtertestcase.py -testcases/__init__.py -testcases/datedetectortestcase.py -testcases/actiontestcase.py -testcases/servertestcase.py -testcases/sockettestcase.py -testcases/files/testcase01.log -testcases/files/testcase02.log -testcases/files/testcase03.log -testcases/files/testcase04.log +fail2ban/tests/banmanagertestcase.py +fail2ban/tests/failmanagertestcase.py +fail2ban/tests/clientreadertestcase.py +fail2ban/tests/filtertestcase.py +fail2ban/tests/__init__.py +fail2ban/tests/datedetectortestcase.py +fail2ban/tests/actiontestcase.py +fail2ban/tests/servertestcase.py +fail2ban/tests/sockettestcase.py +fail2ban/tests/utils.py +fail2ban/tests/files/testcase01.log +fail2ban/tests/files/testcase02.log +fail2ban/tests/files/testcase03.log +fail2ban/tests/files/testcase04.log +fail2ban/tests/files/testcase-usedns.log setup.py setup.cfg fail2ban/__init__.py diff --git a/fail2ban-testcases b/fail2ban-testcases index c10856ec..45ba03ad 100755 --- a/fail2ban-testcases +++ b/fail2ban-testcases @@ -28,16 +28,16 @@ __license__ = "GPL" import unittest, logging, sys, time, os from fail2ban.version import version -from testcases import banmanagertestcase -from testcases import clientreadertestcase -from testcases import failmanagertestcase -from testcases import filtertestcase -from testcases import servertestcase -from testcases import datedetectortestcase -from testcases import actiontestcase -from testcases import sockettestcase +from fail2ban.tests import banmanagertestcase +from fail2ban.tests import clientreadertestcase +from fail2ban.tests import failmanagertestcase +from fail2ban.tests import filtertestcase +from fail2ban.tests import servertestcase +from fail2ban.tests import datedetectortestcase +from fail2ban.tests import actiontestcase +from fail2ban.tests import sockettestcase -from testcases.utils import FormatterWithTraceBack +from fail2ban.tests.utils import FormatterWithTraceBack from fail2ban.server.mytime import MyTime from optparse import OptionParser, Option diff --git a/testcases/__init__.py b/fail2ban/tests/__init__.py similarity index 100% rename from testcases/__init__.py rename to fail2ban/tests/__init__.py diff --git a/testcases/actiontestcase.py b/fail2ban/tests/actiontestcase.py similarity index 100% rename from testcases/actiontestcase.py rename to fail2ban/tests/actiontestcase.py diff --git a/testcases/banmanagertestcase.py b/fail2ban/tests/banmanagertestcase.py similarity index 100% rename from testcases/banmanagertestcase.py rename to fail2ban/tests/banmanagertestcase.py diff --git a/testcases/clientreadertestcase.py b/fail2ban/tests/clientreadertestcase.py similarity index 100% rename from testcases/clientreadertestcase.py rename to fail2ban/tests/clientreadertestcase.py diff --git a/testcases/datedetectortestcase.py b/fail2ban/tests/datedetectortestcase.py similarity index 100% rename from testcases/datedetectortestcase.py rename to fail2ban/tests/datedetectortestcase.py diff --git a/testcases/failmanagertestcase.py b/fail2ban/tests/failmanagertestcase.py similarity index 100% rename from testcases/failmanagertestcase.py rename to fail2ban/tests/failmanagertestcase.py diff --git a/testcases/files/logs/apache-overflows b/fail2ban/tests/files/logs/apache-overflows similarity index 100% rename from testcases/files/logs/apache-overflows rename to fail2ban/tests/files/logs/apache-overflows diff --git a/testcases/files/logs/asterisk b/fail2ban/tests/files/logs/asterisk similarity index 100% rename from testcases/files/logs/asterisk rename to fail2ban/tests/files/logs/asterisk diff --git a/testcases/files/logs/dovecot b/fail2ban/tests/files/logs/dovecot similarity index 100% rename from testcases/files/logs/dovecot rename to fail2ban/tests/files/logs/dovecot diff --git a/testcases/files/logs/exim b/fail2ban/tests/files/logs/exim similarity index 100% rename from testcases/files/logs/exim rename to fail2ban/tests/files/logs/exim diff --git a/testcases/files/logs/lighttpd b/fail2ban/tests/files/logs/lighttpd similarity index 100% rename from testcases/files/logs/lighttpd rename to fail2ban/tests/files/logs/lighttpd diff --git a/testcases/files/logs/named-refused b/fail2ban/tests/files/logs/named-refused similarity index 100% rename from testcases/files/logs/named-refused rename to fail2ban/tests/files/logs/named-refused diff --git a/testcases/files/logs/pam-generic b/fail2ban/tests/files/logs/pam-generic similarity index 100% rename from testcases/files/logs/pam-generic rename to fail2ban/tests/files/logs/pam-generic diff --git a/testcases/files/logs/postfix b/fail2ban/tests/files/logs/postfix similarity index 100% rename from testcases/files/logs/postfix rename to fail2ban/tests/files/logs/postfix diff --git a/testcases/files/logs/proftpd b/fail2ban/tests/files/logs/proftpd similarity index 100% rename from testcases/files/logs/proftpd rename to fail2ban/tests/files/logs/proftpd diff --git a/testcases/files/logs/pure-ftpd b/fail2ban/tests/files/logs/pure-ftpd similarity index 100% rename from testcases/files/logs/pure-ftpd rename to fail2ban/tests/files/logs/pure-ftpd diff --git a/testcases/files/logs/roundcube-auth b/fail2ban/tests/files/logs/roundcube-auth similarity index 100% rename from testcases/files/logs/roundcube-auth rename to fail2ban/tests/files/logs/roundcube-auth diff --git a/testcases/files/logs/sasl b/fail2ban/tests/files/logs/sasl similarity index 100% rename from testcases/files/logs/sasl rename to fail2ban/tests/files/logs/sasl diff --git a/testcases/files/logs/sogo-auth b/fail2ban/tests/files/logs/sogo-auth similarity index 100% rename from testcases/files/logs/sogo-auth rename to fail2ban/tests/files/logs/sogo-auth diff --git a/testcases/files/logs/sshd b/fail2ban/tests/files/logs/sshd similarity index 100% rename from testcases/files/logs/sshd rename to fail2ban/tests/files/logs/sshd diff --git a/testcases/files/logs/sshd-ddos b/fail2ban/tests/files/logs/sshd-ddos similarity index 100% rename from testcases/files/logs/sshd-ddos rename to fail2ban/tests/files/logs/sshd-ddos diff --git a/testcases/files/logs/vsftpd b/fail2ban/tests/files/logs/vsftpd similarity index 100% rename from testcases/files/logs/vsftpd rename to fail2ban/tests/files/logs/vsftpd diff --git a/testcases/files/logs/webmin-auth b/fail2ban/tests/files/logs/webmin-auth similarity index 100% rename from testcases/files/logs/webmin-auth rename to fail2ban/tests/files/logs/webmin-auth diff --git a/testcases/files/logs/wu-ftpd b/fail2ban/tests/files/logs/wu-ftpd similarity index 100% rename from testcases/files/logs/wu-ftpd rename to fail2ban/tests/files/logs/wu-ftpd diff --git a/testcases/files/testcase-usedns.log b/fail2ban/tests/files/testcase-usedns.log similarity index 100% rename from testcases/files/testcase-usedns.log rename to fail2ban/tests/files/testcase-usedns.log diff --git a/testcases/files/testcase01.log b/fail2ban/tests/files/testcase01.log similarity index 100% rename from testcases/files/testcase01.log rename to fail2ban/tests/files/testcase01.log diff --git a/testcases/files/testcase02.log b/fail2ban/tests/files/testcase02.log similarity index 100% rename from testcases/files/testcase02.log rename to fail2ban/tests/files/testcase02.log diff --git a/testcases/files/testcase03.log b/fail2ban/tests/files/testcase03.log similarity index 100% rename from testcases/files/testcase03.log rename to fail2ban/tests/files/testcase03.log diff --git a/testcases/files/testcase04.log b/fail2ban/tests/files/testcase04.log similarity index 100% rename from testcases/files/testcase04.log rename to fail2ban/tests/files/testcase04.log diff --git a/testcases/filtertestcase.py b/fail2ban/tests/filtertestcase.py similarity index 98% rename from testcases/filtertestcase.py rename to fail2ban/tests/filtertestcase.py index 75b72c05..27a1510d 100644 --- a/testcases/filtertestcase.py +++ b/fail2ban/tests/filtertestcase.py @@ -35,6 +35,8 @@ from fail2ban.server.filter import FileFilter, DNSUtils from fail2ban.server.failmanager import FailManager from fail2ban.server.failmanager import FailManagerEmpty +TEST_FILES_DIR = os.path.join(os.path.dirname(__file__), "files") + # # Useful helpers # @@ -182,7 +184,7 @@ class IgnoreIP(unittest.TestCase): class LogFile(unittest.TestCase): - FILENAME = "testcases/files/testcase01.log" + FILENAME = os.path.join(TEST_FILES_DIR, "testcase01.log") def setUp(self): """Call before every test case.""" @@ -522,11 +524,11 @@ def get_monitor_failures_testcase(Filter_): class GetFailures(unittest.TestCase): - FILENAME_01 = "testcases/files/testcase01.log" - FILENAME_02 = "testcases/files/testcase02.log" - FILENAME_03 = "testcases/files/testcase03.log" - FILENAME_04 = "testcases/files/testcase04.log" - FILENAME_USEDNS = "testcases/files/testcase-usedns.log" + FILENAME_01 = os.path.join(TEST_FILES_DIR, "testcase01.log") + FILENAME_02 = os.path.join(TEST_FILES_DIR, "testcase02.log") + FILENAME_03 = os.path.join(TEST_FILES_DIR, "testcase03.log") + FILENAME_04 = os.path.join(TEST_FILES_DIR, "testcase04.log") + FILENAME_USEDNS = os.path.join(TEST_FILES_DIR, "testcase-usedns.log") # so that they could be reused by other tests FAILURES_01 = ('193.168.0.128', 3, 1124013599.0, diff --git a/testcases/servertestcase.py b/fail2ban/tests/servertestcase.py similarity index 98% rename from testcases/servertestcase.py rename to fail2ban/tests/servertestcase.py index 0cdf0422..4a3435b4 100644 --- a/testcases/servertestcase.py +++ b/fail2ban/tests/servertestcase.py @@ -32,6 +32,8 @@ import unittest, socket, time, tempfile, os from fail2ban.server.server import Server from fail2ban.exceptions import UnknownJailException +TEST_FILES_DIR = os.path.join(os.path.dirname(__file__), "files") + class StartStop(unittest.TestCase): def setUp(self): @@ -273,14 +275,14 @@ class Transmitter(TransmitterBase): self.jailAddDelTest( "logpath", [ - "testcases/files/testcase01.log", - "testcases/files/testcase02.log", - "testcases/files/testcase03.log", + os.path.join(TEST_FILES_DIR, "testcase01.log"), + os.path.join(TEST_FILES_DIR, "testcase02.log"), + os.path.join(TEST_FILES_DIR, "testcase03.log"), ], self.jailName ) # Try duplicates - value = "testcases/files/testcase04.log" + value = os.path.join(TEST_FILES_DIR, "testcase04.log") self.assertEqual( self.transm.proceed(["set", self.jailName, "addlogpath", value]), (0, [value])) diff --git a/testcases/sockettestcase.py b/fail2ban/tests/sockettestcase.py similarity index 100% rename from testcases/sockettestcase.py rename to fail2ban/tests/sockettestcase.py diff --git a/testcases/utils.py b/fail2ban/tests/utils.py similarity index 100% rename from testcases/utils.py rename to fail2ban/tests/utils.py diff --git a/setup.py b/setup.py index 004f2f84..87159635 100755 --- a/setup.py +++ b/setup.py @@ -49,13 +49,18 @@ setup( scripts = [ 'fail2ban-client', 'fail2ban-server', - 'fail2ban-regex' + 'fail2ban-regex', + 'fail2ban-testcases', ], packages = [ 'fail2ban', 'fail2ban.client', - 'fail2ban.server' + 'fail2ban.server', + 'fail2ban.tests', ], + package_data = { + 'fail2ban.tests': ['files/*.log'], + }, data_files = [ ('/etc/fail2ban', glob("config/*.conf")