@@ -0,0 +1,31 @@
|
||||
import unittest
|
||||
|
||||
from app.services.traceroute_analyze import is_private_ipv4, parse_traceroute_text
|
||||
|
||||
|
||||
class TracerouteAnalyzeTests(unittest.TestCase):
|
||||
def test_private_ipv4(self) -> None:
|
||||
self.assertTrue(is_private_ipv4("10.0.0.1"))
|
||||
self.assertTrue(is_private_ipv4("192.168.0.7"))
|
||||
self.assertTrue(is_private_ipv4("172.20.1.1"))
|
||||
self.assertTrue(is_private_ipv4("127.0.0.1"))
|
||||
self.assertFalse(is_private_ipv4("8.8.8.8"))
|
||||
self.assertFalse(is_private_ipv4("74.125.242.1"))
|
||||
|
||||
def test_parse_sample(self) -> None:
|
||||
text = """
|
||||
1 192.168.1.1 (192.168.1.1) 2.123 ms 1.892 ms 1.765 ms
|
||||
2 10.0.0.1 (10.0.0.1) 5.432 ms 4.987 ms 5.123 ms
|
||||
3 172.217.168.1 (172.217.168.1) 15.234 ms 14.876 ms 15.012 ms
|
||||
"""
|
||||
out = parse_traceroute_text(text)
|
||||
self.assertEqual(out["stats"]["total_hops"], 3)
|
||||
self.assertEqual(out["stats"]["private_count"], 2)
|
||||
hops = out["hops"]
|
||||
self.assertEqual(hops[0]["network_type"], "private")
|
||||
self.assertEqual(hops[2]["network_type"], "public")
|
||||
self.assertGreater(hops[0]["avg_ms"], 0)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user