diff --git a/src/lightspeed_stack.py b/src/lightspeed_stack.py index ca793690..4b6208a2 100644 --- a/src/lightspeed_stack.py +++ b/src/lightspeed_stack.py @@ -61,7 +61,7 @@ def main() -> None: if args.dump_configuration: dump_configuration(configuration.configuration) else: - start_uvicorn() + start_uvicorn(configuration.service_configuration) logger.info("Lightspeed stack finished") diff --git a/src/runners/uvicorn.py b/src/runners/uvicorn.py index 4f0497cd..d0159a34 100644 --- a/src/runners/uvicorn.py +++ b/src/runners/uvicorn.py @@ -4,23 +4,22 @@ import uvicorn +from models.config import ServiceConfiguration + logger: logging.Logger = logging.getLogger(__name__) -def start_uvicorn() -> None: +def start_uvicorn(configuration: ServiceConfiguration) -> None: """Start Uvicorn-based REST API service.""" logger.info("Starting Uvicorn") - host = "localhost" - port = 8080 - workers = 1 log_level = logging.INFO uvicorn.run( "app.main:app", - host=host, - port=port, - workers=workers, + host=configuration.host, + port=configuration.port, + workers=configuration.workers, log_level=log_level, use_colors=True, access_log=True, diff --git a/tests/unit/runners/test_uvicorn_runner.py b/tests/unit/runners/test_uvicorn_runner.py index 953a66e0..20262f2e 100644 --- a/tests/unit/runners/test_uvicorn_runner.py +++ b/tests/unit/runners/test_uvicorn_runner.py @@ -3,14 +3,17 @@ from unittest.mock import patch +from models.config import ServiceConfiguration from runners.uvicorn import start_uvicorn def test_start_uvicorn() -> None: """Test the function to start Uvicorn server.""" + configuration = ServiceConfiguration(host="localhost", port=8080, workers=1) + # don't start real Uvicorn server with patch("uvicorn.run") as mocked_run: - start_uvicorn() + start_uvicorn(configuration) mocked_run.assert_called_once_with( "app.main:app", host="localhost",