consolidate preset API endpoints

This commit is contained in:
Sas Swart
2025-02-12 07:41:24 +00:00
parent e4b5f0d2c3
commit 212e536679
12 changed files with 65 additions and 79 deletions

View File

@ -1,7 +1,6 @@
package coderd_test
import (
"context"
"testing"
"github.com/google/uuid"
@ -12,12 +11,28 @@ import (
"github.com/coder/coder/v2/coderd/database/dbauthz"
"github.com/coder/coder/v2/coderd/httpmw"
"github.com/coder/coder/v2/coderd/rbac"
"github.com/coder/coder/v2/codersdk"
"github.com/coder/coder/v2/testutil"
)
func TestTemplateVersionPresets(t *testing.T) {
t.Parallel()
ctx := context.Background()
sdkPreset := codersdk.Preset{
ID: uuid.New(),
Name: "My Preset",
Parameters: []codersdk.PresetParameter{
{
Name: "preset_param1",
Value: "A1B2C3",
},
{
Name: "preset_param2",
Value: "D4E5F6",
},
},
}
ctx := testutil.Context(t, testutil.WaitShort)
client, db := coderdtest.NewWithDatabase(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
user := coderdtest.CreateFirstUser(t, client)
@ -27,16 +42,22 @@ func TestTemplateVersionPresets(t *testing.T) {
provisionerCtx := dbauthz.AsProvisionerd(ctx)
preset, err := db.InsertPreset(provisionerCtx, database.InsertPresetParams{
ID: uuid.New(),
Name: "My Preset",
ID: sdkPreset.ID,
Name: sdkPreset.Name,
TemplateVersionID: version.ID,
})
require.NoError(t, err)
var presetParameterNames []string
var presetParameterValues []string
for _, presetParameter := range sdkPreset.Parameters {
presetParameterNames = append(presetParameterNames, presetParameter.Name)
presetParameterValues = append(presetParameterValues, presetParameter.Value)
}
_, err = db.InsertPresetParameters(provisionerCtx, database.InsertPresetParametersParams{
ID: uuid.New(),
TemplateVersionPresetID: preset.ID,
Names: []string{"preset_param1", "preset_param2"},
Values: []string{"A1B2C3", "D4E5F6"},
Names: presetParameterNames,
Values: presetParameterValues,
})
require.NoError(t, err)
@ -46,14 +67,12 @@ func TestTemplateVersionPresets(t *testing.T) {
presets, err := client.TemplateVersionPresets(userCtx, version.ID)
require.NoError(t, err)
require.Equal(t, 1, len(presets))
require.Equal(t, "My Preset", presets[0].Name)
presetParams, err := client.TemplateVersionPresetParameters(userCtx, version.ID)
require.NoError(t, err)
require.Equal(t, 2, len(presetParams))
require.Equal(t, "preset_param1", presetParams[0].Name)
require.Equal(t, "A1B2C3", presetParams[0].Value)
require.Equal(t, "preset_param2", presetParams[1].Name)
require.Equal(t, "D4E5F6", presetParams[1].Value)
require.Equal(t, 1, len(presets))
require.Equal(t, sdkPreset.ID, presets[0].ID)
require.Equal(t, sdkPreset.Name, presets[0].Name)
for _, presetParameter := range sdkPreset.Parameters {
require.Contains(t, presets[0].Parameters, presetParameter)
}
}