1- """Tests for the get_repo_overview tool."""
1+ """Tests for the get_overview tool."""
22
33import pytest
44from unittest .mock import AsyncMock , patch , MagicMock
55
66from mcp .server .fastmcp import Context
77
8- from tools .overview import get_repo_overview
8+ from tools .overview import get_overview
99from core .client import CodeAliveContext
1010import httpx
1111
1212
1313@pytest .mark .asyncio
1414@patch ("tools.overview.get_api_key_from_context" )
15- async def test_get_repo_overview_success (mock_get_api_key ):
16- """Test successful retrieval of repository overview."""
15+ async def test_get_overview_success (mock_get_api_key ):
16+ """Test successful retrieval of data source overview."""
1717 # Mock API key
1818 mock_get_api_key .return_value = "test-api-key"
1919
@@ -40,7 +40,7 @@ async def test_get_repo_overview_success(mock_get_api_key):
4040 mock_ctx .request_context .lifespan_context = mock_context
4141
4242 # Call tool
43- result = await get_repo_overview (mock_ctx , ["test-repo" ])
43+ result = await get_overview (mock_ctx , ["test-repo" ])
4444
4545 # Assertions
4646 assert '<repository name="test-repo">' in result
@@ -59,8 +59,8 @@ async def test_get_repo_overview_success(mock_get_api_key):
5959
6060@pytest .mark .asyncio
6161@patch ("tools.overview.get_api_key_from_context" )
62- async def test_get_repo_overview_multiple_repos (mock_get_api_key ):
63- """Test retrieval of multiple repository overviews."""
62+ async def test_get_overview_multiple_repos (mock_get_api_key ):
63+ """Test retrieval of multiple data source overviews."""
6464 mock_get_api_key .return_value = "test-api-key"
6565
6666 # Mock response with 3 repositories
@@ -82,7 +82,7 @@ async def test_get_repo_overview_multiple_repos(mock_get_api_key):
8282 mock_ctx = MagicMock (spec = Context )
8383 mock_ctx .request_context .lifespan_context = mock_context
8484
85- result = await get_repo_overview (mock_ctx , ["repo-1" , "repo-2" , "repo-3" ])
85+ result = await get_overview (mock_ctx , ["repo-1" , "repo-2" , "repo-3" ])
8686
8787 # Verify 3 repository blocks
8888 assert result .count ('<repository' ) == 3
@@ -96,8 +96,8 @@ async def test_get_repo_overview_multiple_repos(mock_get_api_key):
9696
9797@pytest .mark .asyncio
9898@patch ("tools.overview.get_api_key_from_context" )
99- async def test_get_repo_overview_no_data_sources (mock_get_api_key ):
100- """Test retrieval without specifying data sources (all repos )."""
99+ async def test_get_overview_no_data_sources (mock_get_api_key ):
100+ """Test retrieval without specifying data sources (all data sources )."""
101101 mock_get_api_key .return_value = "test-api-key"
102102
103103 mock_response = MagicMock ()
@@ -117,7 +117,7 @@ async def test_get_repo_overview_no_data_sources(mock_get_api_key):
117117 mock_ctx = MagicMock (spec = Context )
118118 mock_ctx .request_context .lifespan_context = mock_context
119119
120- result = await get_repo_overview (mock_ctx , None )
120+ result = await get_overview (mock_ctx , None )
121121
122122 # Verify API called without Names[] params
123123 mock_client .get .assert_called_once ()
@@ -132,7 +132,7 @@ async def test_get_repo_overview_no_data_sources(mock_get_api_key):
132132
133133@pytest .mark .asyncio
134134@patch ("tools.overview.get_api_key_from_context" )
135- async def test_get_repo_overview_empty_result (mock_get_api_key ):
135+ async def test_get_overview_empty_result (mock_get_api_key ):
136136 """Test handling of empty API response."""
137137 mock_get_api_key .return_value = "test-api-key"
138138
@@ -151,7 +151,7 @@ async def test_get_repo_overview_empty_result(mock_get_api_key):
151151 mock_ctx = MagicMock (spec = Context )
152152 mock_ctx .request_context .lifespan_context = mock_context
153153
154- result = await get_repo_overview (mock_ctx , ["nonexistent" ])
154+ result = await get_overview (mock_ctx , ["nonexistent" ])
155155
156156 # Should return empty root element
157157 assert '<repository_overviews' in result
@@ -163,7 +163,7 @@ async def test_get_repo_overview_empty_result(mock_get_api_key):
163163@pytest .mark .asyncio
164164@patch ("tools.overview.handle_api_error" )
165165@patch ("tools.overview.get_api_key_from_context" )
166- async def test_get_repo_overview_api_error (mock_get_api_key , mock_handle_error ):
166+ async def test_get_overview_api_error (mock_get_api_key , mock_handle_error ):
167167 """Test handling of API errors."""
168168 mock_get_api_key .return_value = "test-api-key"
169169 mock_handle_error .return_value = "Error: API failed"
@@ -179,7 +179,7 @@ async def test_get_repo_overview_api_error(mock_get_api_key, mock_handle_error):
179179 mock_ctx = MagicMock (spec = Context )
180180 mock_ctx .request_context .lifespan_context = mock_context
181181
182- result = await get_repo_overview (mock_ctx , ["test-repo" ])
182+ result = await get_overview (mock_ctx , ["test-repo" ])
183183
184184 # Verify error handling
185185 assert result == "Error: API failed"
@@ -193,7 +193,7 @@ async def test_get_repo_overview_api_error(mock_get_api_key, mock_handle_error):
193193
194194@pytest .mark .asyncio
195195@patch ("tools.overview.get_api_key_from_context" )
196- async def test_get_repo_overview_auth_header (mock_get_api_key ):
196+ async def test_get_overview_auth_header (mock_get_api_key ):
197197 """Test that Authorization header is correctly set."""
198198 mock_get_api_key .return_value = "my-secret-key"
199199
@@ -211,7 +211,7 @@ async def test_get_repo_overview_auth_header(mock_get_api_key):
211211 mock_ctx = MagicMock (spec = Context )
212212 mock_ctx .request_context .lifespan_context = mock_context
213213
214- await get_repo_overview (mock_ctx , ["test" ])
214+ await get_overview (mock_ctx , ["test" ])
215215
216216 # Verify correct Authorization header
217217 mock_client .get .assert_called_once ()
@@ -222,7 +222,7 @@ async def test_get_repo_overview_auth_header(mock_get_api_key):
222222@pytest .mark .asyncio
223223@patch ("tools.overview.normalize_data_source_names" )
224224@patch ("tools.overview.get_api_key_from_context" )
225- async def test_get_repo_overview_data_source_normalization (mock_get_api_key , mock_normalize ):
225+ async def test_get_overview_data_source_normalization (mock_get_api_key , mock_normalize ):
226226 """Test that data sources are normalized (Claude Desktop serialization handling)."""
227227 mock_get_api_key .return_value = "test-api-key"
228228 # Simulate normalization converting string to list
@@ -243,15 +243,15 @@ async def test_get_repo_overview_data_source_normalization(mock_get_api_key, moc
243243 mock_ctx .request_context .lifespan_context = mock_context
244244
245245 # Call with string (simulating Claude Desktop serialization issue)
246- await get_repo_overview (mock_ctx , "string-data-source" )
246+ await get_overview (mock_ctx , "string-data-source" )
247247
248248 # Verify normalize_data_source_names was called
249249 mock_normalize .assert_called_once_with ("string-data-source" )
250250
251251
252252@pytest .mark .asyncio
253253@patch ("tools.overview.get_api_key_from_context" )
254- async def test_get_repo_overview_markdown_preservation (mock_get_api_key ):
254+ async def test_get_overview_markdown_preservation (mock_get_api_key ):
255255 """Test that markdown formatting is preserved in XML output."""
256256 mock_get_api_key .return_value = "test-api-key"
257257
@@ -289,7 +289,7 @@ def example():
289289 mock_ctx = MagicMock (spec = Context )
290290 mock_ctx .request_context .lifespan_context = mock_context
291291
292- result = await get_repo_overview (mock_ctx , ["rich-markdown-repo" ])
292+ result = await get_overview (mock_ctx , ["rich-markdown-repo" ])
293293
294294 # Verify all markdown formatting is preserved
295295 assert '# Purpose' in result
0 commit comments