feat: make ephemeral parameters optional (#8571)

This commit is contained in:
Marcin Tojek
2023-07-18 11:56:41 +02:00
committed by GitHub
parent 7d92537af5
commit ab54008c94
9 changed files with 15 additions and 107 deletions
+10 -28
View File
@@ -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)
}