MCPcopy Index your code
hub / github.com/coder/coder / TestGetMCPServerConfigs

Function TestGetMCPServerConfigs

coderd/aibridgedserver/aibridgedserver_test.go:388–487  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

386}
387
388func TestGetMCPServerConfigs(t *testing.T) {
389 t.Parallel()
390
391 externalAuthCfgs := []*externalauth.Config{
392 {
393 ID: "1",
394 MCPURL: "1.com/mcp",
395 },
396 {
397 ID: "2", // Will not be eligible for inclusion since MCPURL is not defined.
398 },
399 }
400
401 cases := []struct {
402 name string
403 disableCoderMCPInjection bool
404 experiments codersdk.Experiments
405 externalAuthConfigs []*externalauth.Config
406 expectCoderMCP bool
407 expectedExternalMCP bool
408 }{
409 {
410 name: "experiments not enabled",
411 experiments: codersdk.Experiments{},
412 },
413 {
414 name: "MCP experiment enabled, not OAuth2",
415 experiments: codersdk.Experiments{codersdk.ExperimentMCPServerHTTP},
416 },
417 {
418 name: "OAuth2 experiment enabled, not MCP",
419 experiments: codersdk.Experiments{codersdk.ExperimentOAuth2},
420 },
421 {
422 name: "only internal MCP",
423 experiments: requiredExperiments,
424 expectCoderMCP: true,
425 },
426 {
427 name: "only external MCP",
428 externalAuthConfigs: externalAuthCfgs,
429 expectedExternalMCP: true,
430 },
431 {
432 name: "both internal & external MCP",
433 experiments: requiredExperiments,
434 externalAuthConfigs: externalAuthCfgs,
435 expectCoderMCP: true,
436 expectedExternalMCP: true,
437 },
438 {
439 name: "both internal & external MCP, but coder MCP tools not injected",
440 disableCoderMCPInjection: true,
441 experiments: requiredExperiments,
442 externalAuthConfigs: externalAuthCfgs,
443 expectCoderMCP: false,
444 expectedExternalMCP: true,
445 },

Callers

nothing calls this directly

Calls 15

GetMCPServerConfigsMethod · 0.95
NewMockStoreFunction · 0.92
LoggerFunction · 0.92
NewServerFunction · 0.92
GetToolAllowRegexMethod · 0.80
GetToolDenyRegexMethod · 0.80
GetCoderMcpConfigMethod · 0.80
RunMethod · 0.65
ContextMethod · 0.65
EqualMethod · 0.45
GetIdMethod · 0.45

Tested by

no test coverage detected