Skip to content

Commit 41c99dd

Browse files
committed
Fix more issues in test_server_service.py
Signed-off-by: Mihai Criveti <[email protected]>
1 parent af6cb78 commit 41c99dd

File tree

1 file changed

+13
-7
lines changed

1 file changed

+13
-7
lines changed

tests/unit/mcpgateway/services/test_server_service.py

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -43,21 +43,24 @@ def mock_server():
4343
server.updated_at = "2023-01-01T00:00:00"
4444
server.is_active = True
4545

46-
# Set up associated items
46+
# associated objects -------------------------------------------------
4747
tool1 = MagicMock(spec=DbTool)
4848
tool1.id = 101
49+
tool1._sa_instance_state = Mock() # <-- SQLAlchemy expects this attr
4950

5051
resource1 = MagicMock(spec=DbResource)
5152
resource1.id = 201
53+
resource1._sa_instance_state = Mock()
5254

5355
prompt1 = MagicMock(spec=DbPrompt)
5456
prompt1.id = 301
57+
prompt1._sa_instance_state = Mock()
5558

5659
server.tools = [tool1]
5760
server.resources = [resource1]
5861
server.prompts = [prompt1]
5962

60-
# Set up metrics
63+
# dummy metrics fields
6164
server.metrics = []
6265
server.execution_count = 0
6366
server.successful_executions = 0
@@ -77,15 +80,16 @@ def mock_tool():
7780
tool = MagicMock(spec=DbTool)
7881
tool.id = 101
7982
tool.name = "test_tool"
83+
tool._sa_instance_state = Mock()
8084
return tool
8185

82-
8386
@pytest.fixture
8487
def mock_resource():
8588
"""Create a mock resource."""
8689
resource = MagicMock(spec=DbResource)
8790
resource.id = 201
8891
resource.name = "test_resource"
92+
resource._sa_instance_state = Mock()
8993
return resource
9094

9195

@@ -95,6 +99,7 @@ def mock_prompt():
9599
prompt = MagicMock(spec=DbPrompt)
96100
prompt.id = 301
97101
prompt.name = "test_prompt"
102+
prompt._sa_instance_state = Mock()
98103
return prompt
99104

100105

@@ -219,10 +224,9 @@ async def test_register_server_invalid_associated_tool(self, server_service, tes
219224
async def test_list_servers(self, server_service, mock_server, test_db):
220225
"""Test listing servers."""
221226
# Mock DB to return a list of servers
222-
mock_scalar_result = MagicMock()
223-
mock_scalar_result.all.return_value = [mock_server]
224-
mock_execute = Mock(return_value=mock_scalar_result)
225-
test_db.execute = mock_execute
227+
exec_result = MagicMock()
228+
exec_result.scalars.return_value.all.return_value = [mock_server]
229+
test_db.execute = Mock(return_value=exec_result)
226230

227231
# Set up conversion
228232
server_read = ServerRead(
@@ -260,6 +264,8 @@ async def test_list_servers(self, server_service, mock_server, test_db):
260264
assert result[0] == server_read
261265
server_service._convert_server_to_read.assert_called_once_with(mock_server)
262266

267+
268+
263269
@pytest.mark.asyncio
264270
async def test_get_server(self, server_service, mock_server, test_db):
265271
"""Test getting a server by ID."""

0 commit comments

Comments
 (0)