MCPcopy Create free account
hub / github.com/IBM/mcp-cli / ExtMockCommand

Class ExtMockCommand

tests/adapters/test_interactive_adapter_extended.py:37–109  ·  view source on GitHub ↗

Configurable mock command for extended testing.

Source from the content-addressed store, hash-verified

35
36
37class ExtMockCommand(UnifiedCommand):
38 """Configurable mock command for extended testing."""
39
40 def __init__(
41 self,
42 test_name: str = "ext",
43 requires_ctx: bool = False,
44 parameters: list[CommandParameter] | None = None,
45 ):
46 super().__init__()
47 self._name = test_name
48 self._description = f"Extended mock: {test_name}"
49 self._modes = CommandMode.INTERACTIVE
50 self._aliases: list[str] = ["e"]
51 self._parameters = (
52 parameters
53 if parameters is not None
54 else [
55 CommandParameter(
56 name="option",
57 type=str,
58 help="Test option",
59 required=False,
60 ),
61 CommandParameter(
62 name="flag",
63 type=bool,
64 help="Test flag",
65 required=False,
66 is_flag=True,
67 ),
68 ]
69 )
70 self._requires_context = requires_ctx
71 self._help_text = None
72 self.execute_mock = AsyncMock(
73 return_value=CommandResult(success=True, output="ok")
74 )
75
76 @property
77 def name(self) -> str:
78 return self._name
79
80 @property
81 def description(self) -> str:
82 return self._description
83
84 @property
85 def modes(self) -> CommandMode:
86 return self._modes
87
88 @property
89 def aliases(self):
90 return self._aliases
91
92 @property
93 def parameters(self):
94 return self._parameters

Calls

no outgoing calls