MCPcopy Create free account
hub / github.com/modelcontextprotocol/go-sdk / TestClientCapabilities

Function TestClientCapabilities

mcp/client_test.go:212–441  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

210}
211
212func TestClientCapabilities(t *testing.T) {
213 testCases := []struct {
214 name string
215 configureClient func(s *Client)
216 clientOpts ClientOptions
217 protocolVersion string // defaults to latestProtocolVersion if empty
218 wantCapabilities *ClientCapabilities
219 }{
220 {
221 name: "default",
222 configureClient: func(s *Client) {},
223 wantCapabilities: &ClientCapabilities{
224 Roots: RootCapabilities{ListChanged: true},
225 RootsV2: &RootCapabilities{ListChanged: true},
226 },
227 },
228 {
229 name: "with sampling",
230 configureClient: func(s *Client) {},
231 clientOpts: ClientOptions{
232 CreateMessageHandler: func(context.Context, *CreateMessageRequest) (*CreateMessageResult, error) {
233 return nil, nil
234 },
235 },
236 wantCapabilities: &ClientCapabilities{
237 Roots: RootCapabilities{ListChanged: true},
238 RootsV2: &RootCapabilities{ListChanged: true},
239 Sampling: &SamplingCapabilities{},
240 },
241 },
242 {
243 name: "with elicitation",
244 configureClient: func(s *Client) {},
245 clientOpts: ClientOptions{
246 ElicitationHandler: func(context.Context, *ElicitRequest) (*ElicitResult, error) {
247 return nil, nil
248 },
249 },
250 protocolVersion: protocolVersion20251125,
251 wantCapabilities: &ClientCapabilities{
252 Roots: RootCapabilities{ListChanged: true},
253 RootsV2: &RootCapabilities{ListChanged: true},
254 Elicitation: &ElicitationCapabilities{
255 Form: &FormElicitationCapabilities{},
256 },
257 },
258 },
259 {
260 name: "with elicitation (old protocol)",
261 configureClient: func(s *Client) {},
262 clientOpts: ClientOptions{
263 ElicitationHandler: func(context.Context, *ElicitRequest) (*ElicitResult, error) {
264 return nil, nil
265 },
266 },
267 protocolVersion: protocolVersion20250618,
268 wantCapabilities: &ClientCapabilities{
269 Roots: RootCapabilities{ListChanged: true},

Callers

nothing calls this directly

Calls 4

AddExtensionMethod · 0.95
capabilitiesMethod · 0.95
NewClientFunction · 0.85
RunMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…