MCPcopy Index your code
hub / github.com/coder/coder / TestResolveParameters

Function TestResolveParameters

coderd/dynamicparameters/resolver_test.go:22–208  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

20)
21
22func TestResolveParameters(t *testing.T) {
23 t.Parallel()
24
25 t.Run("NewImmutable", func(t *testing.T) {
26 t.Parallel()
27
28 ctrl := gomock.NewController(t)
29 render := rendermock.NewMockRenderer(ctrl)
30
31 // A single immutable parameter with no previous value.
32 render.EXPECT().
33 Render(gomock.Any(), gomock.Any(), gomock.Any()).
34 AnyTimes().
35 Return(&preview.Output{
36 Parameters: []previewtypes.Parameter{
37 {
38 ParameterData: previewtypes.ParameterData{
39 Name: "immutable",
40 Type: previewtypes.ParameterTypeString,
41 FormType: provider.ParameterFormTypeInput,
42 Mutable: false,
43 DefaultValue: previewtypes.StringLiteral("foo"),
44 Required: true,
45 },
46 Value: previewtypes.StringLiteral("foo"),
47 Diagnostics: nil,
48 },
49 },
50 }, nil)
51
52 ctx := testutil.Context(t, testutil.WaitShort)
53 values, err := dynamicparameters.ResolveParameters(ctx, uuid.New(), render, false,
54 []database.WorkspaceBuildParameter{}, // No previous values
55 []codersdk.WorkspaceBuildParameter{}, // No new build values
56 []database.TemplateVersionPresetParameter{}, // No preset values
57 )
58 require.NoError(t, err)
59 require.Equal(t, map[string]string{"immutable": "foo"}, values)
60 })
61
62 // Tests a parameter going from mutable -> immutable
63 t.Run("BecameImmutable", func(t *testing.T) {
64 t.Parallel()
65
66 ctrl := gomock.NewController(t)
67 render := rendermock.NewMockRenderer(ctrl)
68
69 mutable := previewtypes.ParameterData{
70 Name: "immutable",
71 Type: previewtypes.ParameterTypeString,
72 FormType: provider.ParameterFormTypeInput,
73 Mutable: true,
74 DefaultValue: previewtypes.StringLiteral("foo"),
75 Required: true,
76 }
77 immutable := mutable
78 immutable.Mutable = false
79

Callers

nothing calls this directly

Calls 14

EXPECTMethod · 0.95
NewMockRendererFunction · 0.92
ContextFunction · 0.92
ResolveParametersFunction · 0.92
IsResponderFunction · 0.92
RefFunction · 0.92
RunMethod · 0.65
RenderMethod · 0.65
NewMethod · 0.65
ResponseMethod · 0.65
EqualMethod · 0.45
ErrorMethod · 0.45

Tested by

no test coverage detected