Spaces:
Sleeping
Sleeping
File size: 2,317 Bytes
732b14f | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | """Regression tests for Phase 1/2 audit fixes."""
from __future__ import annotations
import pytest
from app.agentic.speculative_executor import _mapping_for_learned_tool
from app.db.database import multi_section_parallel_enabled
def test_generate_api_imports_multi_section_parallel() -> None:
"""POST /generate must resolve multi_section_parallel_enabled (no NameError)."""
from app.api import generate as generate_api
assert callable(generate_api.multi_section_parallel_enabled)
def test_multi_section_parallel_import_from_database() -> None:
assert callable(multi_section_parallel_enabled)
def test_learned_speculative_mapping_retrieve_rag() -> None:
fn = _mapping_for_learned_tool("retrieve_survey_rag")
args = fn({"last_query": "roof tiles"})
assert args.get("query") == "roof tiles"
def test_learned_speculative_mapping_section_plan() -> None:
fn = _mapping_for_learned_tool("submit_section_plan")
args = fn({"section_code": "E1", "outline": "x"})
assert args.get("section_code") == "E1"
@pytest.mark.asyncio
async def test_qdrant_hybrid_merge_off_event_loop(monkeypatch) -> None:
"""_hybrid_merge_vector_rows is callable from run_sync_in_executor."""
from langchain_community.embeddings import FakeEmbeddings
from langchain_core.documents import Document
from app.models.schemas import SearchResult
from app.vectorstore.qdrant_wrapper import QdrantVectorStore
vs = QdrantVectorStore.__new__(QdrantVectorStore)
vs._bm25_texts = {"t1": ["roof defect"]}
vs._bm25_rows = {
"t1": [
SearchResult(
chunk_id="c1",
doc_id="d1",
tenant_id="t1",
text="roof defect",
score=0.5,
section_type="paragraph",
hierarchy_level="paragraph",
)
]
}
rows = [
SearchResult(
chunk_id="c2",
doc_id="d1",
tenant_id="t1",
text="vector hit",
score=0.9,
section_type="paragraph",
hierarchy_level="paragraph",
)
]
merged = vs._hybrid_merge_vector_rows(
"roof",
"t1",
3,
rows,
hierarchy_level=None,
doc_id_in=None,
)
assert merged
|