Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion intelmq/lib/bot_debugger.py
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,10 @@ def new_get_runtime(*args, **kwargs):
if bot_id == "global":
config[bot_id]["logging_level"] = logging_level
else:
config[bot_id]['parameters']["logging_level"] = logging_level
parameters = config[bot_id].get('parameters')
if parameters is None:
parameters = config[bot_id]['parameters'] = {}
parameters["logging_level"] = logging_level
if "global" not in config:
config["global"] = {"logging_level": logging_level}
return config
Expand Down
43 changes: 43 additions & 0 deletions intelmq/tests/lib/test_bot_debugger.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# SPDX-FileCopyrightText: 2026 Mirochill
#
# SPDX-License-Identifier: AGPL-3.0-or-later

# -*- coding: utf-8 -*-

import unittest
from unittest import mock

from intelmq.lib import utils
from intelmq.lib.bot_debugger import BotDebugger


class TestBotDebugger(unittest.TestCase):

def test_generate_get_runtime_adds_missing_parameters(self):
runtime = {
"collector": {"module": "intelmq.bots.collectors.http.collector_http"},
"parser": {
"module": "intelmq.bots.parsers.generic.parser_csv",
"parameters": None,
},
"expert": {
"module": "intelmq.bots.experts.filter.expert",
"parameters": {"field": "source.ip"},
},
}
debugger = BotDebugger.__new__(BotDebugger)

with mock.patch.object(utils, "load_configuration", return_value=runtime):
config = debugger.generate_get_runtime("DEBUG")()

self.assertEqual(config["collector"]["parameters"], {"logging_level": "DEBUG"})
self.assertEqual(config["parser"]["parameters"], {"logging_level": "DEBUG"})
self.assertEqual(
config["expert"]["parameters"],
{"field": "source.ip", "logging_level": "DEBUG"},
)
self.assertEqual(config["global"], {"logging_level": "DEBUG"})


if __name__ == '__main__': # pragma: no cover
unittest.main()
Loading