From b7f49214cbd3504cd9fef691e617618d1d97ab930a12754fd924cd54648b487c Mon Sep 17 00:00:00 2001 From: larssand Date: Mon, 6 Jul 2026 11:27:56 +0200 Subject: [PATCH] fix diagnostic view --- src/fgai/monitor.py | 3 ++- tests/test_monitor.py | 13 ++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/fgai/monitor.py b/src/fgai/monitor.py index 83f424f..fb0ef55 100644 --- a/src/fgai/monitor.py +++ b/src/fgai/monitor.py @@ -629,8 +629,9 @@ def write_refreshing_status(output: str, *, cache_path: str | None = None, call_ current["stale"] = False current["stale_reason"] = "" if runtime_values is not None: + stream_profiles = parse_profiles(runtime_values.get("graylog_stream_profiles", [])) current["configuration"] = _public_runtime_config(runtime_values) - current["stream_coverage"] = _stream_coverage(runtime_values, {}, {"streams": []}, [], _stream_titles(runtime_values)) + current["stream_coverage"] = _stream_coverage(runtime_values, stream_profiles, {"streams": []}, [], _stream_titles(runtime_values)) capabilities = current.setdefault("capabilities", {}) if isinstance(capabilities, dict): previous_events = previous_mcp.get("events_fetched", 0) if isinstance(previous_mcp, dict) else 0 diff --git a/tests/test_monitor.py b/tests/test_monitor.py index 63259e8..f32cb49 100644 --- a/tests/test_monitor.py +++ b/tests/test_monitor.py @@ -55,7 +55,16 @@ class MonitorTests(unittest.TestCase): encoding="utf-8", ) - write_refreshing_status(str(output), call_timeout_seconds=8, poll_timeout_seconds=120, runtime_values={"log_source": "graylog_mcp", "graylog_streams": [{"id": "fw", "title": "Firewall", "enabled": True}]}) + write_refreshing_status( + str(output), + call_timeout_seconds=8, + poll_timeout_seconds=120, + runtime_values={ + "log_source": "graylog_mcp", + "graylog_streams": [{"id": "fw", "title": "Firewall", "enabled": True}], + "graylog_stream_profiles": [{"stream_id": "fw", "name": "Firewall profile", "entity_field": "srcip", "categorical_fields": ["action"]}], + }, + ) status = json.loads(output.read_text(encoding="utf-8")) self.assertFalse(status["stale"]) @@ -70,6 +79,8 @@ class MonitorTests(unittest.TestCase): self.assertEqual(status["capabilities"]["graylog_mcp"]["poll_timeout_seconds"], 120) self.assertEqual(status["configuration"]["enabled_streams"], 1) self.assertEqual(status["stream_coverage"][0]["stream_name"], "Firewall") + self.assertEqual(status["stream_coverage"][0]["profile"], "Firewall profile") + self.assertEqual(status["stream_coverage"][0]["entity_field"], "srcip") self.assertFalse(status["status_cache"]["served_from_cache"]) def test_write_refreshing_status_uses_last_good_cache(self):