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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy