Files
fgAI/tests/test_diagnostics.py
2026-06-18 21:48:32 +02:00

36 lines
1.2 KiB
Python

import unittest
from fgai.logs import local_in_failures, parse_log_line, top_field_values
class DiagnosticTests(unittest.TestCase):
def test_local_in_failures_group_by_source_service_policy(self):
events = [
parse_log_line(
'type=traffic policytype="local-in-policy6" policyid=2 srcip=192.168.1.20 '
'service="udp/5353" msg="Connection Failed"'
),
parse_log_line(
'type=traffic policytype="local-in-policy6" policyid=2 srcip=192.168.1.20 '
'service="udp/5353" msg="Connection Failed"'
),
]
self.assertEqual(
local_in_failures(events),
[{"src_ip": "192.168.1.20", "service": "udp/5353", "policy": "2", "count": 2}],
)
def test_top_field_values_counts_values(self):
events = [
parse_log_line("srcip=1.1.1.1 service=https"),
parse_log_line("srcip=1.1.1.1 service=http"),
parse_log_line("srcip=8.8.8.8 service=http"),
]
self.assertEqual(top_field_values(events, "srcip", limit=1), [{"value": "1.1.1.1", "count": 2}])
if __name__ == "__main__":
unittest.main()