fix: sanitize SQL and narrow exception handling in indexer

This commit is contained in:
2026-04-13 14:27:37 -04:00
parent ce0414a5ce
commit 827ebfadaa
2 changed files with 34 additions and 4 deletions

View File

@@ -153,3 +153,32 @@ def test_full_index_creates_vectors(mock_embedder_cls):
indexer = Indexer(config, store)
indexer.full_index()
assert store.count() == 1
@patch("companion.rag.indexer.OllamaEmbedder")
def test_sync_updates_changed_files(mock_embedder_cls):
mock_embedder = MagicMock()
mock_embedder.embed.return_value = [[1.0, 0.0, 0.0, 0.0]]
mock_embedder_cls.return_value = mock_embedder
with tempfile.TemporaryDirectory() as tmp:
vault = Path(tmp) / "vault"
vault.mkdir()
file_path = vault / "hello.md"
file_path.write_text("hello world", encoding="utf-8")
vs_path = Path(tmp) / "vectors"
config = _make_config(vault, vs_path)
store = VectorStore(uri=vs_path, dimensions=4)
indexer = Indexer(config, store)
indexer.full_index()
assert store.count() == 1
first_text = store.table.to_pandas()["text"].iloc[0]
assert first_text == "hello world"
file_path.write_text("updated content", encoding="utf-8")
indexer.sync()
assert store.count() == 1
updated_text = store.table.to_pandas()["text"].iloc[0]
assert updated_text == "updated content"