mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
feat: Update CLI to handle managed variables (#6220)
* WIP * hcl * useManagedVariables * fix * Fix * Fix * fix * go:build * Fix * fix: bool flag * Insert template variables * API * fix * Expose via API * More wiring * CLI for testing purposes * WIP * Delete FIXME * planVars * WIP * WIP * UserVariableValues * no dry run * Dry run * Done FIXME * Fix * Fix: CLI * Fix: migration * API tests * Test info * Tests * More tests * fix: lint * Fix: authz * Address PR comments * Fix * fix * fix * CLI: create * unit tests: create templates with variables * Use last variables * Fix * Fix * Fix * Push tests * fix: variable is required if Default is nil * WIP * Redact sensitive values * Fixes * Fixes * Fix: arg description * Fix * Variable param * Fix: gen * Fix * Fix: goldens
This commit is contained in:
@@ -1132,7 +1132,6 @@ func TestTemplateVersionVariables(t *testing.T) {
|
||||
Description: "This is the first variable",
|
||||
Type: "string",
|
||||
Required: true,
|
||||
Sensitive: true,
|
||||
},
|
||||
}
|
||||
const firstVariableValue = "foobar"
|
||||
@@ -1180,7 +1179,6 @@ func TestTemplateVersionVariables(t *testing.T) {
|
||||
Description: "This is the first variable",
|
||||
Type: "string",
|
||||
Required: true,
|
||||
Sensitive: true,
|
||||
},
|
||||
{
|
||||
Name: "second_variable",
|
||||
@@ -1218,4 +1216,52 @@ func TestTemplateVersionVariables(t *testing.T) {
|
||||
require.Equal(t, "", actualVariables[0].Value)
|
||||
require.Equal(t, templateVariables[1].DefaultValue, actualVariables[1].Value)
|
||||
})
|
||||
|
||||
t.Run("Redact sensitive variables", func(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
templateVariables := []*proto.TemplateVariable{
|
||||
{
|
||||
Name: "first_variable",
|
||||
Description: "This is the first variable",
|
||||
Type: "string",
|
||||
Required: true,
|
||||
Sensitive: true,
|
||||
},
|
||||
}
|
||||
const firstVariableValue = "foobar"
|
||||
|
||||
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
|
||||
user := coderdtest.CreateFirstUser(t, client)
|
||||
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID,
|
||||
createEchoResponses(templateVariables),
|
||||
func(ctvr *codersdk.CreateTemplateVersionRequest) {
|
||||
ctvr.UserVariableValues = []codersdk.VariableValue{
|
||||
{
|
||||
Name: templateVariables[0].Name,
|
||||
Value: firstVariableValue,
|
||||
},
|
||||
}
|
||||
},
|
||||
)
|
||||
templateVersion := coderdtest.AwaitTemplateVersionJob(t, client, version.ID)
|
||||
|
||||
// As user passed the value for the first parameter, the job will succeed.
|
||||
require.Empty(t, templateVersion.Job.Error)
|
||||
|
||||
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitShort)
|
||||
defer cancel()
|
||||
|
||||
actualVariables, err := client.TemplateVersionVariables(ctx, templateVersion.ID)
|
||||
require.NoError(t, err)
|
||||
|
||||
require.Len(t, actualVariables, 1)
|
||||
require.Equal(t, templateVariables[0].Name, actualVariables[0].Name)
|
||||
require.Equal(t, templateVariables[0].Description, actualVariables[0].Description)
|
||||
require.Equal(t, templateVariables[0].Type, actualVariables[0].Type)
|
||||
require.Equal(t, templateVariables[0].Required, actualVariables[0].Required)
|
||||
require.Equal(t, templateVariables[0].Sensitive, actualVariables[0].Sensitive)
|
||||
require.Equal(t, "*redacted*", actualVariables[0].DefaultValue)
|
||||
require.Equal(t, "*redacted*", actualVariables[0].Value)
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user