(t *testing.T)
| 250 | } |
| 251 | |
| 252 | func TestBuilder_ActiveVersion(t *testing.T) { |
| 253 | t.Parallel() |
| 254 | req := require.New(t) |
| 255 | asrt := assert.New(t) |
| 256 | |
| 257 | ctx, cancel := context.WithCancel(context.Background()) |
| 258 | defer cancel() |
| 259 | |
| 260 | mDB := expectDB(t, |
| 261 | // Inputs |
| 262 | withTemplate, |
| 263 | withActiveVersion(nil), |
| 264 | withLastBuildNotFound, |
| 265 | withTemplateVersionVariables(activeVersionID, nil), |
| 266 | withParameterSchemas(activeJobID, nil), |
| 267 | withWorkspaceTags(activeVersionID, nil), |
| 268 | withProvisionerDaemons([]database.GetEligibleProvisionerDaemonsByProvisionerJobIDsRow{}), |
| 269 | // previous rich parameters are not queried because there is no previous build. |
| 270 | |
| 271 | // Outputs |
| 272 | expectProvisionerJob(func(job database.InsertProvisionerJobParams) { |
| 273 | asrt.Equal(activeFileID, job.FileID) |
| 274 | }), |
| 275 | |
| 276 | withInTx, |
| 277 | expectFindMatchingPresetID(uuid.Nil, sql.ErrNoRows), |
| 278 | expectBuild(func(bld database.InsertWorkspaceBuildParams) { |
| 279 | asrt.Equal(activeVersionID, bld.TemplateVersionID) |
| 280 | // no previous build... |
| 281 | asrt.Equal(int32(1), bld.BuildNumber) |
| 282 | asrt.Len(bld.ProvisionerState, 0) |
| 283 | }), |
| 284 | expectBuildParameters(func(params database.InsertWorkspaceBuildParametersParams) { |
| 285 | }), |
| 286 | withBuild, |
| 287 | withNoTask, |
| 288 | ) |
| 289 | fc := files.New(prometheus.NewRegistry(), &coderdtest.FakeAuthorizer{}) |
| 290 | |
| 291 | ws := database.Workspace{ID: workspaceID, TemplateID: templateID, OwnerID: userID} |
| 292 | uut := wsbuilder.New(ws, database.WorkspaceTransitionStart, wsbuilder.NoopUsageChecker{}). |
| 293 | ActiveVersion() |
| 294 | // nolint: dogsled |
| 295 | _, _, _, err := uut.Build(ctx, mDB, fc, nil, audit.WorkspaceBuildBaggage{}) |
| 296 | req.NoError(err) |
| 297 | } |
| 298 | |
| 299 | func TestWorkspaceBuildWithTags(t *testing.T) { |
| 300 | t.Parallel() |
nothing calls this directly
no test coverage detected