diff --git a/tests/contrib/test_blacksheep.py b/tests/contrib/test_blacksheep.py new file mode 100644 index 000000000..2dab65fae --- /dev/null +++ b/tests/contrib/test_blacksheep.py @@ -0,0 +1,34 @@ +from unittest.mock import AsyncMock, patch + +import pytest +from blacksheep.server import Application + +from tortoise.contrib.blacksheep import register_tortoise + + +@pytest.mark.asyncio +async def test_register_tortoise_enables_global_fallback() -> None: + with ( + patch("tortoise.contrib.blacksheep.Tortoise") as mocked_tortoise, + patch("tortoise.contrib.blacksheep.get_connections"), + ): + mocked_tortoise.init = AsyncMock() + mocked_tortoise.close_connections = AsyncMock() + app = Application() + register_tortoise( + app, + db_url="sqlite://:memory:", + modules={"models": ["__main__"]}, + ) + + await app.start() + mocked_tortoise.init.assert_awaited_once_with( + config=None, + config_file=None, + db_url="sqlite://:memory:", + modules={"models": ["__main__"]}, + _enable_global_fallback=True, + ) + + await app.stop() + mocked_tortoise.close_connections.assert_awaited_once() diff --git a/tortoise/contrib/blacksheep/__init__.py b/tortoise/contrib/blacksheep/__init__.py index 015ac1907..cda20acc3 100644 --- a/tortoise/contrib/blacksheep/__init__.py +++ b/tortoise/contrib/blacksheep/__init__.py @@ -89,7 +89,13 @@ def register_tortoise( @app.on_start async def init_orm(context) -> None: # pylint: disable=W0612 - await Tortoise.init(config=config, config_file=config_file, db_url=db_url, modules=modules) + await Tortoise.init( + config=config, + config_file=config_file, + db_url=db_url, + modules=modules, + _enable_global_fallback=True, + ) logger.info("Tortoise-ORM started, %s, %s", get_connections()._get_storage(), Tortoise.apps) if generate_schemas: logger.info("Tortoise-ORM generating schema")