MCPcopy Create free account
hub / github.com/coder/coder / TestChatGPTFetch_TemplateFetch

Function TestChatGPTFetch_TemplateFetch

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

Source from the content-addressed store, hash-verified

336}
337
338func TestChatGPTFetch_TemplateFetch(t *testing.T) {
339 t.Parallel()
340
341 tests := []struct {
342 name string
343 setupTemplate bool
344 objectID string // if empty, will use real template ID
345 expectError bool
346 errorContains string
347 }{
348 {
349 name: "ValidTemplateFetch",
350 setupTemplate: true,
351 expectError: false,
352 },
353 {
354 name: "NonExistentTemplateID",
355 setupTemplate: false,
356 objectID: "template:" + uuid.NewString(),
357 expectError: true,
358 errorContains: "Resource not found",
359 },
360 }
361
362 for _, tt := range tests {
363 t.Run(tt.name, func(t *testing.T) {
364 t.Parallel()
365
366 // Setup
367 client, store := coderdtest.NewWithDatabase(t, nil)
368 owner := coderdtest.CreateFirstUser(t, client)
369
370 var templateID string
371 var expectedTemplate database.Template
372 if tt.setupTemplate {
373 template := dbfake.TemplateVersion(t, store).
374 Seed(database.TemplateVersion{
375 OrganizationID: owner.OrganizationID,
376 CreatedBy: owner.UserID,
377 }).Do()
378 expectedTemplate = template.Template
379 templateID = "template:" + template.Template.ID.String()
380 } else if tt.objectID != "" {
381 templateID = tt.objectID
382 }
383
384 // Create tool dependencies
385 deps, err := toolsdk.NewDeps(client)
386 require.NoError(t, err)
387
388 // Execute tool
389 args := toolsdk.FetchArgs{ID: templateID}
390 result, err := testTool(t, toolsdk.ChatGPTFetch, deps, args)
391
392 // Verify results
393 if tt.expectError {
394 require.Error(t, err)
395 if tt.errorContains != "" {

Callers

nothing calls this directly

Calls 14

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

Tested by

no test coverage detected