refactor(knowledge-base mcp server): adjust formatting for consistency and readability
Improved code formatting, line breaks, and indentation across chunking logic and multiple test modules to enhance code clarity and maintain consistent style. No functional changes made.
This commit is contained in:
@@ -59,7 +59,9 @@ class TestSearchEngine:
|
||||
]
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_semantic_search(self, search_engine, sample_search_request, sample_db_results):
|
||||
async def test_semantic_search(
|
||||
self, search_engine, sample_search_request, sample_db_results
|
||||
):
|
||||
"""Test semantic search."""
|
||||
from models import SearchType
|
||||
|
||||
@@ -74,7 +76,9 @@ class TestSearchEngine:
|
||||
search_engine._database.semantic_search.assert_called_once()
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_keyword_search(self, search_engine, sample_search_request, sample_db_results):
|
||||
async def test_keyword_search(
|
||||
self, search_engine, sample_search_request, sample_db_results
|
||||
):
|
||||
"""Test keyword search."""
|
||||
from models import SearchType
|
||||
|
||||
@@ -88,7 +92,9 @@ class TestSearchEngine:
|
||||
search_engine._database.keyword_search.assert_called_once()
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_hybrid_search(self, search_engine, sample_search_request, sample_db_results):
|
||||
async def test_hybrid_search(
|
||||
self, search_engine, sample_search_request, sample_db_results
|
||||
):
|
||||
"""Test hybrid search."""
|
||||
from models import SearchType
|
||||
|
||||
@@ -105,7 +111,9 @@ class TestSearchEngine:
|
||||
assert len(response.results) >= 1
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_search_with_collection_filter(self, search_engine, sample_search_request, sample_db_results):
|
||||
async def test_search_with_collection_filter(
|
||||
self, search_engine, sample_search_request, sample_db_results
|
||||
):
|
||||
"""Test search with collection filter."""
|
||||
from models import SearchType
|
||||
|
||||
@@ -120,7 +128,9 @@ class TestSearchEngine:
|
||||
assert call_args.kwargs["collection"] == "specific-collection"
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_search_with_file_type_filter(self, search_engine, sample_search_request, sample_db_results):
|
||||
async def test_search_with_file_type_filter(
|
||||
self, search_engine, sample_search_request, sample_db_results
|
||||
):
|
||||
"""Test search with file type filter."""
|
||||
from models import FileType, SearchType
|
||||
|
||||
@@ -135,7 +145,9 @@ class TestSearchEngine:
|
||||
assert call_args.kwargs["file_types"] == [FileType.PYTHON]
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_search_respects_limit(self, search_engine, sample_search_request, sample_db_results):
|
||||
async def test_search_respects_limit(
|
||||
self, search_engine, sample_search_request, sample_db_results
|
||||
):
|
||||
"""Test that search respects result limit."""
|
||||
from models import SearchType
|
||||
|
||||
@@ -148,7 +160,9 @@ class TestSearchEngine:
|
||||
assert len(response.results) <= 1
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_search_records_time(self, search_engine, sample_search_request, sample_db_results):
|
||||
async def test_search_records_time(
|
||||
self, search_engine, sample_search_request, sample_db_results
|
||||
):
|
||||
"""Test that search records time."""
|
||||
from models import SearchType
|
||||
|
||||
@@ -203,13 +217,21 @@ class TestReciprocalRankFusion:
|
||||
from models import SearchResult
|
||||
|
||||
semantic = [
|
||||
SearchResult(id="a", content="A", score=0.9, chunk_type="code", collection="default"),
|
||||
SearchResult(id="b", content="B", score=0.8, chunk_type="code", collection="default"),
|
||||
SearchResult(
|
||||
id="a", content="A", score=0.9, chunk_type="code", collection="default"
|
||||
),
|
||||
SearchResult(
|
||||
id="b", content="B", score=0.8, chunk_type="code", collection="default"
|
||||
),
|
||||
]
|
||||
|
||||
keyword = [
|
||||
SearchResult(id="b", content="B", score=0.85, chunk_type="code", collection="default"),
|
||||
SearchResult(id="c", content="C", score=0.7, chunk_type="code", collection="default"),
|
||||
SearchResult(
|
||||
id="b", content="B", score=0.85, chunk_type="code", collection="default"
|
||||
),
|
||||
SearchResult(
|
||||
id="c", content="C", score=0.7, chunk_type="code", collection="default"
|
||||
),
|
||||
]
|
||||
|
||||
fused = search_engine._reciprocal_rank_fusion(semantic, keyword)
|
||||
@@ -230,19 +252,23 @@ class TestReciprocalRankFusion:
|
||||
|
||||
# Same results in same order
|
||||
results = [
|
||||
SearchResult(id="a", content="A", score=0.9, chunk_type="code", collection="default"),
|
||||
SearchResult(
|
||||
id="a", content="A", score=0.9, chunk_type="code", collection="default"
|
||||
),
|
||||
]
|
||||
|
||||
# High semantic weight
|
||||
fused_semantic_heavy = search_engine._reciprocal_rank_fusion(
|
||||
results, [],
|
||||
results,
|
||||
[],
|
||||
semantic_weight=0.9,
|
||||
keyword_weight=0.1,
|
||||
)
|
||||
|
||||
# High keyword weight
|
||||
fused_keyword_heavy = search_engine._reciprocal_rank_fusion(
|
||||
[], results,
|
||||
[],
|
||||
results,
|
||||
semantic_weight=0.1,
|
||||
keyword_weight=0.9,
|
||||
)
|
||||
@@ -256,12 +282,18 @@ class TestReciprocalRankFusion:
|
||||
from models import SearchResult
|
||||
|
||||
semantic = [
|
||||
SearchResult(id="a", content="A", score=0.9, chunk_type="code", collection="default"),
|
||||
SearchResult(id="b", content="B", score=0.8, chunk_type="code", collection="default"),
|
||||
SearchResult(
|
||||
id="a", content="A", score=0.9, chunk_type="code", collection="default"
|
||||
),
|
||||
SearchResult(
|
||||
id="b", content="B", score=0.8, chunk_type="code", collection="default"
|
||||
),
|
||||
]
|
||||
|
||||
keyword = [
|
||||
SearchResult(id="c", content="C", score=0.7, chunk_type="code", collection="default"),
|
||||
SearchResult(
|
||||
id="c", content="C", score=0.7, chunk_type="code", collection="default"
|
||||
),
|
||||
]
|
||||
|
||||
fused = search_engine._reciprocal_rank_fusion(semantic, keyword)
|
||||
|
||||
Reference in New Issue
Block a user