Spaces:
Running
Running
File size: 1,084 Bytes
00a2010 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | def test_server_module_exports_app_and_create_app():
import server
assert server.app is not None
assert callable(server.create_app)
def test_server_main_invokes_uvicorn_run(monkeypatch):
import runpy
from types import SimpleNamespace
from unittest.mock import patch
import uvicorn as uvicorn_mod
import config.settings as settings_mod
# Patch settings used by server.__main__ block.
old_get_settings = settings_mod.get_settings
mock_settings = SimpleNamespace(host="127.0.0.1", port=9999)
try:
with (
patch.object(settings_mod, "get_settings", lambda: mock_settings),
patch.object(uvicorn_mod, "run") as mock_run,
):
runpy.run_module("server", run_name="__main__")
mock_run.assert_called_once()
call_kwargs = mock_run.call_args[1]
assert call_kwargs["host"] == "127.0.0.1"
assert call_kwargs["port"] == 9999
assert call_kwargs["log_level"] == "debug"
finally:
settings_mod.get_settings = old_get_settings
|