From 67350bfcd66f3131d75d23ffd5169ed480085427 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9A=D0=BE=D0=BA=D0=BE=D1=81=20=D0=90=D1=80=D1=82=D0=B5?= =?UTF-8?q?=D0=BC=20=D0=9D=D0=B8=D0=BA=D0=BE=D0=BB=D0=B0=D0=B5=D0=B2=D0=B8?= =?UTF-8?q?=D1=87?= Date: Fri, 3 Jul 2026 18:24:11 +0700 Subject: [PATCH] fix: verify_ssl: true in YAML now uses DEFAULT_REDMINE_VERIFY path Previously boolean True was passed directly to python-redmine which used system CA bundle instead of the project's default CA file. Now 'true' in YAML maps to DEFAULT_REDMINE_VERIFY path. --- redmine_reporter/config.py | 4 ++-- tests/test_config.py | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/redmine_reporter/config.py b/redmine_reporter/config.py index 0a40e77..57b4acb 100644 --- a/redmine_reporter/config.py +++ b/redmine_reporter/config.py @@ -139,13 +139,13 @@ class AppConfig: if value is None: return DEFAULT_REDMINE_VERIFY if isinstance(value, bool): - return value + return DEFAULT_REDMINE_VERIFY if value else False if isinstance(value, str): normalized = value.lower() if normalized in FALSE_VALUES: return False if normalized in TRUE_VALUES: - return True + return DEFAULT_REDMINE_VERIFY return resolve_env_vars(value) return DEFAULT_REDMINE_VERIFY diff --git a/tests/test_config.py b/tests/test_config.py index 3b6b9bf..3223905 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -247,6 +247,26 @@ class TestAppConfigFromYaml: assert cfg.redmine_api_key == "secret-token" + def test_verify_ssl_true_returns_default_ca_path(self): + """verify_ssl: true → DEFAULT_REDMINE_VERIFY (путь), не Python True.""" + with tempfile.TemporaryDirectory() as tmp: + yaml_path = Path(tmp) / "config.yml" + yaml_path.write_text("redmine:\n verify_ssl: true\n") + + cfg = AppConfig.from_yaml(yaml_path) + + assert cfg.redmine_verify == DEFAULT_REDMINE_VERIFY + assert cfg.redmine_verify is not True # не бул! + + def test_verify_ssl_false_returns_false(self): + with tempfile.TemporaryDirectory() as tmp: + yaml_path = Path(tmp) / "config.yml" + yaml_path.write_text("redmine:\n verify_ssl: false\n") + + cfg = AppConfig.from_yaml(yaml_path) + + assert cfg.redmine_verify is False + def test_missing_env_var_logs_warning(self, caplog): import logging