(t *testing.T)
| 1164 | } |
| 1165 | |
| 1166 | func TestWorkspaceBuildWithTask(t *testing.T) { |
| 1167 | t.Parallel() |
| 1168 | req := require.New(t) |
| 1169 | asrt := assert.New(t) |
| 1170 | |
| 1171 | ctx, cancel := context.WithCancel(context.Background()) |
| 1172 | defer cancel() |
| 1173 | |
| 1174 | testTask := database.Task{ |
| 1175 | ID: taskID, |
| 1176 | OrganizationID: orgID, |
| 1177 | OwnerID: userID, |
| 1178 | Name: "test-task", |
| 1179 | WorkspaceID: uuid.NullUUID{UUID: workspaceID, Valid: true}, |
| 1180 | TemplateVersionID: activeVersionID, |
| 1181 | CreatedAt: dbtime.Now(), |
| 1182 | } |
| 1183 | |
| 1184 | mDB := expectDB(t, |
| 1185 | // Inputs |
| 1186 | withTemplate, |
| 1187 | withInactiveVersion(nil), |
| 1188 | withLastBuildFound, |
| 1189 | withLastBuildState, |
| 1190 | withTemplateVersionVariables(inactiveVersionID, nil), |
| 1191 | withRichParameters(nil), |
| 1192 | withParameterSchemas(inactiveJobID, nil), |
| 1193 | withWorkspaceTags(inactiveVersionID, nil), |
| 1194 | withProvisionerDaemons([]database.GetEligibleProvisionerDaemonsByProvisionerJobIDsRow{}), |
| 1195 | |
| 1196 | // Outputs |
| 1197 | expectProvisionerJob(func(job database.InsertProvisionerJobParams) {}), |
| 1198 | withInTx, |
| 1199 | expectFindMatchingPresetID(uuid.Nil, sql.ErrNoRows), |
| 1200 | expectBuild(func(bld database.InsertWorkspaceBuildParams) {}), |
| 1201 | withBuild, |
| 1202 | withTask(testTask), |
| 1203 | expectUpsertTaskWorkspaceApp(func(params database.UpsertTaskWorkspaceAppParams) { |
| 1204 | asrt.Equal(taskID, params.TaskID) |
| 1205 | asrt.Equal(int32(2), params.WorkspaceBuildNumber) |
| 1206 | asrt.False(params.WorkspaceAgentID.Valid, "workspace_agent_id should be NULL initially") |
| 1207 | asrt.False(params.WorkspaceAppID.Valid, "workspace_app_id should be NULL initially") |
| 1208 | }), |
| 1209 | expectBuildParameters(func(params database.InsertWorkspaceBuildParametersParams) {}), |
| 1210 | ) |
| 1211 | fc := files.New(prometheus.NewRegistry(), &coderdtest.FakeAuthorizer{}) |
| 1212 | |
| 1213 | ws := database.Workspace{ID: workspaceID, TemplateID: templateID, OwnerID: userID} |
| 1214 | uut := wsbuilder.New(ws, database.WorkspaceTransitionStart, wsbuilder.NoopUsageChecker{}) |
| 1215 | // nolint: dogsled |
| 1216 | _, _, _, err := uut.Build(ctx, mDB, fc, nil, audit.WorkspaceBuildBaggage{}) |
| 1217 | req.NoError(err) |
| 1218 | } |
| 1219 | |
| 1220 | func TestWsbuildError(t *testing.T) { |
| 1221 | t.Parallel() |
nothing calls this directly
no test coverage detected