Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 0ed9ccc

Browse files
committed
fixup tf
1 parent 6ae6b68 commit 0ed9ccc

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
@@ -353,45 +353,38 @@ func TestDynamicParameterBuild(t *testing.T) {
353353
})
354354

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

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

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

375-
// No new value is acceptable
378+
// Try new values
376379
bld, err := templateAdmin.CreateWorkspaceBuild(ctx, wrk.ID, codersdk.CreateWorkspaceBuildRequest{
377380
Transition: codersdk.WorkspaceTransitionStart,
378-
})
379-
require.NoError(t, err)
380-
coderdtest.AwaitWorkspaceBuildJobCompleted(t, templateAdmin, bld.ID)
381-
382-
params, err := templateAdmin.WorkspaceBuildParameters(ctx, bld.ID)
383-
require.NoError(t, err)
384-
require.Len(t, params, 1)
385-
require.Equal(t, "coder", params[0].Value)
386-
387-
// Update the value to something else, which should fail
388-
_, err = templateAdmin.CreateWorkspaceBuild(ctx, wrk.ID, codersdk.CreateWorkspaceBuildRequest{
389-
Transition: codersdk.WorkspaceTransitionStart,
390381
RichParameterValues: []codersdk.WorkspaceBuildParameter{
391-
{Name: "immutable", Value: "foo"},
382+
{Name: "isimmutable", Value: "false"},
383+
{Name: "immutable", Value: "not-coder"},
392384
},
393385
})
394-
require.ErrorContains(t, err, `Parameter "immutable" is not mutable`)
386+
require.NoError(t, err)
387+
coderdtest.AwaitWorkspaceBuildJobCompleted(t, templateAdmin, bld.ID)
395388
})
396389
})
397390
}
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)