journal-bot/tests/test_config.py

28 lines
894 B
Python

import os
from pathlib import Path
import pytest
from journal_bot.config import Config
def test_config_loads_from_env(monkeypatch, tmp_path):
monkeypatch.setenv("TELEGRAM_TOKEN", "abc")
monkeypatch.setenv("ALLOWED_USER_ID", "42")
monkeypatch.setenv("VAULT_PATH", str(tmp_path))
monkeypatch.setenv("JOURNAL_BOT_HOME", str(tmp_path / "runtime"))
cfg = Config()
assert cfg.telegram_token == "abc"
assert cfg.allowed_user_id == 42
assert cfg.vault_path == tmp_path
assert cfg.queue_dir == tmp_path / "runtime" / "queue"
assert cfg.state_dir == tmp_path / "runtime" / "state"
assert cfg.logs_dir == tmp_path / "runtime" / "logs"
def test_config_missing_required_fails(monkeypatch):
for var in ["TELEGRAM_TOKEN", "ALLOWED_USER_ID", "VAULT_PATH"]:
monkeypatch.delenv(var, raising=False)
with pytest.raises(Exception):
Config()