Spaces:
Sleeping
Sleeping
| import pytest | |
| from langchain_core.documents import Document | |
| from app.core.retriever import HybridRetriever | |
| class TestHybridRetriever: | |
| def test_retriever_initialization(self): | |
| retriever = HybridRetriever() | |
| assert retriever is not None | |
| assert retriever.k == 10 | |
| assert retriever._initialized == False | |
| def test_vector_store_lazy_initialization(self): | |
| retriever = HybridRetriever() | |
| assert retriever._initialized == False | |
| retriever._initialize_vector_store() | |
| assert retriever._initialized == True | |
| assert retriever.vector_store is not None | |
| async def test_retrieve_documents(self): | |
| retriever = HybridRetriever() | |
| retriever._initialize_vector_store() | |
| query = "What is attention mechanism?" | |
| try: | |
| documents = await retriever.ainvoke(query) | |
| assert isinstance(documents, list) | |
| if len(documents) > 0: | |
| assert all(isinstance(doc, Document) for doc in documents) | |
| except Exception as e: | |
| pytest.skip(f"Retrieval test skipped: {str(e)}") | |