Add missing checks
This commit is contained in:
parent
280e835184
commit
ff92a3d016
1 changed files with 73 additions and 31 deletions
|
|
@ -22,35 +22,62 @@ module MCP
|
|||
end
|
||||
end
|
||||
|
||||
# Tools capability tests
|
||||
ensure_capability_raises_error_for Methods::TOOLS_LIST, required_capability_name: "tools"
|
||||
ensure_capability_raises_error_for Methods::TOOLS_CALL, required_capability_name: "tools"
|
||||
# Server methods and notifications
|
||||
ensure_capability_does_not_raise_for Methods::INITIALIZE
|
||||
|
||||
# Sampling capability tests
|
||||
ensure_capability_raises_error_for Methods::SAMPLING_CREATE_MESSAGE, required_capability_name: "sampling"
|
||||
|
||||
# Completions capability tests
|
||||
ensure_capability_raises_error_for Methods::COMPLETION_COMPLETE, required_capability_name: "completions"
|
||||
|
||||
# Logging capability tests
|
||||
ensure_capability_raises_error_for Methods::LOGGING_SET_LEVEL, required_capability_name: "logging"
|
||||
|
||||
# Prompts capability tests
|
||||
ensure_capability_raises_error_for Methods::PROMPTS_GET, required_capability_name: "prompts"
|
||||
ensure_capability_raises_error_for Methods::PROMPTS_LIST, required_capability_name: "prompts"
|
||||
ensure_capability_raises_error_for Methods::PROMPTS_GET, required_capability_name: "prompts"
|
||||
ensure_capability_raises_error_for Methods::NOTIFICATIONS_PROMPTS_LIST_CHANGED, required_capability_name: "prompts"
|
||||
ensure_capability_raises_error_for Methods::NOTIFICATIONS_PROMPTS_LIST_CHANGED,
|
||||
required_capability_name: "prompts.listChanged",
|
||||
capabilities: { prompts: {} }
|
||||
|
||||
# Resources capability tests
|
||||
ensure_capability_raises_error_for Methods::RESOURCES_LIST, required_capability_name: "resources"
|
||||
ensure_capability_raises_error_for Methods::RESOURCES_TEMPLATES_LIST, required_capability_name: "resources"
|
||||
ensure_capability_raises_error_for Methods::RESOURCES_READ, required_capability_name: "resources"
|
||||
|
||||
# Resources subscribe capability tests
|
||||
ensure_capability_raises_error_for Methods::RESOURCES_TEMPLATES_LIST, required_capability_name: "resources"
|
||||
ensure_capability_raises_error_for Methods::NOTIFICATIONS_RESOURCES_LIST_CHANGED, required_capability_name: "resources"
|
||||
ensure_capability_raises_error_for Methods::NOTIFICATIONS_RESOURCES_LIST_CHANGED,
|
||||
required_capability_name: "resources.listChanged",
|
||||
capabilities: { resources: {} }
|
||||
ensure_capability_raises_error_for Methods::RESOURCES_SUBSCRIBE, required_capability_name: "resources"
|
||||
ensure_capability_raises_error_for Methods::RESOURCES_SUBSCRIBE,
|
||||
required_capability_name: "resources_subscribe",
|
||||
required_capability_name: "resources.subscribe",
|
||||
capabilities: { resources: {} }
|
||||
ensure_capability_raises_error_for Methods::RESOURCES_UNSUBSCRIBE, required_capability_name: "resources"
|
||||
ensure_capability_raises_error_for Methods::RESOURCES_UNSUBSCRIBE,
|
||||
required_capability_name: "resources.subscribe",
|
||||
capabilities: { resources: {} }
|
||||
ensure_capability_raises_error_for Methods::NOTIFICATIONS_RESOURCES_UPDATED, required_capability_name: "resources"
|
||||
ensure_capability_raises_error_for Methods::NOTIFICATIONS_RESOURCES_UPDATED,
|
||||
required_capability_name: "resources.subscribe",
|
||||
capabilities: { resources: {} }
|
||||
|
||||
# Methods that don't require capabilities
|
||||
ensure_capability_raises_error_for Methods::TOOLS_LIST, required_capability_name: "tools"
|
||||
ensure_capability_raises_error_for Methods::TOOLS_CALL, required_capability_name: "tools"
|
||||
ensure_capability_raises_error_for Methods::NOTIFICATIONS_TOOLS_LIST_CHANGED, required_capability_name: "tools"
|
||||
ensure_capability_raises_error_for Methods::NOTIFICATIONS_TOOLS_LIST_CHANGED,
|
||||
required_capability_name: "tools.listChanged",
|
||||
capabilities: { tools: {} }
|
||||
|
||||
ensure_capability_raises_error_for Methods::LOGGING_SET_LEVEL, required_capability_name: "logging"
|
||||
ensure_capability_raises_error_for Methods::NOTIFICATIONS_MESSAGE, required_capability_name: "logging"
|
||||
|
||||
ensure_capability_raises_error_for Methods::COMPLETION_COMPLETE, required_capability_name: "completions"
|
||||
|
||||
# Client methods and notifications
|
||||
ensure_capability_does_not_raise_for Methods::NOTIFICATIONS_INITIALIZED
|
||||
|
||||
ensure_capability_raises_error_for Methods::ROOTS_LIST, required_capability_name: "roots"
|
||||
ensure_capability_raises_error_for Methods::NOTIFICATIONS_ROOTS_LIST_CHANGED, required_capability_name: "roots"
|
||||
ensure_capability_raises_error_for Methods::NOTIFICATIONS_ROOTS_LIST_CHANGED,
|
||||
required_capability_name: "roots.listChanged",
|
||||
capabilities: { roots: {} }
|
||||
|
||||
ensure_capability_raises_error_for Methods::SAMPLING_CREATE_MESSAGE, required_capability_name: "sampling"
|
||||
|
||||
# Methods and notifications of both server and client
|
||||
ensure_capability_does_not_raise_for Methods::PING
|
||||
ensure_capability_does_not_raise_for Methods::INITIALIZE
|
||||
ensure_capability_does_not_raise_for Methods::NOTIFICATIONS_PROGRESS
|
||||
ensure_capability_does_not_raise_for Methods::NOTIFICATIONS_CANCELLED
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Reference in a new issue