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

Function TestWorkspaceBuildWithTask

coderd/wsbuilder/wsbuilder_test.go:1166–1218  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

1164}
1165
1166func 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
1220func TestWsbuildError(t *testing.T) {
1221 t.Parallel()

Callers

nothing calls this directly

Calls 15

NowFunction · 0.92
NewFunction · 0.92
NewFunction · 0.92
expectDBFunction · 0.85
withInactiveVersionFunction · 0.85
withRichParametersFunction · 0.85
withParameterSchemasFunction · 0.85
withWorkspaceTagsFunction · 0.85
withProvisionerDaemonsFunction · 0.85
expectProvisionerJobFunction · 0.85

Tested by

no test coverage detected