From 5de4d50622ccf2ce85471ad952fb4bfecc18da5e Mon Sep 17 00:00:00 2001 From: Yiorgis Gozadinos Date: Thu, 14 May 2026 15:54:43 +0300 Subject: [PATCH] coverage --- .../haiku/rag/reranking/cross_encoder.py | 2 +- .../haiku/rag/reranking/jina_local.py | 2 +- tests/test_reranker.py | 24 +++++++++++++++++++ 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/haiku_rag_slim/haiku/rag/reranking/cross_encoder.py b/haiku_rag_slim/haiku/rag/reranking/cross_encoder.py index 87ad2d38..bbeff5b6 100644 --- a/haiku_rag_slim/haiku/rag/reranking/cross_encoder.py +++ b/haiku_rag_slim/haiku/rag/reranking/cross_encoder.py @@ -4,7 +4,7 @@ try: from sentence_transformers import ( CrossEncoder, # pyright: ignore[reportMissingImports] ) -except ImportError as e: +except ImportError as e: # pragma: no cover raise ImportError( "sentence-transformers is not installed. Install it with " "`pip install sentence-transformers` or use the cross-encoder optional dependency." diff --git a/haiku_rag_slim/haiku/rag/reranking/jina_local.py b/haiku_rag_slim/haiku/rag/reranking/jina_local.py index 9ad8aa4f..9b8949f7 100644 --- a/haiku_rag_slim/haiku/rag/reranking/jina_local.py +++ b/haiku_rag_slim/haiku/rag/reranking/jina_local.py @@ -4,7 +4,7 @@ try: from transformers import ( AutoModel, # pyright: ignore[reportMissingImports] ) -except ImportError as e: +except ImportError as e: # pragma: no cover raise ImportError( "transformers is not installed. Please install it with `pip install transformers torch` " "or use the jina optional dependency." diff --git a/tests/test_reranker.py b/tests/test_reranker.py index a578dc26..0fc3c8f0 100644 --- a/tests/test_reranker.py +++ b/tests/test_reranker.py @@ -62,6 +62,18 @@ async def test_mxbai_reranker(): pytest.skip("MxBAI package not installed") +@pytest.mark.asyncio +async def test_mxbai_reranker_empty_chunks(): + try: + from haiku.rag.reranking.mxbai import MxBAIReranker + + reranker = MxBAIReranker() + result = await reranker.rerank("query", [], top_n=2) + assert result == [] + except ImportError: + pytest.skip("MxBAI package not installed") + + @pytest.mark.asyncio @pytest.mark.vcr() async def test_cohere_reranker(): @@ -335,3 +347,15 @@ async def test_cross_encoder_reranker(): assert "0" in top_ids or "2" in top_ids except ImportError: pytest.skip("sentence-transformers not installed") + + +@pytest.mark.asyncio +async def test_cross_encoder_reranker_empty_chunks(): + try: + from haiku.rag.reranking.cross_encoder import CrossEncoderReranker + + reranker = CrossEncoderReranker("cross-encoder/ms-marco-MiniLM-L-6-v2") + result = await reranker.rerank("query", [], top_n=2) + assert result == [] + except ImportError: + pytest.skip("sentence-transformers not installed")