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

Function Test_getWorkspaceAgent

cli/ssh_internal_test.go:392–487  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

390}
391
392func Test_getWorkspaceAgent(t *testing.T) {
393 t.Parallel()
394
395 createWorkspaceWithAgents := func(agents []codersdk.WorkspaceAgent) codersdk.Workspace {
396 return codersdk.Workspace{
397 Name: "test-workspace",
398 LatestBuild: codersdk.WorkspaceBuild{
399 Resources: []codersdk.WorkspaceResource{
400 {
401 Agents: agents,
402 },
403 },
404 },
405 }
406 }
407
408 createAgent := func(name string) codersdk.WorkspaceAgent {
409 return codersdk.WorkspaceAgent{
410 ID: uuid.New(),
411 Name: name,
412 }
413 }
414
415 t.Run("SingleAgent_NoNameSpecified", func(t *testing.T) {
416 t.Parallel()
417 agent := createAgent("main")
418 workspace := createWorkspaceWithAgents([]codersdk.WorkspaceAgent{agent})
419
420 result, _, err := getWorkspaceAgent(workspace, "")
421 require.NoError(t, err)
422 assert.Equal(t, agent.ID, result.ID)
423 assert.Equal(t, "main", result.Name)
424 })
425
426 t.Run("MultipleAgents_NoNameSpecified", func(t *testing.T) {
427 t.Parallel()
428 agent1 := createAgent("main1")
429 agent2 := createAgent("main2")
430 workspace := createWorkspaceWithAgents([]codersdk.WorkspaceAgent{agent1, agent2})
431
432 _, _, err := getWorkspaceAgent(workspace, "")
433 require.Error(t, err)
434 assert.Contains(t, err.Error(), "multiple agents found")
435 assert.Contains(t, err.Error(), "available agents: [main1 main2]")
436 })
437
438 t.Run("AgentNameSpecified_Found", func(t *testing.T) {
439 t.Parallel()
440 agent1 := createAgent("main1")
441 agent2 := createAgent("main2")
442 workspace := createWorkspaceWithAgents([]codersdk.WorkspaceAgent{agent1, agent2})
443
444 result, other, err := getWorkspaceAgent(workspace, "main1")
445 require.NoError(t, err)
446 assert.Equal(t, agent1.ID, result.ID)
447 assert.Equal(t, "main1", result.Name)
448 assert.Len(t, other, 1)
449 assert.Equal(t, agent2.ID, other[0].ID)

Callers

nothing calls this directly

Calls 8

createAgentFunction · 0.85
getWorkspaceAgentFunction · 0.70
NewMethod · 0.65
RunMethod · 0.65
EqualMethod · 0.45
ErrorMethod · 0.45
ContainsMethod · 0.45
LenMethod · 0.45

Tested by

no test coverage detected