pageparse.ai / tests /test_store.py
Varun2007's picture
initial clean deployment commit with compilers
8c3e275
Raw
History Blame Contribute Delete
2.26 kB
# SPDX-FileCopyrightText: 2026 Team Centurions
# SPDX-License-Identifier: AGPL-3.0-or-later
import tempfile
from pathlib import Path
import pytest
from pageparse.schema import Record, SourceParseResult
from pageparse.store import Store
@pytest.fixture
def store():
with tempfile.NamedTemporaryFile(suffix=".db", delete=False) as f:
db_path = f.name
s = Store(db_path)
s.init_db()
yield s
s.close()
Path(db_path).unlink(missing_ok=True)
def test_save_and_list(store: Store):
result = SourceParseResult(
source_file="test.jpg",
records=[Record(content="Buy milk", priority="high")],
)
source_id = store.save(result, "Buy milk")
assert source_id is not None
sources = store.list_sources()
assert len(sources) == 1
assert sources[0]["filename"] == "test.jpg"
def test_get_records(store: Store):
result = SourceParseResult(
source_file="test.jpg",
records=[Record(content="Task A", priority="high")],
)
store.save(result, "Task A")
records = store.get_records(priority="high")
assert len(records) == 1
assert records[0]["content"] == "Task A"
def test_update_record(store: Store):
result = SourceParseResult(
source_file="test.jpg",
records=[Record(content="Task B", priority="medium")],
)
store.save(result, "Task B")
records = store.get_records()
record_id = records[0]["id"]
assert store.update_record(record_id, {"status": "done"})
updated = store.get_records()
assert updated[0]["status"] == "done"
def test_update_record_empty_updates(store: Store):
result = SourceParseResult(
source_file="test.jpg",
records=[Record(content="Task C")],
)
store.save(result, "Task C")
records = store.get_records()
record_id = records[0]["id"]
assert not store.update_record(record_id, {})
def test_delete_record(store: Store):
result = SourceParseResult(
source_file="test.jpg",
records=[Record(content="Task D")],
)
store.save(result, "Task D")
records = store.get_records()
record_id = records[0]["id"]
assert store.delete_record(record_id)
remaining = store.get_records()
assert len(remaining) == 0