Files
fgAI/tests/test_event_context.py
2026-07-02 20:18:55 +02:00

30 lines
1.2 KiB
Python

import unittest
from fgai.event_context import build_event_context
from fgai.logs import parse_log_line
class EventContextTests(unittest.TestCase):
def test_includes_each_source_and_security_sample(self):
events = [
parse_log_line("srcip=10.0.0.1 dstip=1.1.1.1 action=accept"),
parse_log_line("srcip=10.0.0.2 dstip=8.8.8.8 type=utm subtype=ips action=blocked severity=high"),
]
context = build_event_context(events)
self.assertEqual(context["entities_total"], 2)
self.assertEqual(context["source_profiles"][0]["entity"], "10.0.0.2")
self.assertEqual(len(context["security_event_samples"]), 1)
def test_ip_entity_prefers_hostname_display_label(self):
events = [
parse_log_line("srcip=10.0.0.2 hostname=win01 dstip=8.8.8.8 type=utm action=blocked severity=high"),
]
context = build_event_context(events)
self.assertEqual(context["source_profiles"][0]["entity"], "10.0.0.2")
self.assertEqual(context["source_profiles"][0]["entity_label"], "win01 (10.0.0.2)")
self.assertEqual(context["security_event_samples"][0]["entity_label"], "win01 (10.0.0.2)")
if __name__ == "__main__":
unittest.main()