Beispiel #1
0
class FilterSamplesRegex(unittest.TestCase):
    def setUp(self):
        """Call before every test case."""
        self.filter = Filter(None)
        self.filter.setActive(True)

    def tearDown(self):
        """Call after every test case."""

    def testFiltersPresent(self):
        """Check to ensure some tests exist"""
        self.assertTrue(
            len([
                test for test in inspect.getmembers(self)
                if test[0].startswith('testSampleRegexs')
            ]) >= 10, "Expected more FilterSampleRegexs tests")
Beispiel #2
0
class FilterSamplesRegex(unittest.TestCase):

	def setUp(self):
		"""Call before every test case."""
		self.filter = Filter(None)
		self.filter.setActive(True)

	def tearDown(self):
		"""Call after every test case."""

	def testFiltersPresent(self):
		"""Check to ensure some tests exist"""
		self.assertTrue(
			len([test for test in inspect.getmembers(self)
				if test[0].startswith('testSampleRegexs')])
			>= 10,
			"Expected more FilterSampleRegexs tests")
class BasicFilter(unittest.TestCase):
    def setUp(self):
        self.filter = Filter('name')

    def testGetSetUseDNS(self):
        # default is warn
        self.assertEqual(self.filter.getUseDns(), 'warn')
        self.filter.setUseDns(True)
        self.assertEqual(self.filter.getUseDns(), 'yes')
        self.filter.setUseDns(False)
        self.assertEqual(self.filter.getUseDns(), 'no')
class BasicFilter(unittest.TestCase):

	def setUp(self):
		self.filter = Filter('name')

	def testGetSetUseDNS(self):
		# default is warn
		self.assertEqual(self.filter.getUseDns(), 'warn')
		self.filter.setUseDns(True)
		self.assertEqual(self.filter.getUseDns(), 'yes')
		self.filter.setUseDns(False)
		self.assertEqual(self.filter.getUseDns(), 'no')
Beispiel #5
0
	def setUp(self):
		"""Call before every test case."""
		self.filter = Filter(None)
		self.filter.setActive(True)
Beispiel #6
0
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"
	def setUp(self):
		"""Call before every test case."""
		self.__filter = Filter(None)
		self.__filter.setActive(True)
		
		
		
	def tearDown(self):
		"""Call after every test case."""
		
	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) (?:::f{4,6}:)?(?P<host>\S*)")
		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)
	
	def testGetFailures02(self):
		output = ('141.3.81.106', 4, 1124013539.0)
		self.__filter.addLogPath(GetFailures.FILENAME_02)
		self.__filter.addFailRegex("Failed .* (?:::f{4,6}:)(?P<host>\S*)")
		
		self.__filter.getFailures(GetFailures.FILENAME_02)
		
		ticket = self.__filter.failManager.toBan()
		attempts = ticket.getAttempt()
		date = ticket.getTime()
		ip = ticket.getIP()
		found = (ip, attempts, date)
		
		self.assertEqual(found, output)
	def testGetFailures03(self):
		output = ('203.162.223.135', 6, 1124013544.0)
		self.__filter.addLogPath(GetFailures.FILENAME_03)
		self.__filter.addFailRegex("error,relay=(?:::f{4,6}:)?(?P<host>\S*),.*550 User unknown")
		
		self.__filter.getFailures(GetFailures.FILENAME_03)
		
		ticket = self.__filter.failManager.toBan()
		
		attempts = ticket.getAttempt()
		date = ticket.getTime()
		ip = ticket.getIP()
		found = (ip, attempts, date)
		
		self.assertEqual(found, output)	
	def testGetFailures04(self):
		output = [('212.41.96.186', 4, 1124013600.0),
				  ('212.41.96.185', 4, 1124013598.0)]
		self.__filter.addLogPath(GetFailures.FILENAME_04)
		self.__filter.addFailRegex("Invalid user .* (?P<host>\S*)")
		
		self.__filter.getFailures(GetFailures.FILENAME_04)
		try:
			for i in range(2):
				ticket = self.__filter.failManager.toBan()		
				attempts = ticket.getAttempt()
				date = ticket.getTime()
				ip = ticket.getIP()
				found = (ip, attempts, date)
				self.assertEqual(found, output[i])
		except FailManagerEmpty:
			pass
		
	def testGetFailuresMultiRegex(self):
		output = ('141.3.81.106', 8, 1124013541.0)
		self.__filter.addLogPath(GetFailures.FILENAME_02)
		self.__filter.addFailRegex("Failed .* from <HOST>")
		self.__filter.addFailRegex("Accepted .* from <HOST>")
		
		self.__filter.getFailures(GetFailures.FILENAME_02)
		
		ticket = self.__filter.failManager.toBan()
		attempts = ticket.getAttempt()
		date = ticket.getTime()
		ip = ticket.getIP()
		found = (ip, attempts, date)
		
		self.assertEqual(found, output)
	
	def testGetFailuresIgnoreRegex(self):
		output = ('141.3.81.106', 8, 1124013541.0)
		self.__filter.addLogPath(GetFailures.FILENAME_02)
		self.__filter.addFailRegex("Failed .* from <HOST>")
		self.__filter.addFailRegex("Accepted .* from <HOST>")
		self.__filter.addIgnoreRegex("for roehl")
		
		self.__filter.getFailures(GetFailures.FILENAME_02)
		
		self.assertRaises(FailManagerEmpty, self.__filter.failManager.toBan)
Beispiel #7
0
	def setUp(self):
		"""Call before every test case."""
		self.__filter = Filter(None)
Beispiel #8
0
class IgnoreIP(unittest.TestCase):
	def setUp(self):
		"""Call before every test case."""
		self.__filter = Filter(None)
	def tearDown(self):
		"""Call after every test case."""
	def testIgnoreIPOK(self):
		ipList = "127.0.0.1", "192.168.0.1", "255.255.255.255", "99.99.99.99"
		for ip in ipList:
			self.__filter.addIgnoreIP(ip)
			self.failUnless(self.__filter.inIgnoreIPList(ip))
		
		self.__filter.addIgnoreIP("www.epfl.ch")
		self.failUnless(self.__filter.inIgnoreIPList("128.178.50.12"))
	
	def testIgnoreIPNOK(self):
		ipList = "", "999.999.999.999", "abcdef", "192.168.0."
		for ip in ipList:
			self.__filter.addIgnoreIP(ip)
			self.failIf(self.__filter.inIgnoreIPList(ip))
		
		self.__filter.addIgnoreIP("www.epfl.ch")
		self.failIf(self.__filter.inIgnoreIPList("127.177.50.10"))
Beispiel #9
0
 def setUp(self):
     """Call before every test case."""
     self.filter = Filter(None)
     self.filter.setActive(True)
	def setUp(self):
		self.filter = Filter('name')
Beispiel #11
0
	def setUp(self):
		self.filter = Filter('name')