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

Function TestPauseTask

coderd/aitasks_test.go:2469–2833  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

2467}
2468
2469func TestPauseTask(t *testing.T) {
2470 t.Parallel()
2471
2472 setupClient := func(t *testing.T, db database.Store, ps pubsub.Pubsub, authorizer rbac.Authorizer) *codersdk.Client {
2473 t.Helper()
2474 client, _, _ := coderdtest.NewWithAPI(t, &coderdtest.Options{
2475 Database: db,
2476 Pubsub: ps,
2477 Authorizer: authorizer,
2478 })
2479 return client
2480 }
2481
2482 setupWorkspaceTask := func(t *testing.T, db database.Store, user codersdk.CreateFirstUserResponse) (database.Task, uuid.UUID) {
2483 t.Helper()
2484 workspaceBuild := dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
2485 OrganizationID: user.OrganizationID,
2486 OwnerID: user.UserID,
2487 }).WithTask(database.TaskTable{
2488 Prompt: "pause me",
2489 }, nil).Do()
2490 return workspaceBuild.Task, workspaceBuild.Workspace.ID
2491 }
2492
2493 t.Run("OK", func(t *testing.T) {
2494 t.Parallel()
2495
2496 ctx := testutil.Context(t, testutil.WaitLong)
2497 client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
2498 user := coderdtest.CreateFirstUser(t, client)
2499
2500 version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, &echo.Responses{
2501 Parse: echo.ParseComplete,
2502 ProvisionApply: echo.ApplyComplete,
2503 ProvisionGraph: []*proto.Response{
2504 {Type: &proto.Response_Graph{Graph: &proto.GraphComplete{
2505 HasAiTasks: true,
2506 }}},
2507 },
2508 })
2509 coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
2510 template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
2511
2512 task, err := client.CreateTask(ctx, codersdk.Me, codersdk.CreateTaskRequest{
2513 TemplateVersionID: template.ActiveVersionID,
2514 Input: "pause me",
2515 })
2516 require.NoError(t, err)
2517 require.True(t, task.WorkspaceID.Valid)
2518
2519 workspace, err := client.Workspace(ctx, task.WorkspaceID.UUID)
2520 require.NoError(t, err)
2521 coderdtest.AwaitWorkspaceBuildJobCompleted(t, client, workspace.LatestBuild.ID)
2522
2523 resp, err := client.PauseTask(ctx, codersdk.Me, task.ID)
2524
2525 // Verify that the request was accepted correctly:
2526 require.NoError(t, err)

Callers

nothing calls this directly

Calls 15

StatusCodeMethod · 0.95
NewWithAPIFunction · 0.92
WorkspaceBuildFunction · 0.92
ContextFunction · 0.92
NewFunction · 0.92
CreateFirstUserFunction · 0.92
CreateTemplateVersionFunction · 0.92
CreateTemplateFunction · 0.92
NewDBFunction · 0.92
ScopedRoleOrgAdminFunction · 0.92

Tested by

no test coverage detected