From c1bd7c89c3de1ca9baf7e99b8983503c016ac711 Mon Sep 17 00:00:00 2001 From: Christophe Bornet Date: Thu, 5 Dec 2024 14:15:21 +0100 Subject: [PATCH] fix: Fix test_get_and_cache_all_types_dict (#5054) --- pyproject.toml | 2 +- src/backend/base/langflow/main.py | 2 +- src/backend/tests/conftest.py | 1 + .../tests/performance/test_server_init.py | 18 +++++++++--------- uv.lock | 8 ++++---- 5 files changed, 16 insertions(+), 15 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index f7bbe1971..1b16eb854 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -176,7 +176,7 @@ dev-dependencies = [ "asgi-lifespan>=2.1.0", "pytest-github-actions-annotate-failures>=0.2.0", "pytest-codspeed>=3.0.0", - "blockbuster>=1.1.1,<1.2", + "blockbuster>=1.3.1,<1.4", "types-aiofiles>=24.1.0.20240626", ] diff --git a/src/backend/base/langflow/main.py b/src/backend/base/langflow/main.py index 87d0395c3..56752e73a 100644 --- a/src/backend/base/langflow/main.py +++ b/src/backend/base/langflow/main.py @@ -101,7 +101,7 @@ def get_lifespan(*, fix_migration=False, version=None): rprint("[bold green]Starting Langflow...[/bold green]") try: await initialize_services(fix_migration=fix_migration) - await asyncio.to_thread(setup_llm_caching) + setup_llm_caching() await initialize_super_user_if_needed() all_types_dict = await get_and_cache_all_types_dict(get_settings_service()) await asyncio.to_thread(create_or_update_starter_projects, all_types_dict) diff --git a/src/backend/tests/conftest.py b/src/backend/tests/conftest.py index ea71e2db6..a855fb988 100644 --- a/src/backend/tests/conftest.py +++ b/src/backend/tests/conftest.py @@ -57,6 +57,7 @@ def blockbuster(): for func in bb.functions: if func.startswith("sqlite3."): bb.functions[func].deactivate() + bb.functions["threading.Lock.acquire"].deactivate() yield bb diff --git a/src/backend/tests/performance/test_server_init.py b/src/backend/tests/performance/test_server_init.py index a08165ed4..59fdd5962 100644 --- a/src/backend/tests/performance/test_server_init.py +++ b/src/backend/tests/performance/test_server_init.py @@ -25,7 +25,7 @@ async def test_initialize_services(): from langflow.services.utils import initialize_services await initialize_services(fix_migration=False) - settings_service = await asyncio.to_thread(get_settings_service) + settings_service = get_settings_service() assert "test_performance.db" in settings_service.settings.database_url @@ -34,8 +34,8 @@ async def test_setup_llm_caching(): """Benchmark LLM caching setup.""" from langflow.interface.utils import setup_llm_caching - await asyncio.to_thread(setup_llm_caching) - settings_service = await asyncio.to_thread(get_settings_service) + setup_llm_caching() + settings_service = get_settings_service() assert "test_performance.db" in settings_service.settings.database_url @@ -47,7 +47,7 @@ async def test_initialize_super_user(): await initialize_services(fix_migration=False) await initialize_super_user_if_needed() - settings_service = await asyncio.to_thread(get_settings_service) + settings_service = get_settings_service() assert "test_performance.db" in settings_service.settings.database_url @@ -56,9 +56,9 @@ async def test_get_and_cache_all_types_dict(): """Benchmark get_and_cache_all_types_dict function.""" from langflow.interface.types import get_and_cache_all_types_dict - settings_service = await asyncio.to_thread(get_settings_service) - result = await asyncio.to_thread(get_and_cache_all_types_dict, settings_service) - assert result is not None + settings_service = get_settings_service() + result = await get_and_cache_all_types_dict(settings_service) + assert "vectorstores" in result assert "test_performance.db" in settings_service.settings.database_url @@ -70,7 +70,7 @@ async def test_create_starter_projects(): from langflow.services.utils import initialize_services await initialize_services(fix_migration=False) - settings_service = await asyncio.to_thread(get_settings_service) + settings_service = get_settings_service() types_dict = await get_and_cache_all_types_dict(settings_service) await asyncio.to_thread(create_or_update_starter_projects, types_dict) assert "test_performance.db" in settings_service.settings.database_url @@ -82,5 +82,5 @@ async def test_load_flows(): from langflow.initial_setup.setup import load_flows_from_directory await load_flows_from_directory() - settings_service = await asyncio.to_thread(get_settings_service) + settings_service = get_settings_service() assert "test_performance.db" in settings_service.settings.database_url diff --git a/uv.lock b/uv.lock index 98c7a9933..af859f27d 100644 --- a/uv.lock +++ b/uv.lock @@ -461,14 +461,14 @@ wheels = [ [[package]] name = "blockbuster" -version = "1.1.1" +version = "1.3.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "forbiddenfruit" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ec/75/b220b51bf86f0ac04c2d5d37c14bde16d2f88efaa2487cdfea89e9523c06/blockbuster-1.1.1.tar.gz", hash = "sha256:7b9adc2a6cff91d8e671458bf8fe24bd9b78472f28095d677666e178e3f4faef", size = 9080 } +sdist = { url = "https://files.pythonhosted.org/packages/6a/8c/e7e61396951b9ab1c39c35fa3a9737270a62da41d0b3ff6a15207747e5eb/blockbuster-1.3.1.tar.gz", hash = "sha256:59984286e1cd274d406129f93a42bd62b98fe53f484d544e6e743a5d6d7e42d5", size = 9409 } wheels = [ - { url = "https://files.pythonhosted.org/packages/7e/67/3fc297f8b3a1af3d43ec2252dbc59e710fb003427f63f2bfc9974fa68ccc/blockbuster-1.1.1-py3-none-any.whl", hash = "sha256:cf75011d3cb5266c618be292337f3f3ecbc00e0d056849a64a183ba1cb55518b", size = 7902 }, + { url = "https://files.pythonhosted.org/packages/a2/de/28b5c37969037ad7dcf08c18dba255e1ba3a42539cf04cae3ef627f706ae/blockbuster-1.3.1-py3-none-any.whl", hash = "sha256:883292a02c1ae9dbd76d637ea8b604a1cc75aebb0544d566aed90491e056963e", size = 8111 }, ] [[package]] @@ -3760,7 +3760,7 @@ requires-dist = [ [package.metadata.requires-dev] dev = [ { name = "asgi-lifespan", specifier = ">=2.1.0" }, - { name = "blockbuster", specifier = ">=1.1.1,<1.2" }, + { name = "blockbuster", specifier = ">=1.3.1,<1.4" }, { name = "dictdiffer", specifier = ">=0.9.0" }, { name = "httpx", specifier = ">=0.27.0" }, { name = "ipykernel", specifier = ">=6.29.0" },