From cd44bc137e6779cc2084807ed5e11c4ce3b64463 Mon Sep 17 00:00:00 2001 From: badMade <106821302+badMade@users.noreply.github.com> Date: Wed, 22 Apr 2026 21:06:58 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=A7=AA=20Add=20unit=20test=20coverage=20f?= =?UTF-8?q?or=20build=5Fsystem=5Finit=5Fmessage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com> --- tests/test_system_init.py | 90 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 tests/test_system_init.py diff --git a/tests/test_system_init.py b/tests/test_system_init.py new file mode 100644 index 0000000000..d321942d23 --- /dev/null +++ b/tests/test_system_init.py @@ -0,0 +1,90 @@ +from __future__ import annotations + +import unittest +from unittest.mock import patch, MagicMock + +from src.system_init import build_system_init_message +from src.setup import SetupReport, WorkspaceSetup + + +class TestSystemInit(unittest.TestCase): + @patch("src.system_init.get_tools") + @patch("src.system_init.get_commands") + @patch("src.system_init.built_in_command_names") + @patch("src.system_init.run_setup") + def test_build_system_init_message_trusted( + self, mock_run_setup: MagicMock, mock_built_in: MagicMock, mock_get_commands: MagicMock, mock_get_tools: MagicMock + ) -> None: + # Setup mocks + mock_setup = MagicMock(spec=SetupReport) + mock_setup.trusted = True + mock_workspace = MagicMock(spec=WorkspaceSetup) + mock_workspace.startup_steps.return_value = ("step 1", "step 2") + mock_setup.setup = mock_workspace + mock_run_setup.return_value = mock_setup + + mock_built_in.return_value = ["cmd1", "cmd2"] + mock_get_commands.return_value = [1, 2, 3, 4] # Length 4 + mock_get_tools.return_value = [1, 2, 3] # Length 3 + + # Call the function + result = build_system_init_message(trusted=True) + + # Assertions + mock_run_setup.assert_called_once_with(trusted=True) + + expected_lines = [ + "# System Init", + "", + "Trusted: True", + "Built-in command names: 2", + "Loaded command entries: 4", + "Loaded tool entries: 3", + "", + "Startup steps:", + "- step 1", + "- step 2", + ] + self.assertEqual(result, "\n".join(expected_lines)) + + @patch("src.system_init.get_tools") + @patch("src.system_init.get_commands") + @patch("src.system_init.built_in_command_names") + @patch("src.system_init.run_setup") + def test_build_system_init_message_untrusted( + self, mock_run_setup: MagicMock, mock_built_in: MagicMock, mock_get_commands: MagicMock, mock_get_tools: MagicMock + ) -> None: + # Setup mocks + mock_setup = MagicMock(spec=SetupReport) + mock_setup.trusted = False + mock_workspace = MagicMock(spec=WorkspaceSetup) + mock_workspace.startup_steps.return_value = ("only safe step",) + mock_setup.setup = mock_workspace + mock_run_setup.return_value = mock_setup + + mock_built_in.return_value = [] + mock_get_commands.return_value = [] + mock_get_tools.return_value = [] + + # Call the function + result = build_system_init_message(trusted=False) + + # Assertions + mock_run_setup.assert_called_once_with(trusted=False) + + expected_lines = [ + "# System Init", + "", + "Trusted: False", + "Built-in command names: 0", + "Loaded command entries: 0", + "Loaded tool entries: 0", + "", + "Startup steps:", + "- only safe step", + ] + self.assertEqual(result, "\n".join(expected_lines)) + + +if __name__ == "__main__": + unittest.main()