From e0255412acea5a194012b3a8848d34e80dac3a00 Mon Sep 17 00:00:00 2001 From: Agent Zero Date: Wed, 26 Aug 2026 23:17:38 +0200 Subject: [PATCH] =?UTF-8?q?fix(dms):=203=20von=204=20Vorbestand-Testfailur?= =?UTF-8?q?es=20behoben=20=E2=80=94=20Suite=20125->128=20gruen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. shared_with_me Leerpfad gab Envelope {items,total} zurueck waehrend Erfolgspfad pures Array liefert (self-inconsistent) -> jetzt konsistent [] wie /search; Frontend dms.ts vertraegt beide Shapes 2+3. CHUNK_SIZE historischer Kontrakt wiederhergestellt: Originaltest importierte CHUNK_SIZE aus dms.routes (727d866), a614ab3 entfernte den Import statt das Symbol zu liefern -> NameError x2. Jetzt: oeffentliche Konstante in common.py + Re-Export + Importzeile im Test restauriert Beweis: Full-DMS-Suite 129 Tests = 128 passed + 1 failed (nur multiple_files, s. Follow-up) vs Baseline 125+4 --- app/plugins/builtins/dms/common.py | 3 +++ app/plugins/builtins/dms/routes.py | 1 + app/plugins/builtins/dms/search_bulk_routes.py | 2 +- tests/test_p1_6_dms_streaming.py | 2 +- 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/plugins/builtins/dms/common.py b/app/plugins/builtins/dms/common.py index 7d92b5d..9f5ff74 100644 --- a/app/plugins/builtins/dms/common.py +++ b/app/plugins/builtins/dms/common.py @@ -106,3 +106,6 @@ def _is_blocked_filetype(filename: str) -> bool: chunk_size = 1024 * 1024 # 1MB chunks for streaming uploads # ─── Folders ─── + +# Public stream-chunk constant (original contract name from tests/test_p1_6_dms_streaming.py) +CHUNK_SIZE = chunk_size diff --git a/app/plugins/builtins/dms/routes.py b/app/plugins/builtins/dms/routes.py index 9a73896..b275f25 100644 --- a/app/plugins/builtins/dms/routes.py +++ b/app/plugins/builtins/dms/routes.py @@ -29,6 +29,7 @@ from app.deps import get_current_user, require_permission from app.plugins.builtins.dms.common import ( # noqa: F401 ALLOWED_MIME_PREFIXES, BLOCKED_EXTENSIONS, + CHUNK_SIZE, MAX_FILE_SIZE, OFFICE_EXTENSIONS, _file_storage_path, diff --git a/app/plugins/builtins/dms/search_bulk_routes.py b/app/plugins/builtins/dms/search_bulk_routes.py index a4faee9..d4f74ad 100644 --- a/app/plugins/builtins/dms/search_bulk_routes.py +++ b/app/plugins/builtins/dms/search_bulk_routes.py @@ -86,7 +86,7 @@ async def shared_with_me( file_ids = {p.file_id for p in perms} if not file_ids: - return {"items": [], "total": 0} + return [] query = select(DmsFile).where( DmsFile.tenant_id == tenant_id, diff --git a/tests/test_p1_6_dms_streaming.py b/tests/test_p1_6_dms_streaming.py index 4c8e576..04901f0 100644 --- a/tests/test_p1_6_dms_streaming.py +++ b/tests/test_p1_6_dms_streaming.py @@ -14,7 +14,7 @@ from unittest.mock import AsyncMock, MagicMock import pytest from app.core.storage import LocalStorage, StorageBackend -from app.plugins.builtins.dms.routes import _sanitize_filename +from app.plugins.builtins.dms.routes import CHUNK_SIZE, _sanitize_filename class TestSanitizeFilename: