@@ -438,22 +438,30 @@ async def register_prompt(
438438 PromptError: For other prompt registration errors
439439
440440 Examples:
441+ >>> import logging
442+ >>> logging.disable(logging.CRITICAL)
441443 >>> from mcpgateway.services.prompt_service import PromptService
442- >>> from unittest.mock import MagicMock
444+ >>> from unittest.mock import AsyncMock, MagicMock
443445 >>> service = PromptService()
444446 >>> db = MagicMock()
445447 >>> prompt = MagicMock()
448+ >>> prompt.template = "Hello {{ name }}"
449+ >>> prompt.name = "test-prompt"
450+ >>> prompt.custom_name = None
451+ >>> prompt.display_name = None
452+ >>> prompt.arguments = []
446453 >>> db.execute.return_value.scalar_one_or_none.return_value = None
447454 >>> db.add = MagicMock()
448455 >>> db.commit = MagicMock()
449456 >>> db.refresh = MagicMock()
450- >>> service._notify_prompt_added = MagicMock ()
457+ >>> service._notify_prompt_added = AsyncMock ()
451458 >>> service.convert_prompt_to_read = MagicMock(return_value={})
452459 >>> import asyncio
453460 >>> try:
454461 ... asyncio.run(service.register_prompt(db, prompt))
455462 ... except Exception:
456463 ... pass
464+ >>> logging.disable(logging.NOTSET)
457465 """
458466 try :
459467 # Validate template syntax
@@ -688,16 +696,31 @@ async def register_prompts_bulk(
688696 PromptError: If bulk registration fails critically
689697
690698 Examples:
699+ >>> import logging
700+ >>> logging.disable(logging.CRITICAL)
691701 >>> from mcpgateway.services.prompt_service import PromptService
692702 >>> from unittest.mock import MagicMock
693703 >>> service = PromptService()
694704 >>> db = MagicMock()
695- >>> prompts = [MagicMock(), MagicMock()]
705+ >>> p1 = MagicMock()
706+ >>> p1.name = "prompt-1"
707+ >>> p1.template = "Hello"
708+ >>> p1.custom_name = None
709+ >>> p1.display_name = None
710+ >>> p1.arguments = []
711+ >>> p2 = MagicMock()
712+ >>> p2.name = "prompt-2"
713+ >>> p2.template = "World"
714+ >>> p2.custom_name = None
715+ >>> p2.display_name = None
716+ >>> p2.arguments = []
717+ >>> prompts = [p1, p2]
696718 >>> import asyncio
697719 >>> try:
698720 ... result = asyncio.run(service.register_prompts_bulk(db, prompts))
699721 ... except Exception:
700722 ... pass
723+ >>> logging.disable(logging.NOTSET)
701724 """
702725 if not prompts :
703726 return {"created" : 0 , "updated" : 0 , "skipped" : 0 , "failed" : 0 , "errors" : []}
@@ -1706,20 +1729,31 @@ async def update_prompt(
17061729 PromptError: For other update errors
17071730
17081731 Examples:
1732+ >>> import logging
1733+ >>> logging.disable(logging.CRITICAL)
17091734 >>> from mcpgateway.services.prompt_service import PromptService
1710- >>> from unittest.mock import MagicMock
1735+ >>> from unittest.mock import AsyncMock, MagicMock
17111736 >>> service = PromptService()
17121737 >>> db = MagicMock()
1713- >>> db.execute.return_value.scalar_one_or_none.return_value = MagicMock()
1738+ >>> existing = MagicMock()
1739+ >>> existing.custom_name = "test-prompt"
1740+ >>> existing.name = "test-prompt"
1741+ >>> existing.gateway = None
1742+ >>> db.execute.return_value.scalar_one_or_none.return_value = existing
17141743 >>> db.commit = MagicMock()
17151744 >>> db.refresh = MagicMock()
1716- >>> service._notify_prompt_updated = MagicMock ()
1745+ >>> service._notify_prompt_updated = AsyncMock ()
17171746 >>> service.convert_prompt_to_read = MagicMock(return_value={})
1747+ >>> update = MagicMock()
1748+ >>> update.name = None
1749+ >>> update.visibility = None
1750+ >>> update.team_id = None
17181751 >>> import asyncio
17191752 >>> try:
1720- ... asyncio.run(service.update_prompt(db, 'prompt_name', MagicMock() ))
1753+ ... asyncio.run(service.update_prompt(db, 'prompt_name', update ))
17211754 ... except Exception:
17221755 ... pass
1756+ >>> logging.disable(logging.NOTSET)
17231757 """
17241758 try :
17251759 # Acquire a row-level lock for the prompt being updated to make
@@ -1964,22 +1998,25 @@ async def set_prompt_state(self, db: Session, prompt_id: int, activate: bool, us
19641998 PermissionError: If user doesn't own the prompt.
19651999
19662000 Examples:
2001+ >>> import logging
2002+ >>> logging.disable(logging.CRITICAL)
19672003 >>> from mcpgateway.services.prompt_service import PromptService
1968- >>> from unittest.mock import MagicMock
2004+ >>> from unittest.mock import AsyncMock, MagicMock
19692005 >>> service = PromptService()
19702006 >>> db = MagicMock()
19712007 >>> prompt = MagicMock()
19722008 >>> db.get.return_value = prompt
19732009 >>> db.commit = MagicMock()
19742010 >>> db.refresh = MagicMock()
1975- >>> service._notify_prompt_activated = MagicMock ()
1976- >>> service._notify_prompt_deactivated = MagicMock ()
2011+ >>> service._notify_prompt_activated = AsyncMock ()
2012+ >>> service._notify_prompt_deactivated = AsyncMock ()
19772013 >>> service.convert_prompt_to_read = MagicMock(return_value={})
19782014 >>> import asyncio
19792015 >>> try:
1980- ... asyncio.run(service.set_prompt_state(db, 1, True))
2016+ ... result = asyncio.run(service.set_prompt_state(db, 1, True))
19812017 ... except Exception:
19822018 ... pass
2019+ >>> logging.disable(logging.NOTSET)
19832020 """
19842021 try :
19852022 # Use nowait=True to fail fast if row is locked, preventing lock contention under high load
@@ -2159,20 +2196,23 @@ async def delete_prompt(self, db: Session, prompt_id: Union[int, str], user_emai
21592196 Exception: For unexpected errors.
21602197
21612198 Examples:
2199+ >>> import logging
2200+ >>> logging.disable(logging.CRITICAL)
21622201 >>> from mcpgateway.services.prompt_service import PromptService
2163- >>> from unittest.mock import MagicMock
2202+ >>> from unittest.mock import AsyncMock, MagicMock
21642203 >>> service = PromptService()
21652204 >>> db = MagicMock()
21662205 >>> prompt = MagicMock()
21672206 >>> db.get.return_value = prompt
21682207 >>> db.delete = MagicMock()
21692208 >>> db.commit = MagicMock()
2170- >>> service._notify_prompt_deleted = MagicMock ()
2209+ >>> service._notify_prompt_deleted = AsyncMock ()
21712210 >>> import asyncio
21722211 >>> try:
21732212 ... asyncio.run(service.delete_prompt(db, '123'))
21742213 ... except Exception:
21752214 ... pass
2215+ >>> logging.disable(logging.NOTSET)
21762216 """
21772217 try :
21782218 prompt = db .get (DbPrompt , prompt_id )
0 commit comments