MemoriaLM / tests /test_api_sources.py
Max Saavedra
Added enabled/disabled for document retrieval
28edd12
from fastapi.testclient import TestClient
from backend.api import notebooks as notebooks_api
from backend.api import sources as sources_api
from backend.app import app
from backend.models.schemas import NotebookCreate
from backend.modules.ingestion import ingest_uploaded_bytes
from backend.services.storage import NotebookStore
client = TestClient(app)
AUTH_U1 = {"X-User-Id": "u1"}
def test_toggle_source_enabled_endpoint(monkeypatch, tmp_path):
store = NotebookStore(base_dir=str(tmp_path))
notebooks_api.store = store
sources_api.store = store
monkeypatch.setattr("backend.modules.ingestion.embedding_service.embed_texts", lambda texts: [[0.0] * 8 for _ in texts])
monkeypatch.setattr("backend.modules.ingestion.ChromaNotebookStore.upsert_chunks", lambda self, chunks, embeddings: None)
nb = store.create(NotebookCreate(user_id="u1", name="N1"))
ingested = ingest_uploaded_bytes(
store,
user_id="u1",
notebook_id=nb.notebook_id,
filename="a.txt",
content=b"hello world",
)
resp = client.patch(
f"/api/notebooks/{nb.notebook_id}/sources/{ingested.source_id}",
json={"user_id": "u1", "enabled": False},
headers=AUTH_U1,
)
assert resp.status_code == 200
assert resp.json()["enabled"] is False
listed = client.get(
f"/api/notebooks/{nb.notebook_id}/sources",
headers=AUTH_U1,
)
assert listed.status_code == 200
assert listed.json()["sources"][0]["enabled"] is False