Testing QuivrFile Object Creation and Metadata Management in QuivrHQ/quivr
This test suite validates the QuivrFile class functionality in the Quivr application, focusing on file creation and metadata handling. The tests ensure proper initialization of file objects and verify the correct storage of file attributes and metadata.
Test Coverage Overview
Implementation Analysis
Technical Details
Best Practices Demonstrated
quivrhq/quivr
core/tests/test_quivr_file.py
from pathlib import Path
from uuid import uuid4
from quivr_core.files.file import FileExtension, QuivrFile
def test_create_file():
id = uuid4()
brain_id = uuid4()
qfile = QuivrFile(
id=id,
brain_id=brain_id,
original_filename="name",
path=Path("/tmp/name"),
file_extension=FileExtension.txt,
file_sha1="123",
)
assert qfile.id == id
assert qfile.brain_id == brain_id
assert qfile.original_filename == "name"
assert qfile.path == Path("/tmp/name")
def test_create_file_add_metadata():
id = uuid4()
brain_id = uuid4()
qfile = QuivrFile(
id=id,
brain_id=brain_id,
original_filename="name",
path=Path("/tmp/name"),
file_extension=FileExtension.txt,
file_sha1="123",
metadata={"other_id": "id"},
)
assert qfile.metadata["other_id"] == "id"