Files
g2s-aggregator/tests/smoke/test_app_import.py
T
Раис Юсупалиев 299a8e69ea 010 fix config
2026-03-08 16:26:45 +03:00

36 lines
1.1 KiB
Python

import importlib
import sys
from pathlib import Path
from fastapi import FastAPI
from app import config as config_module
from app.config import Settings, get_settings
TEST_CONFIG_FILE = Path(__file__).resolve().parents[2] / "config.test.yaml"
def _import_main_module(monkeypatch):
get_settings.cache_clear()
monkeypatch.setattr(config_module, "TEST_CONFIG_FILE", str(TEST_CONFIG_FILE))
sys.modules.pop("app.main", None)
return importlib.import_module("app.main")
def test_app_import_smoke(monkeypatch) -> None:
main_module = _import_main_module(monkeypatch)
assert isinstance(main_module.app, FastAPI)
assert isinstance(main_module.app.state.settings, Settings)
get_settings.cache_clear()
def test_app_created_with_provided_settings(monkeypatch) -> None:
main_module = _import_main_module(monkeypatch)
monkeypatch.setattr(config_module, "TEST_CONFIG_FILE", str(TEST_CONFIG_FILE))
settings = Settings()
instance = main_module.create_app(settings=settings)
assert instance.state.settings is settings
get_settings.cache_clear()