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

Function TestMCPServerConfigsAuthConnected

coderd/mcp_test.go:294–358  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

292}
293
294func TestMCPServerConfigsAuthConnected(t *testing.T) {
295 t.Parallel()
296
297 ctx := testutil.Context(t, testutil.WaitLong)
298 adminClient := newMCPClient(t)
299 firstUser := coderdtest.CreateFirstUser(t, adminClient)
300 memberClient, _ := coderdtest.CreateAnotherUser(t, adminClient, firstUser.OrganizationID)
301
302 // Create an oauth2 server config (enabled).
303 created, err := adminClient.CreateMCPServerConfig(ctx, codersdk.CreateMCPServerConfigRequest{
304 DisplayName: "OAuth Server",
305 Slug: "oauth-server",
306 Transport: "streamable_http",
307 URL: "https://mcp.example.com/oauth",
308 AuthType: "oauth2",
309 OAuth2ClientID: "cid",
310 OAuth2AuthURL: "https://auth.example.com/authorize",
311 OAuth2TokenURL: "https://auth.example.com/token",
312 Availability: "default_on",
313 Enabled: true,
314 ToolAllowList: []string{},
315 ToolDenyList: []string{},
316 })
317 require.NoError(t, err)
318
319 // Regular user lists configs — auth_connected should be false
320 // because no token has been stored.
321 memberConfigs, err := memberClient.MCPServerConfigs(ctx)
322 require.NoError(t, err)
323 require.Len(t, memberConfigs, 1)
324 require.Equal(t, created.ID, memberConfigs[0].ID)
325 require.False(t, memberConfigs[0].AuthConnected)
326
327 // Also create a non-oauth server. It should report
328 // auth_connected=true because no auth is needed.
329 _ = createMCPServerConfig(t, adminClient, "no-auth-server", true)
330
331 // And a user_oidc server. user_oidc never requires a per-user
332 // connect step, so auth_connected is always true regardless of
333 // whether the calling user has an OIDC link.
334 _, err = adminClient.CreateMCPServerConfig(ctx, codersdk.CreateMCPServerConfigRequest{
335 DisplayName: "User OIDC Server",
336 Slug: "user-oidc-server",
337 Transport: "streamable_http",
338 URL: "https://mcp.example.com/oidc",
339 AuthType: "user_oidc",
340 Availability: "default_on",
341 Enabled: true,
342 ToolAllowList: []string{},
343 ToolDenyList: []string{},
344 })
345 require.NoError(t, err)
346
347 memberConfigs, err = memberClient.MCPServerConfigs(ctx)
348 require.NoError(t, err)
349 require.Len(t, memberConfigs, 3)
350 for _, cfg := range memberConfigs {
351 switch cfg.AuthType {

Callers

nothing calls this directly

Calls 9

ContextFunction · 0.92
CreateFirstUserFunction · 0.92
CreateAnotherUserFunction · 0.92
newMCPClientFunction · 0.85
CreateMCPServerConfigMethod · 0.80
MCPServerConfigsMethod · 0.80
createMCPServerConfigFunction · 0.70
LenMethod · 0.45
EqualMethod · 0.45

Tested by

no test coverage detected