mirror of
https://github.com/langgenius/dify.git
synced 2026-11-13 14:51:39 +08:00
refactor(api): establish dataset application boundaries (#41729)
Co-authored-by: Jyong <jyong@dify.ai>
This commit is contained in:
1 parent
c005932db9
commit
a67cd87eb0
417 files changed
+30522
-23751
No files matched your search
@@ -1,18 +1,17 @@
|
||||
import json
|
||||
from datetime import datetime
|
||||
|
||||
import pytest
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from extensions.storage.storage_type import StorageType
|
||||
from fields.document_fields import DocumentWithSession
|
||||
from fields.document_fields import DocumentResponse
|
||||
from models.dataset import Document, DocumentSegment
|
||||
from models.enums import CreatorUserRole, DataSourceType, DocumentCreatedFrom
|
||||
from models.model import UploadFile
|
||||
from services.knowledge.dataset_read_service import load_document_details
|
||||
|
||||
|
||||
@pytest.mark.parametrize("sqlite_session", [(Document, DocumentSegment, UploadFile)], indirect=True)
|
||||
def test_document_with_session_uses_explicit_getters(sqlite_session: Session) -> None:
|
||||
def test_document_detail_serializes_after_session_closes(sqlite_session: Session) -> None:
|
||||
upload = UploadFile(
|
||||
tenant_id="tenant-1",
|
||||
storage_type=StorageType.LOCAL,
|
||||
@@ -52,8 +51,11 @@ def test_document_with_session_uses_explicit_getters(sqlite_session: Session) ->
|
||||
)
|
||||
sqlite_session.add_all([upload, document, segment])
|
||||
sqlite_session.flush()
|
||||
source = DocumentWithSession(document=document, session=sqlite_session)
|
||||
source = load_document_details([document], session=sqlite_session)[0]
|
||||
sqlite_session.expire_all()
|
||||
sqlite_session.close()
|
||||
response = DocumentResponse.model_validate(source).model_dump(mode="json")
|
||||
|
||||
assert source.data_source_detail_dict["upload_file"]["name"] == "source.txt"
|
||||
assert source.hit_count == 3
|
||||
assert source.doc_metadata_details is None
|
||||
assert response["data_source_detail_dict"]["upload_file"]["name"] == "source.txt"
|
||||
assert response["hit_count"] == 3
|
||||
assert response["doc_metadata"] == []
|
||||
Reference in new issue
Block a user