From cafea3235f46a92af42c135ecf720084095e891d Mon Sep 17 00:00:00 2001 From: Marko Hauptvogel Date: Mon, 10 Nov 2025 14:29:58 +0100 Subject: [PATCH] test Ticket.getIP() return value type This covers the original problem where getIP() would return a str when it should be an IPAddr. One testcase fails now. --- fail2ban/tests/tickettestcase.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/fail2ban/tests/tickettestcase.py b/fail2ban/tests/tickettestcase.py index 6b250548..c13e9e69 100644 --- a/fail2ban/tests/tickettestcase.py +++ b/fail2ban/tests/tickettestcase.py @@ -26,6 +26,7 @@ from ..server.mytime import MyTime import unittest from ..server.ticket import Ticket, FailTicket, BanTicket +from ..server.ipdns import IPAddr class TicketTests(unittest.TestCase): @@ -40,6 +41,7 @@ class TicketTests(unittest.TestCase): # Ticket t = Ticket('193.168.0.128', tm, matches) self.assertEqual(t.getID(), '193.168.0.128') + self.assertIsInstance(t.getIP(), IPAddr) self.assertEqual(t.getIP(), '193.168.0.128') self.assertEqual(t.getTime(), tm) self.assertEqual(t.getMatches(), matches2) @@ -67,6 +69,7 @@ class TicketTests(unittest.TestCase): ft = FailTicket('193.168.0.128', tm, matches) ft.setBanTime(60*60) self.assertEqual(ft.getID(), '193.168.0.128') + self.assertIsInstance(t.getIP(), IPAddr) self.assertEqual(ft.getIP(), '193.168.0.128') self.assertEqual(ft.getTime(), tm) self.assertEqual(ft.getMatches(), matches2) @@ -110,6 +113,7 @@ class TicketTests(unittest.TestCase): # copy all from another ticket: ft2 = FailTicket(ticket=ft) self.assertEqual(ft, ft2) + self.assertEqual(ft.getIP(), ft2.getIP()) self.assertEqual(ft.getData(), ft2.getData()) self.assertEqual(ft2.getAttempt(), 4) self.assertEqual(ft2.getRetry(), 7) @@ -123,10 +127,12 @@ class TicketTests(unittest.TestCase): # different ID (string) and IP: t = Ticket('123-456-678', tm, data={'ip':'192.0.2.1'}) self.assertEqual(t.getID(), '123-456-678') + self.assertIsInstance(t.getIP(), IPAddr) self.assertEqual(t.getIP(), '192.0.2.1') # different ID (tuple) and IP: t = Ticket(('192.0.2.1', '5000'), tm, data={'ip':'192.0.2.1'}) self.assertEqual(t.getID(), ('192.0.2.1', '5000')) + self.assertIsInstance(t.getIP(), IPAddr) self.assertEqual(t.getIP(), '192.0.2.1') def testTicketFlags(self):