(t *testing.T)
| 182 | } |
| 183 | |
| 184 | func TestTaskParsingAndValidationHelpers(t *testing.T) { |
| 185 | t.Parallel() |
| 186 | |
| 187 | gin.SetMode(gin.TestMode) |
| 188 | handlers := &BaseHandlers{ |
| 189 | TransportName: "api-core-test", |
| 190 | Workspaces: workspaceServiceStub{get: func(_ context.Context, ref string) (workspacepkg.Workspace, error) { |
| 191 | if ref != "alpha" { |
| 192 | t.Fatalf("workspace ref = %q, want %q", ref, "alpha") |
| 193 | } |
| 194 | return workspacepkg.Workspace{ID: "ws-alpha"}, nil |
| 195 | }}, |
| 196 | } |
| 197 | |
| 198 | recorder := httptest.NewRecorder() |
| 199 | ctx, _ := gin.CreateTestContext(recorder) |
| 200 | ctx.Request = httptest.NewRequestWithContext( |
| 201 | context.Background(), |
| 202 | http.MethodGet, |
| 203 | "/tasks?scope=workspace&workspace=alpha&status=ready&owner_kind=pool&owner_ref=reviewers&parent_task_id=task-root&network_channel=builders&limit=3", |
| 204 | http.NoBody, |
| 205 | ) |
| 206 | |
| 207 | query, err := handlers.parseTaskListQuery(context.Background(), ctx) |
| 208 | if err != nil { |
| 209 | t.Fatalf("parseTaskListQuery() error = %v", err) |
| 210 | } |
| 211 | if query.WorkspaceID != "ws-alpha" || query.Status != taskpkg.TaskStatusReady || |
| 212 | query.OwnerKind != taskpkg.OwnerKindPool { |
| 213 | t.Fatalf("parseTaskListQuery() = %#v", query) |
| 214 | } |
| 215 | |
| 216 | runRecorder := httptest.NewRecorder() |
| 217 | runCtx, _ := gin.CreateTestContext(runRecorder) |
| 218 | runCtx.Request = httptest.NewRequestWithContext( |
| 219 | context.Background(), |
| 220 | http.MethodGet, |
| 221 | "/tasks/task-1/runs?status=running&session_id=sess-1&limit=1", |
| 222 | http.NoBody, |
| 223 | ) |
| 224 | |
| 225 | runQuery, err := parseTaskRunListQuery(runCtx) |
| 226 | if err != nil { |
| 227 | t.Fatalf("parseTaskRunListQuery() error = %v", err) |
| 228 | } |
| 229 | if runQuery.Status != taskpkg.TaskRunStatusRunning || runQuery.SessionID != "sess-1" || runQuery.Limit != 1 { |
| 230 | t.Fatalf("parseTaskRunListQuery() = %#v", runQuery) |
| 231 | } |
| 232 | |
| 233 | if _, err := addTaskDependencyFromRequest( |
| 234 | "task-1", |
| 235 | contract.AddTaskDependencyRequest{DependsOnTaskID: "task-2"}, |
| 236 | ); err != nil { |
| 237 | t.Fatalf("addTaskDependencyFromRequest() error = %v", err) |
| 238 | } |
| 239 | if _, err := claimTaskRunFromRequest(contract.ClaimTaskRunRequest{IdempotencyKey: "claim-1"}); err != nil { |
| 240 | t.Fatalf("claimTaskRunFromRequest() error = %v", err) |
| 241 | } |
nothing calls this directly
no test coverage detected