diff --git a/src/settings/_user_config.py b/src/settings/_user_config.py index e25b547..af7aa9f 100644 --- a/src/settings/_user_config.py +++ b/src/settings/_user_config.py @@ -55,38 +55,23 @@ def get_user_config(settings): return config -def _parse_env_var(key: str) -> dict | list | str | int | None: - """Parse one setting input key.""" - raw_value = os.getenv(key) - if raw_value is None: - return None - - try: - parsed = yaml.safe_load(raw_value) - return _lowercase(parsed) - except yaml.YAMLError as e: - logger.error(f"Failed to parse environment variable {key} as YAML:\n{e}") - return {} - - -def _load_section(keys: list[str]) -> dict: - """Parse one section of expected config.""" - section_config = {} - for key in keys: - parsed = _parse_env_var(key) - if parsed is not None: - section_config[key.lower()] = parsed - return section_config - - def _load_from_env() -> dict: + """ + Load and parse config from environment variables defined in CONFIG_MAPPING. + + Tries uppercase and lowercase keys, parses values as YAML, + and lowercases dictionary keys in the result. + + Returns: + dict: Config sections with parsed env var values. + """ config = {} for section, keys in CONFIG_MAPPING.items(): section_config = {} for key in keys: - raw_value = os.getenv(key) + raw_value = os.getenv(key) or os.getenv(key.lower()) if raw_value is None: continue diff --git a/tests/jobs/test_strikes_handler.py b/tests/jobs/test_strikes_handler.py index 3850ec9..392e372 100644 --- a/tests/jobs/test_strikes_handler.py +++ b/tests/jobs/test_strikes_handler.py @@ -1,5 +1,5 @@ import logging -from unittest.mock import MagicMock, patch +from unittest.mock import MagicMock import pytest from src.jobs.strikes_handler import StrikesHandler @@ -122,7 +122,6 @@ def test_log_change_logs_expected_strike_changes(caplog): # Check actual IDs exist for key in ["hash_new", "hash_inc", "hash_old", "hash_gone", "hash_paused"]: assert key in log_messages - @pytest.mark.parametrize( "max_strikes, initial_strikes, expected_removed_after_two_runs",