mirror of
https://github.com/VectifyAI/PageIndex.git
synced 2026-06-12 19:55:17 +02:00
71 lines
2.2 KiB
Python
71 lines
2.2 KiB
Python
import pytest
|
|
|
|
|
|
def test_root_virtual_file_path_resolves_without_double_slash(tmp_path):
|
|
from pageindex.filesystem import PageIndexFileSystem
|
|
|
|
filesystem = PageIndexFileSystem(workspace=tmp_path / "workspace")
|
|
file_ref = filesystem.register_file(
|
|
storage_uri="file:///tmp/root-source.txt",
|
|
source_path="sources/root-source.txt",
|
|
folder_path="/",
|
|
external_id="doc_root_title",
|
|
title="Root Title",
|
|
content="root content",
|
|
)
|
|
|
|
assert filesystem.store.resolve_file_ref("/Root Title") == file_ref
|
|
|
|
|
|
def test_ambiguous_virtual_file_path_raises_clear_error(tmp_path):
|
|
from pageindex.filesystem import PageIndexFileSystem
|
|
|
|
filesystem = PageIndexFileSystem(workspace=tmp_path / "workspace")
|
|
first_ref = filesystem.register_file(
|
|
storage_uri="file:///tmp/first.txt",
|
|
source_path="b/file.txt",
|
|
folder_path="/a",
|
|
external_id="doc_first",
|
|
title="First",
|
|
content="first content",
|
|
)
|
|
second_ref = filesystem.register_file(
|
|
storage_uri="file:///tmp/second.txt",
|
|
source_path="second-source.txt",
|
|
folder_path="/a/b",
|
|
external_id="doc_second",
|
|
title="file.txt",
|
|
content="second content",
|
|
)
|
|
|
|
with pytest.raises(KeyError, match="Ambiguous file target"):
|
|
filesystem.store.resolve_file_ref("/a/b/file.txt")
|
|
|
|
assert first_ref != second_ref
|
|
|
|
|
|
def test_duplicate_source_path_target_raises_clear_error(tmp_path):
|
|
from pageindex.filesystem import PageIndexFileSystem
|
|
|
|
filesystem = PageIndexFileSystem(workspace=tmp_path / "workspace")
|
|
first_ref = filesystem.register_file(
|
|
storage_uri="file:///tmp/first.txt",
|
|
source_path="shared/source.txt",
|
|
folder_path="/first",
|
|
external_id="doc_first",
|
|
title="First",
|
|
content="first content",
|
|
)
|
|
second_ref = filesystem.register_file(
|
|
storage_uri="file:///tmp/second.txt",
|
|
source_path="shared/source.txt",
|
|
folder_path="/second",
|
|
external_id="doc_second",
|
|
title="Second",
|
|
content="second content",
|
|
)
|
|
|
|
with pytest.raises(KeyError, match="Ambiguous file target"):
|
|
filesystem.store.resolve_file_ref("/shared/source.txt")
|
|
|
|
assert first_ref != second_ref
|