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

Function TestResumeTask

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

Source from the content-addressed store, hash-verified

2833}
2834
2835func TestResumeTask(t *testing.T) {
2836 t.Parallel()
2837
2838 setupClient := func(t *testing.T, db database.Store, ps pubsub.Pubsub, authorizer rbac.Authorizer) *codersdk.Client {
2839 t.Helper()
2840 client, _, _ := coderdtest.NewWithAPI(t, &coderdtest.Options{
2841 Database: db,
2842 Pubsub: ps,
2843 Authorizer: authorizer,
2844 IncludeProvisionerDaemon: true,
2845 })
2846 return client
2847 }
2848
2849 setupWorkspaceTask := func(t *testing.T, db database.Store, user codersdk.CreateFirstUserResponse) (database.Task, uuid.UUID) {
2850 t.Helper()
2851 workspaceBuild := dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
2852 OrganizationID: user.OrganizationID,
2853 OwnerID: user.UserID,
2854 }).WithTask(database.TaskTable{
2855 Prompt: "resume me",
2856 }, nil).Do()
2857 return workspaceBuild.Task, workspaceBuild.Workspace.ID
2858 }
2859
2860 t.Run("OK", func(t *testing.T) {
2861 t.Parallel()
2862
2863 ctx := testutil.Context(t, testutil.WaitLong)
2864 client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
2865 user := coderdtest.CreateFirstUser(t, client)
2866
2867 version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, &echo.Responses{
2868 Parse: echo.ParseComplete,
2869 ProvisionApply: echo.ApplyComplete,
2870 ProvisionGraph: []*proto.Response{
2871 {Type: &proto.Response_Graph{Graph: &proto.GraphComplete{
2872 HasAiTasks: true,
2873 }}},
2874 },
2875 })
2876 coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
2877 template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
2878 task, err := client.CreateTask(ctx, codersdk.Me, codersdk.CreateTaskRequest{
2879 TemplateVersionID: template.ActiveVersionID,
2880 Input: "resume me",
2881 })
2882 require.NoError(t, err)
2883
2884 workspace, err := client.Workspace(ctx, task.WorkspaceID.UUID)
2885 require.NoError(t, err)
2886 coderdtest.AwaitWorkspaceBuildJobCompleted(t, client, workspace.LatestBuild.ID)
2887
2888 pauseResp, err := client.PauseTask(ctx, codersdk.Me, task.ID)
2889 require.NoError(t, err)
2890 coderdtest.AwaitWorkspaceBuildJobCompleted(t, client, pauseResp.WorkspaceBuild.ID)
2891
2892 resumeResp, err := client.ResumeTask(ctx, codersdk.Me, task.ID)

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
TaskFunction · 0.92

Tested by

no test coverage detected