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

Function TestChatGPTFetch_WorkspaceFetch

codersdk/toolsdk/chatgpt_test.go:417–492  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

415}
416
417func TestChatGPTFetch_WorkspaceFetch(t *testing.T) {
418 t.Parallel()
419
420 tests := []struct {
421 name string
422 setupWorkspace bool
423 objectID string // if empty, will use real workspace ID
424 expectError bool
425 errorContains string
426 }{
427 {
428 name: "ValidWorkspaceFetch",
429 setupWorkspace: true,
430 expectError: false,
431 },
432 {
433 name: "NonExistentWorkspaceID",
434 setupWorkspace: false,
435 objectID: "workspace:" + uuid.NewString(),
436 expectError: true,
437 errorContains: "Resource not found",
438 },
439 }
440
441 for _, tt := range tests {
442 t.Run(tt.name, func(t *testing.T) {
443 t.Parallel()
444
445 // Setup
446 client, store := coderdtest.NewWithDatabase(t, nil)
447 owner := coderdtest.CreateFirstUser(t, client)
448
449 var workspaceID string
450 var expectedWorkspace database.WorkspaceTable
451 if tt.setupWorkspace {
452 workspace := dbfake.WorkspaceBuild(t, store, database.WorkspaceTable{
453 OrganizationID: owner.OrganizationID,
454 OwnerID: owner.UserID,
455 }).Do()
456 expectedWorkspace = workspace.Workspace
457 workspaceID = "workspace:" + workspace.Workspace.ID.String()
458 } else if tt.objectID != "" {
459 workspaceID = tt.objectID
460 }
461
462 // Create tool dependencies
463 deps, err := toolsdk.NewDeps(client)
464 require.NoError(t, err)
465
466 // Execute tool
467 args := toolsdk.FetchArgs{ID: workspaceID}
468 result, err := testTool(t, toolsdk.ChatGPTFetch, deps, args)
469
470 // Verify results
471 if tt.expectError {
472 require.Error(t, err)
473 if tt.errorContains != "" {
474 require.Contains(t, err.Error(), tt.errorContains)

Callers

nothing calls this directly

Calls 13

NewWithDatabaseFunction · 0.92
CreateFirstUserFunction · 0.92
WorkspaceBuildFunction · 0.92
NewDepsFunction · 0.92
testToolFunction · 0.85
NotEmptyMethod · 0.80
RunMethod · 0.65
DoMethod · 0.65
StringMethod · 0.45
ErrorMethod · 0.45
ContainsMethod · 0.45
EqualMethod · 0.45

Tested by

no test coverage detected