fix: sanitize SQL and narrow exception handling in indexer
This commit is contained in:
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user