Skip to content

Commit 97f1dd0

Browse files
committed
doctest
Signed-off-by: RAKHI DUTTA <[email protected]>
1 parent 2481b1a commit 97f1dd0

File tree

1 file changed

+36
-1
lines changed

1 file changed

+36
-1
lines changed

mcpgateway/admin.py

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2848,13 +2848,48 @@ async def admin_edit_resource(
28482848
>>> original_update_resource = resource_service.update_resource
28492849
>>> resource_service.update_resource = AsyncMock()
28502850
>>>
2851+
>>> # Test successful update
28512852
>>> async def test_admin_edit_resource():
28522853
... response = await admin_edit_resource("test://resource1", mock_request, mock_db, mock_user)
28532854
... return isinstance(response, JSONResponse) and response.status_code == 200 and response.body == b'{"message":"Resource update successfully!","success":true}'
28542855
>>>
2855-
>>> import asyncio; asyncio.run(test_admin_edit_resource())
2856+
>>> asyncio.run(test_admin_edit_resource())
28562857
True
28572858
>>>
2859+
>>> # Test validation error
2860+
>>> from pydantic import ValidationError
2861+
>>> validation_error = ValidationError.from_exception_data("Resource validation error", [
2862+
... {"loc": ("name",), "msg": "Field required", "type": "missing"}
2863+
... ])
2864+
>>> resource_service.update_resource = AsyncMock(side_effect=validation_error)
2865+
>>> async def test_admin_edit_resource_validation():
2866+
... response = await admin_edit_resource("test://resource1", mock_request, mock_db, mock_user)
2867+
... return isinstance(response, JSONResponse) and response.status_code == 422
2868+
>>>
2869+
>>> asyncio.run(test_admin_edit_resource_validation())
2870+
True
2871+
>>>
2872+
>>> # Test integrity error (e.g., duplicate resource)
2873+
>>> from sqlalchemy.exc import IntegrityError
2874+
>>> integrity_error = IntegrityError("Duplicate entry", None, None)
2875+
>>> resource_service.update_resource = AsyncMock(side_effect=integrity_error)
2876+
>>> async def test_admin_edit_resource_integrity():
2877+
... response = await admin_edit_resource("test://resource1", mock_request, mock_db, mock_user)
2878+
... return isinstance(response, JSONResponse) and response.status_code == 409
2879+
>>>
2880+
>>> asyncio.run(test_admin_edit_resource_integrity())
2881+
True
2882+
>>>
2883+
>>> # Test unknown error
2884+
>>> resource_service.update_resource = AsyncMock(side_effect=Exception("Unknown error"))
2885+
>>> async def test_admin_edit_resource_unknown():
2886+
... response = await admin_edit_resource("test://resource1", mock_request, mock_db, mock_user)
2887+
... return isinstance(response, JSONResponse) and response.status_code == 500 and b'Unknown error' in response.body
2888+
>>>
2889+
>>> asyncio.run(test_admin_edit_resource_unknown())
2890+
True
2891+
>>>
2892+
>>> # Reset mock
28582893
>>> resource_service.update_resource = original_update_resource
28592894
"""
28602895
logger.debug(f"User {user} is editing resource URI {uri}")

0 commit comments

Comments
 (0)