plutoV2_miniProject_3rd-yr / mp1 /test_doc_index.py
3v324v23's picture
Add application file
66ad25b
from pathlib import Path
import shutil
from pluto.doc_index import ChunkMeta, DocIndex
def test_doc_index_persists_failed_processing_state():
base_dir = Path(__file__).resolve().parent / "output"
base_dir.mkdir(parents=True, exist_ok=True)
temp_dir = base_dir / "doc-index-test"
shutil.rmtree(temp_dir, ignore_errors=True)
temp_dir.mkdir(parents=True, exist_ok=True)
try:
persist_path = temp_dir / "doc_index.json"
index = DocIndex(persist_path=persist_path)
index.register_doc(
doc_id="paper",
filename="paper.md",
chunks=["chunk text"],
chunk_meta=[ChunkMeta(chunk_id="C0", chunk_type="text", mode="MODE_REASONING")],
)
index.mark_processing("paper")
index.mark_failed("paper", "Invalid API key")
reloaded = DocIndex(persist_path=persist_path)
assert reloaded.get_status("paper") == "failed"
assert reloaded.get_last_error("paper") == "Invalid API key"
assert not reloaded.is_processed("paper")
finally:
shutil.rmtree(temp_dir, ignore_errors=True)