Skip to content

Commit 3c7204c

Browse files
chore: gate on task being paused
1 parent a0e0efd commit 3c7204c

File tree

2 files changed

+16
-12
lines changed

2 files changed

+16
-12
lines changed

coderd/aitasks.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -701,9 +701,9 @@ func (api *API) taskUpdateInput(rw http.ResponseWriter, r *http.Request) {
701701
})
702702
}
703703

704-
if task.Status == database.TaskStatusInitializing || task.Status == database.TaskStatusActive {
704+
if task.Status != database.TaskStatusPaused {
705705
return httperror.NewResponseError(http.StatusConflict, codersdk.Response{
706-
Message: "Cannot update input while task is initializing or active.",
706+
Message: "Unable to update task input, task must be paused.",
707707
Detail: "Please stop the task's workspace before updating the input.",
708708
})
709709
}

coderd/aitasks_test.go

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -759,7 +759,7 @@ func TestTasks(t *testing.T) {
759759
disableProvisioner: true,
760760
taskInput: "Valid prompt",
761761
wantStatus: codersdk.TaskStatusInitializing,
762-
wantErr: "Cannot update input",
762+
wantErr: "Unable to update",
763763
wantErrStatusCode: http.StatusConflict,
764764
},
765765
{
@@ -769,11 +769,13 @@ func TestTasks(t *testing.T) {
769769
wantStatus: codersdk.TaskStatusPaused,
770770
},
771771
{
772-
name: "TaskStatusError",
773-
transition: database.WorkspaceTransitionStart,
774-
cancelTransition: true,
775-
taskInput: "Valid prompt",
776-
wantStatus: codersdk.TaskStatusError,
772+
name: "TaskStatusError",
773+
transition: database.WorkspaceTransitionStart,
774+
cancelTransition: true,
775+
taskInput: "Valid prompt",
776+
wantStatus: codersdk.TaskStatusError,
777+
wantErr: "Unable to update",
778+
wantErrStatusCode: http.StatusConflict,
777779
},
778780
{
779781
name: "EmptyPrompt",
@@ -864,10 +866,12 @@ func TestTasks(t *testing.T) {
864866
require.Equal(t, tt.wantErrStatusCode, apiErr.StatusCode())
865867
}
866868

867-
// Then: We expect the input to **not** be updated
868-
task, err = exp.TaskByID(ctx, task.ID)
869-
require.NoError(t, err)
870-
require.NotEqual(t, tt.taskInput, task.InitialPrompt)
869+
if !tt.deleteTask {
870+
// Then: We expect the input to **not** be updated
871+
task, err = exp.TaskByID(ctx, task.ID)
872+
require.NoError(t, err)
873+
require.NotEqual(t, tt.taskInput, task.InitialPrompt)
874+
}
871875
} else {
872876
require.NoError(t, err)
873877

0 commit comments

Comments
 (0)