64 lines
2.1 KiB
Python
64 lines
2.1 KiB
Python
"""Tests for Steward configuration loading."""
|
|
|
|
import pytest
|
|
|
|
from steward import config as config_module
|
|
from steward.config import TelegramConfig, reload_settings
|
|
|
|
|
|
@pytest.fixture(autouse=True)
|
|
def reset_settings_singleton():
|
|
config_module._settings_instance = None
|
|
yield
|
|
config_module._settings_instance = None
|
|
|
|
|
|
def test_telegram_config_accepts_csv_id_lists():
|
|
config = TelegramConfig(
|
|
allowed_user_ids="8861600138, 123456789",
|
|
group_ids="-5308306472,-1005308306472",
|
|
)
|
|
|
|
assert config.allowed_user_ids == [8861600138, 123456789]
|
|
assert config.group_ids == [-5308306472, -1005308306472]
|
|
|
|
|
|
def test_telegram_config_preserves_list_id_values():
|
|
config = TelegramConfig(
|
|
allowed_user_ids=[8861600138, 123456789],
|
|
group_ids=[-5308306472, -1005308306472],
|
|
)
|
|
|
|
assert config.allowed_user_ids == [8861600138, 123456789]
|
|
assert config.group_ids == [-5308306472, -1005308306472]
|
|
|
|
|
|
def test_settings_accepts_csv_id_lists_from_env(monkeypatch):
|
|
monkeypatch.setenv("STEWARD__TELEGRAM__ALLOWED_USER_IDS", "8861600138,123456789")
|
|
monkeypatch.setenv("STEWARD__TELEGRAM__GROUP_IDS", "-5308306472,-1005308306472")
|
|
|
|
settings = reload_settings()
|
|
|
|
assert settings.telegram_allowed_user_ids == [8861600138, 123456789]
|
|
assert settings.telegram_group_ids == [-5308306472, -1005308306472]
|
|
|
|
|
|
def test_settings_accepts_single_id_values_from_env(monkeypatch):
|
|
monkeypatch.setenv("STEWARD__TELEGRAM__ALLOWED_USER_IDS", "8861600138")
|
|
monkeypatch.setenv("STEWARD__TELEGRAM__GROUP_IDS", "-5308306472")
|
|
|
|
settings = reload_settings()
|
|
|
|
assert settings.telegram_allowed_user_ids == [8861600138]
|
|
assert settings.telegram_group_ids == [-5308306472]
|
|
|
|
|
|
def test_settings_accepts_quoted_json_id_lists_from_env(monkeypatch):
|
|
monkeypatch.setenv("STEWARD__TELEGRAM__ALLOWED_USER_IDS", "'[8861600138]'")
|
|
monkeypatch.setenv("STEWARD__TELEGRAM__GROUP_IDS", "'[-5308306472]'")
|
|
|
|
settings = reload_settings()
|
|
|
|
assert settings.telegram_allowed_user_ids == [8861600138]
|
|
assert settings.telegram_group_ids == [-5308306472]
|