From ae8bc0a8aff9a7f5beb556f6e9f46ccea9fc1f56 Mon Sep 17 00:00:00 2001 From: "george.robertson1" <50412379+georgeRobertson@users.noreply.github.com> Date: Mon, 30 Mar 2026 17:17:00 +0100 Subject: [PATCH 1/2] test: switch ddb audit tests to use sep temp db and audit manager due to connection shutting before completion of these tests --- .../test_duckdb/test_audit_ddb.py | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/tests/test_core_engine/test_backends/test_implementations/test_duckdb/test_audit_ddb.py b/tests/test_core_engine/test_backends/test_implementations/test_duckdb/test_audit_ddb.py index 6260965..c12dd12 100644 --- a/tests/test_core_engine/test_backends/test_implementations/test_duckdb/test_audit_ddb.py +++ b/tests/test_core_engine/test_backends/test_implementations/test_duckdb/test_audit_ddb.py @@ -7,30 +7,32 @@ from uuid import uuid4 import pytest -from duckdb import ColumnExpression, ConstantExpression, DuckDBPyConnection +from duckdb import ColumnExpression, ConstantExpression, DuckDBPyConnection, connect from dve.core_engine.backends.implementations.duckdb.auditing import DDBAuditingManager from dve.core_engine.models import ProcessingStatusRecord, SubmissionInfo, SubmissionStatisticsRecord from dve.pipeline.utils import SubmissionStatus -from .....fixtures import temp_ddb_conn # pylint: disable=unused-import - @pytest.fixture(scope="function") -def ddb_audit_manager(temp_ddb_conn) -> Iterator[DDBAuditingManager]: - db_file: Path - conn: DuckDBPyConnection - db_file, conn = temp_ddb_conn - yield DDBAuditingManager(database_uri=db_file.as_uri(), connection=conn) +def ddb_audit_manager() -> Iterator[DDBAuditingManager]: + db = f"dve_{uuid4().hex}" + with tempfile.TemporaryDirectory(prefix="ddb_audit_testing") as tmp: + db_file = Path(tmp, db + ".duckdb") + conn = connect(database=db_file, read_only=False) + + yield DDBAuditingManager(database_uri=db_file.as_uri(), connection=conn) @pytest.fixture(scope="function") -def ddb_audit_manager_threaded(temp_ddb_conn) -> Iterator[DDBAuditingManager]: - db_file: Path - conn: DuckDBPyConnection - db_file, conn = temp_ddb_conn - with ThreadPoolExecutor(1) as pool: - yield DDBAuditingManager(database_uri=db_file.as_uri(), pool=pool, connection=conn) +def ddb_audit_manager_threaded() -> Iterator[DDBAuditingManager]: + db = f"dve_{uuid4().hex}" + with tempfile.TemporaryDirectory(prefix="ddb_audit_testing") as tmp: + db_file = Path(tmp, db + ".duckdb") + conn = connect(database=db_file, read_only=False) + + with ThreadPoolExecutor(1) as pool: + yield DDBAuditingManager(database_uri=db_file.as_uri(), pool=pool, connection=conn) @pytest.fixture From 681bcf4ff3233f98690f679f02445261547ea5df Mon Sep 17 00:00:00 2001 From: "george.robertson1" <50412379+georgeRobertson@users.noreply.github.com> Date: Mon, 30 Mar 2026 17:17:57 +0100 Subject: [PATCH 2/2] build: relock poetry.lock --- poetry.lock | 8 -------- 1 file changed, 8 deletions(-) diff --git a/poetry.lock b/poetry.lock index 544b6f0..644dd67 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1270,7 +1270,6 @@ python-versions = ">=3.10" groups = ["docs"] files = [ {file = "griffelib-2.0.0-py3-none-any.whl", hash = "sha256:01284878c966508b6d6f1dbff9b6fa607bc062d8261c5c7253cb285b06422a7f"}, - {file = "griffelib-2.0.0.tar.gz", hash = "sha256:e504d637a089f5cab9b5daf18f7645970509bf4f53eda8d79ed71cce8bd97934"}, ] [package.extras] @@ -2737,13 +2736,6 @@ optional = false python-versions = ">=3.8" groups = ["dev", "docs", "test"] files = [ - {file = "PyYAML-6.0.3-cp38-cp38-macosx_10_13_x86_64.whl", hash = "sha256:c2514fceb77bc5e7a2f7adfaa1feb2fb311607c9cb518dbc378688ec73d8292f"}, - {file = "PyYAML-6.0.3-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9c57bb8c96f6d1808c030b1687b9b5fb476abaa47f0db9c0101f5e9f394e97f4"}, - {file = "PyYAML-6.0.3-cp38-cp38-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:efd7b85f94a6f21e4932043973a7ba2613b059c4a000551892ac9f1d11f5baf3"}, - {file = "PyYAML-6.0.3-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:22ba7cfcad58ef3ecddc7ed1db3409af68d023b7f940da23c6c2a1890976eda6"}, - {file = "PyYAML-6.0.3-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:6344df0d5755a2c9a276d4473ae6b90647e216ab4757f8426893b5dd2ac3f369"}, - {file = "PyYAML-6.0.3-cp38-cp38-win32.whl", hash = "sha256:3ff07ec89bae51176c0549bc4c63aa6202991da2d9a6129d7aef7f1407d3f295"}, - {file = "PyYAML-6.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:5cf4e27da7e3fbed4d6c3d8e797387aaad68102272f8f9752883bc32d61cb87b"}, {file = "pyyaml-6.0.3-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:214ed4befebe12df36bcc8bc2b64b396ca31be9304b8f59e25c11cf94a4c033b"}, {file = "pyyaml-6.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:02ea2dfa234451bbb8772601d7b8e426c2bfa197136796224e50e35a78777956"}, {file = "pyyaml-6.0.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b30236e45cf30d2b8e7b3e85881719e98507abed1011bf463a8fa23e9c3e98a8"},