Prism / tests /test_chain.py
benroshan's picture
Add Dockerfile and Render config
f5628ad
Raw
History Blame Contribute Delete
917 Bytes
import pytest
from server.retriever import get_retriever
from server.memory import create_memory
from server.chain import build_qa_chain, run_query
@pytest.fixture(scope="module")
def chain():
retriever = get_retriever()
memory = create_memory()
return build_qa_chain(retriever, memory)
def test_run_query_returns_required_keys(chain):
result = run_query(chain, "What is UPI?")
assert "answer" in result
assert "source_documents" in result
assert "question" in result
def test_answer_is_non_empty_string(chain):
result = run_query(chain, "What was Bajaj Finance profit in Q3 FY2024?")
assert isinstance(result["answer"], str)
assert len(result["answer"]) > 0
def test_source_documents_is_list(chain):
result = run_query(chain, "RBI digital lending guidelines")
assert isinstance(result["source_documents"], list)
assert len(result["source_documents"]) > 0