mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
feat: make ephemeral parameters optional (#8571)
This commit is contained in:
@@ -315,11 +315,11 @@ func TestParameterResolver_ValidateResolve_Ephemeral_OverridePrevious(t *testing
|
||||
Rich: []codersdk.WorkspaceBuildParameter{{Name: "n", Value: "5"}},
|
||||
}
|
||||
p := codersdk.TemplateVersionParameter{
|
||||
Name: "n",
|
||||
Type: "number",
|
||||
Mutable: true,
|
||||
Required: true,
|
||||
Ephemeral: true,
|
||||
Name: "n",
|
||||
Type: "number",
|
||||
Mutable: true,
|
||||
DefaultValue: "4",
|
||||
Ephemeral: true,
|
||||
}
|
||||
v, err := uut.ValidateResolve(p, &codersdk.WorkspaceBuildParameter{
|
||||
Name: "n",
|
||||
@@ -333,11 +333,11 @@ func TestParameterResolver_ValidateResolve_Ephemeral_FirstTime(t *testing.T) {
|
||||
t.Parallel()
|
||||
uut := codersdk.ParameterResolver{}
|
||||
p := codersdk.TemplateVersionParameter{
|
||||
Name: "n",
|
||||
Type: "number",
|
||||
Mutable: true,
|
||||
Required: true,
|
||||
Ephemeral: true,
|
||||
Name: "n",
|
||||
Type: "number",
|
||||
Mutable: true,
|
||||
DefaultValue: "5",
|
||||
Ephemeral: true,
|
||||
}
|
||||
v, err := uut.ValidateResolve(p, &codersdk.WorkspaceBuildParameter{
|
||||
Name: "n",
|
||||
@@ -376,21 +376,3 @@ func TestParameterResolver_ValidateResolve_Ephemeral_UseEmptyDefault(t *testing.
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, "", v)
|
||||
}
|
||||
|
||||
func TestParameterResolver_ValidateResolve_Ephemeral_RequiredButMissing(t *testing.T) {
|
||||
t.Parallel()
|
||||
uut := codersdk.ParameterResolver{}
|
||||
p := codersdk.TemplateVersionParameter{
|
||||
Name: "n",
|
||||
Type: "number",
|
||||
Mutable: true,
|
||||
Required: true,
|
||||
Ephemeral: true,
|
||||
}
|
||||
// It is more theoretical than practical case. Schema allows to configure a parameter,
|
||||
// which always requires from initiator to provide the value, but it is not persisted between
|
||||
// consecutive workspace builds.
|
||||
v, err := uut.ValidateResolve(p, nil)
|
||||
require.Error(t, err) // Parameter is required, but not provided.
|
||||
require.Equal(t, "", v)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user