Skip to content

Commit 9299c14

Browse files
committed
overwrite parameter values
1 parent 7d84b36 commit 9299c14

File tree

1 file changed

+19
-5
lines changed

1 file changed

+19
-5
lines changed

coderd/parameters_test.go

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package coderd_test
33
import (
44
"context"
55
"os"
6+
"slices"
67
"testing"
78

89
"github.com/google/uuid"
@@ -264,18 +265,31 @@ func TestDynamicParametersWithTerraformValues(t *testing.T) {
264265
doTransition := func(t *testing.T, trans codersdk.WorkspaceTransition) {
265266
t.Helper()
266267

268+
fooVal := coderdtest.RandomUsername(t)
267269
bld, err := setup.client.CreateWorkspaceBuild(ctx, wrk.ID, codersdk.CreateWorkspaceBuildRequest{
268-
TemplateVersionID: setup.template.ActiveVersionID,
269-
Transition: trans,
270+
TemplateVersionID: setup.template.ActiveVersionID,
271+
Transition: trans,
272+
RichParameterValues: []codersdk.WorkspaceBuildParameter{
273+
// No validation, so this should work as is.
274+
// Overwrite the value on each transition
275+
{Name: "foo", Value: fooVal},
276+
},
270277
EnableDynamicParameters: ptr.Ref(true),
271278
})
272279
require.NoError(t, err)
273280
coderdtest.AwaitWorkspaceBuildJobCompleted(t, setup.client, wrk.LatestBuild.ID)
274281

275282
latestParams, err := setup.client.WorkspaceBuildParameters(ctx, bld.ID)
276-
require.Len(t, latestParams, 1)
277-
require.Equal(t, "jetbrains_ide", latestParams[0].Name)
278-
require.Equal(t, "GO", latestParams[0].Value)
283+
require.Len(t, latestParams, 2)
284+
idx := slices.IndexFunc(latestParams, func(parameter codersdk.WorkspaceBuildParameter) bool {
285+
return parameter.Name == "jetbrains_ide"
286+
})
287+
require.Equal(t, "jetbrains_ide", latestParams[idx].Name)
288+
require.Equal(t, "GO", latestParams[idx].Value)
289+
290+
fooIdx := (idx + 1) % 2
291+
require.Equal(t, "foo", latestParams[fooIdx].Name)
292+
require.Equal(t, fooVal, latestParams[fooIdx].Value)
279293
}
280294

281295
// Restart the workspace, then delete. Asserting params on all builds.

0 commit comments

Comments
 (0)