mirror of
https://github.com/langgenius/dify.git
synced 2026-04-24 04:45:51 +08:00
refactor(workflow-file): phase2 replace remaining imports and remove core.file
Complete phase 2 of the file module migration by replacing the remaining repository-wide legacy imports and deleting the temporary core.file compatibility package introduced in phase 1. What this commit changes - Replace legacy core.file.* imports with core.workflow.file.* across: - controllers - core app/agent/datasource/prompt/rag/tools/variables - factories, fields, libs, models, services - otel parser integration points - unit and integration tests that referenced legacy paths - Migrate residual runtime usages in app/task pipeline paths that still referenced core.file symbols. - Update tests and model serialization helpers that relied on old module paths. - Remove the compatibility bridge package entirely: - delete core/file/__init__.py - delete core/file/constants.py - delete core/file/enums.py - delete core/file/file_manager.py - delete core/file/helpers.py - delete core/file/models.py - delete core/file/tool_file_parser.py Verification - No Python references to core.file remain ( -> empty). - Targeted regression tests for migrated file primitives and factory/type flows passed: - tests/unit_tests/core/test_file.py - tests/unit_tests/factories/test_variable_factory.py - tests/unit_tests/services/test_variable_truncator.py Result - The repository now uses core.workflow.file as the single canonical file namespace. - The migration is fully split into two commits: phase 1 compatibility + phase 2 full cutover.
This commit is contained in:
@ -310,8 +310,8 @@ def test_workflow_node_variables_fields():
|
||||
|
||||
def test_workflow_file_variable_with_signed_url():
|
||||
"""Test that File type variables include signed URLs in API responses."""
|
||||
from core.file.enums import FileTransferMethod, FileType
|
||||
from core.file.models import File
|
||||
from core.workflow.file.enums import FileTransferMethod, FileType
|
||||
from core.workflow.file.models import File
|
||||
|
||||
# Create a File object with LOCAL_FILE transfer method (which generates signed URLs)
|
||||
test_file = File(
|
||||
@ -368,8 +368,8 @@ def test_workflow_file_variable_with_signed_url():
|
||||
|
||||
def test_workflow_file_variable_remote_url():
|
||||
"""Test that File type variables with REMOTE_URL transfer method return the remote URL."""
|
||||
from core.file.enums import FileTransferMethod, FileType
|
||||
from core.file.models import File
|
||||
from core.workflow.file.enums import FileTransferMethod, FileType
|
||||
from core.workflow.file.models import File
|
||||
|
||||
# Create a File object with REMOTE_URL transfer method
|
||||
test_file = File(
|
||||
|
||||
@ -49,8 +49,8 @@ def datasets_document_module(monkeypatch: pytest.MonkeyPatch):
|
||||
monkeypatch.setattr(wraps, "account_initialization_required", _noop)
|
||||
|
||||
# Bypass billing-related decorators used by other endpoints in this module.
|
||||
monkeypatch.setattr(wraps, "cloud_edition_billing_resource_check", lambda *_args, **_kwargs: (lambda f: f))
|
||||
monkeypatch.setattr(wraps, "cloud_edition_billing_rate_limit_check", lambda *_args, **_kwargs: (lambda f: f))
|
||||
monkeypatch.setattr(wraps, "cloud_edition_billing_resource_check", lambda *_args, **_kwargs: lambda f: f)
|
||||
monkeypatch.setattr(wraps, "cloud_edition_billing_rate_limit_check", lambda *_args, **_kwargs: lambda f: f)
|
||||
|
||||
# Avoid Flask-RESTX route registration side effects during import.
|
||||
def _noop_route(*_args, **_kwargs): # type: ignore[override]
|
||||
|
||||
Reference in New Issue
Block a user