mirror of
https://github.com/coder/coder.git
synced 2025-07-06 15:41:45 +00:00
Add tests
This commit is contained in:
@ -1340,35 +1340,9 @@ func (s *server) CompleteJob(ctx context.Context, completed *proto.CompletedJob)
|
||||
}
|
||||
}
|
||||
|
||||
for _, preset := range jobType.TemplateImport.Presets {
|
||||
s.Logger.Info(ctx, "inserting template import job preset",
|
||||
slog.F("job_id", job.ID.String()),
|
||||
slog.F("preset_name", preset.Name),
|
||||
)
|
||||
|
||||
dbPreset, err := s.Database.InsertPreset(ctx, database.InsertPresetParams{
|
||||
TemplateVersionID: input.TemplateVersionID,
|
||||
Name: preset.Name,
|
||||
CreatedAt: s.timeNow(),
|
||||
})
|
||||
if err != nil {
|
||||
return nil, xerrors.Errorf("insert preset: %w", err)
|
||||
}
|
||||
|
||||
var presetParameterNames []string
|
||||
var presetParameterValues []string
|
||||
for _, parameter := range preset.Parameters {
|
||||
presetParameterNames = append(presetParameterNames, parameter.Name)
|
||||
presetParameterValues = append(presetParameterValues, parameter.Value)
|
||||
}
|
||||
_, err = s.Database.InsertPresetParameters(ctx, database.InsertPresetParametersParams{
|
||||
TemplateVersionPresetID: dbPreset.ID,
|
||||
Names: presetParameterNames,
|
||||
Values: presetParameterValues,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, xerrors.Errorf("insert preset parameters: %w", err)
|
||||
}
|
||||
err = InsertWorkspacePresetsAndParameters(ctx, s.Logger, s.Database, jobID, input.TemplateVersionID, jobType.TemplateImport.Presets, s.timeNow())
|
||||
if err != nil {
|
||||
return nil, xerrors.Errorf("insert workspace presets and parameters: %w", err)
|
||||
}
|
||||
|
||||
var completedError sql.NullString
|
||||
@ -1840,6 +1814,46 @@ func InsertWorkspaceModule(ctx context.Context, db database.Store, jobID uuid.UU
|
||||
return nil
|
||||
}
|
||||
|
||||
func InsertWorkspacePresetsAndParameters(ctx context.Context, logger slog.Logger, db database.Store, jobID uuid.UUID, templateVersionID uuid.UUID, protoPresets []*sdkproto.Preset, t time.Time) error {
|
||||
for _, preset := range protoPresets {
|
||||
logger.Info(ctx, "inserting template import job preset",
|
||||
slog.F("job_id", jobID.String()),
|
||||
slog.F("preset_name", preset.Name),
|
||||
)
|
||||
if err := InsertWorkspacePresetAndParameters(ctx, db, templateVersionID, preset, t); err != nil {
|
||||
return xerrors.Errorf("insert workspace preset: %w", err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func InsertWorkspacePresetAndParameters(ctx context.Context, db database.Store, templateVersionID uuid.UUID, protoPreset *sdkproto.Preset, t time.Time) error {
|
||||
dbPreset, err := db.InsertPreset(ctx, database.InsertPresetParams{
|
||||
TemplateVersionID: templateVersionID,
|
||||
Name: protoPreset.Name,
|
||||
CreatedAt: t,
|
||||
})
|
||||
if err != nil {
|
||||
return xerrors.Errorf("insert preset: %w", err)
|
||||
}
|
||||
|
||||
var presetParameterNames []string
|
||||
var presetParameterValues []string
|
||||
for _, parameter := range protoPreset.Parameters {
|
||||
presetParameterNames = append(presetParameterNames, parameter.Name)
|
||||
presetParameterValues = append(presetParameterValues, parameter.Value)
|
||||
}
|
||||
_, err = db.InsertPresetParameters(ctx, database.InsertPresetParametersParams{
|
||||
TemplateVersionPresetID: dbPreset.ID,
|
||||
Names: presetParameterNames,
|
||||
Values: presetParameterValues,
|
||||
})
|
||||
if err != nil {
|
||||
return xerrors.Errorf("insert preset parameters: %w", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func InsertWorkspaceResource(ctx context.Context, db database.Store, jobID uuid.UUID, transition database.WorkspaceTransition, protoResource *sdkproto.Resource, snapshot *telemetry.Snapshot) error {
|
||||
resource, err := db.InsertWorkspaceResource(ctx, database.InsertWorkspaceResourceParams{
|
||||
ID: uuid.New(),
|
||||
|
Reference in New Issue
Block a user