Spaces:
Sleeping
Sleeping
| from pathlib import Path | |
| import pytest | |
| pytest.importorskip("fastapi") | |
| from fastapi.testclient import TestClient | |
| import services.vector_search_service.main as vector_mod | |
| from services.vector_search_service.main import app | |
| def test_upsert_query_delete_snapshot(tmp_path: Path) -> None: | |
| vector_mod.INDEX_PATH = tmp_path / "index.json" | |
| client = TestClient(app) | |
| emb = [0.1] * 512 | |
| r1 = client.post('/upsert', json={'identity_id': 'u1', 'embedding': emb}) | |
| assert r1.status_code == 200 | |
| r2 = client.post('/query', json={'embedding': emb, 'top_k': 1}) | |
| assert r2.status_code == 200 | |
| payload = r2.json() | |
| assert payload['matches'][0]['identity_id'] == 'u1' | |
| r3 = client.post('/snapshot') | |
| assert r3.status_code == 200 | |
| assert vector_mod.INDEX_PATH.exists() | |
| r4 = client.post('/delete', json={'identity_id': 'u1'}) | |
| assert r4.status_code == 200 | |
| assert r4.json()['removed'] is True | |