Skip to content

Commit ef2a8fd

Browse files
committed
fixup tf
1 parent 9212109 commit ef2a8fd

File tree

2 files changed

+32
-16
lines changed

2 files changed

+32
-16
lines changed

enterprise/coderd/dynamicparameters_test.go

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -355,45 +355,38 @@ func TestDynamicParameterBuild(t *testing.T) {
355355
})
356356

357357
t.Run("ImmutableChangeValue", func(t *testing.T) {
358+
// Ok this is a weird test to document how things are working.
359+
// What if a parameter flips it's immutability based on a value?
358360
t.Parallel()
359361

360362
ctx := testutil.Context(t, testutil.WaitShort)
361363
// Start with a new template that has 1 parameter that is immutable
362364
immutable, _ := coderdtest.DynamicParameterTemplate(t, templateAdmin, orgID, coderdtest.DynamicParameterTemplateParams{
363-
MainTF: string(must(os.ReadFile("testdata/parameters/immutable/main.tf"))),
365+
MainTF: string(must(os.ReadFile("testdata/parameters/dynamicimmutable/main.tf"))),
364366
})
365367

366368
// Create the workspace with the immutable parameter
367369
wrk, err := templateAdmin.CreateUserWorkspace(ctx, codersdk.Me, codersdk.CreateWorkspaceRequest{
368370
TemplateID: immutable.ID,
369371
Name: coderdtest.RandomUsername(t),
370372
RichParameterValues: []codersdk.WorkspaceBuildParameter{
373+
{Name: "isimmutable", Value: "true"},
371374
{Name: "immutable", Value: "coder"},
372375
},
373376
})
374377
require.NoError(t, err)
375378
coderdtest.AwaitWorkspaceBuildJobCompleted(t, templateAdmin, wrk.LatestBuild.ID)
376379

377-
// No new value is acceptable
380+
// Try new values
378381
bld, err := templateAdmin.CreateWorkspaceBuild(ctx, wrk.ID, codersdk.CreateWorkspaceBuildRequest{
379382
Transition: codersdk.WorkspaceTransitionStart,
380-
})
381-
require.NoError(t, err)
382-
coderdtest.AwaitWorkspaceBuildJobCompleted(t, templateAdmin, bld.ID)
383-
384-
params, err := templateAdmin.WorkspaceBuildParameters(ctx, bld.ID)
385-
require.NoError(t, err)
386-
require.Len(t, params, 1)
387-
require.Equal(t, "coder", params[0].Value)
388-
389-
// Update the value to something else, which should fail
390-
_, err = templateAdmin.CreateWorkspaceBuild(ctx, wrk.ID, codersdk.CreateWorkspaceBuildRequest{
391-
Transition: codersdk.WorkspaceTransitionStart,
392383
RichParameterValues: []codersdk.WorkspaceBuildParameter{
393-
{Name: "immutable", Value: "foo"},
384+
{Name: "isimmutable", Value: "false"},
385+
{Name: "immutable", Value: "not-coder"},
394386
},
395387
})
396-
require.ErrorContains(t, err, `Parameter "immutable" is not mutable`)
388+
require.NoError(t, err)
389+
coderdtest.AwaitWorkspaceBuildJobCompleted(t, templateAdmin, bld.ID)
397390
})
398391
})
399392
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
terraform {
2+
required_providers {
3+
coder = {
4+
source = "coder/coder"
5+
}
6+
}
7+
}
8+
9+
data "coder_workspace_owner" "me" {}
10+
11+
data "coder_parameter" "isimmutable" {
12+
name = "isimmutable"
13+
type = "bool"
14+
mutable = true
15+
default = "true"
16+
}
17+
18+
data "coder_parameter" "immutable" {
19+
name = "immutable"
20+
type = "string"
21+
mutable = data.coder_parameter.isimmutable.value == "false"
22+
default = "Hello World"
23+
}

0 commit comments

Comments
 (0)