From 1e14a6e01591911fc838837c0a48ac16ed1ca1d5 Mon Sep 17 00:00:00 2001 From: biefan <70761325+biefan@users.noreply.github.com> Date: Tue, 17 Mar 2026 07:00:37 +0000 Subject: [PATCH] Preserve silent when loading config overrides --- pyrit/setup/configuration_loader.py | 3 +++ tests/unit/setup/test_configuration_loader.py | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/pyrit/setup/configuration_loader.py b/pyrit/setup/configuration_loader.py index 0e2017b60..845bc2d2e 100644 --- a/pyrit/setup/configuration_loader.py +++ b/pyrit/setup/configuration_loader.py @@ -224,6 +224,7 @@ def load_with_overrides( "initializers": [], "initialization_scripts": None, # None = use defaults "env_files": None, # None = use defaults + "silent": False, } # 1. Try loading default config file if it exists @@ -239,6 +240,7 @@ def load_with_overrides( # Preserve None vs [] distinction from config file config_data["initialization_scripts"] = default_config.initialization_scripts config_data["env_files"] = default_config.env_files + config_data["silent"] = default_config.silent if default_config.operator: config_data["operator"] = default_config.operator if default_config.operation: @@ -259,6 +261,7 @@ def load_with_overrides( # Preserve None vs [] distinction from config file config_data["initialization_scripts"] = explicit_config.initialization_scripts config_data["env_files"] = explicit_config.env_files + config_data["silent"] = explicit_config.silent if explicit_config.operator: config_data["operator"] = explicit_config.operator if explicit_config.operation: diff --git a/tests/unit/setup/test_configuration_loader.py b/tests/unit/setup/test_configuration_loader.py index b4e737bf5..56413c271 100644 --- a/tests/unit/setup/test_configuration_loader.py +++ b/tests/unit/setup/test_configuration_loader.py @@ -504,3 +504,22 @@ def test_load_with_overrides_cli_overrides_config_file(self, mock_default_path): assert config._initializer_configs[0].name == "cli_init" finally: config_path.unlink() + + @mock.patch("pyrit.setup.configuration_loader.DEFAULT_CONFIG_PATH") + def test_load_with_overrides_preserves_silent_from_config_file(self, mock_default_path): + """Test that load_with_overrides preserves the silent flag from config files.""" + mock_default_path.exists.return_value = False + + yaml_content = """ +memory_db_type: sqlite +silent: true +""" + with tempfile.NamedTemporaryFile(mode="w", suffix=".yaml", delete=False) as f: + f.write(yaml_content) + config_path = pathlib.Path(f.name) + + try: + config = ConfigurationLoader.load_with_overrides(config_file=config_path) + assert config.silent is True + finally: + config_path.unlink()