chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
import pytest
|
||||
|
||||
from yuxi.knowledge.utils.kb_utils import prepare_item_metadata
|
||||
|
||||
|
||||
async def test_prepare_item_metadata_preserves_uploaded_file_size():
|
||||
item = "minio://knowledgebases/db/upload/demo.txt"
|
||||
params = {
|
||||
"content_hashes": {item: "hash"},
|
||||
"file_sizes": {item: 1234},
|
||||
}
|
||||
|
||||
metadata = await prepare_item_metadata(item, "file", "db", params=params)
|
||||
|
||||
assert metadata["size"] == 1234
|
||||
assert "file_sizes" not in (metadata.get("processing_params") or {})
|
||||
|
||||
|
||||
async def test_prepare_item_metadata_uses_source_path_as_display_filename():
|
||||
item = "minio://knowledgebases/db/upload/intro_1710000000000.md"
|
||||
params = {
|
||||
"content_hashes": {item: "hash"},
|
||||
"source_path": "guides/setup/Intro.MD",
|
||||
}
|
||||
|
||||
metadata = await prepare_item_metadata(item, "file", "db", params=params)
|
||||
|
||||
assert metadata["filename"] == "guides/setup/Intro.MD"
|
||||
assert metadata["file_type"] == "md"
|
||||
assert metadata["path"] == item
|
||||
|
||||
|
||||
async def test_prepare_item_metadata_preserves_preprocessed_file_size():
|
||||
item = "minio://knowledgebases/db/upload/page.html"
|
||||
params = {
|
||||
"_preprocessed_map": {
|
||||
item: {
|
||||
"path": item,
|
||||
"content_hash": "hash",
|
||||
"filename": "https://example.com",
|
||||
"file_size": 5678,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
metadata = await prepare_item_metadata(item, "file", "db", params=params)
|
||||
|
||||
assert metadata["size"] == 5678
|
||||
assert "_preprocessed_map" not in (metadata.get("processing_params") or {})
|
||||
|
||||
|
||||
async def test_prepare_item_metadata_rejects_direct_url_content_type():
|
||||
with pytest.raises(ValueError, match="Unsupported content_type"):
|
||||
await prepare_item_metadata("https://example.com", "url", "db")
|
||||
Reference in New Issue
Block a user