Skip to content

Commit 04156d7

Browse files
committed
feat(cli): add template create validation test
This adds a test to validate that `template create` prints an error message if called with a template name exceeding the 32-char limit.
1 parent 5362f46 commit 04156d7

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

cli/templatecreate_test.go

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,25 @@ func TestTemplateCreate(t *testing.T) {
241241
err = create()
242242
require.NoError(t, err, "Template must be recreated without error")
243243
})
244+
245+
t.Run("WithParameterExceedingCharLimit", func(t *testing.T) {
246+
t.Parallel()
247+
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerD: true})
248+
coderdtest.CreateFirstUser(t, client)
249+
// Template name "1234567890123456789012345678901234567890" exceeds 32 char limit
250+
cmd, root := clitest.New(t, "templates", "create", "1234567890123456789012345678901234567890", "--test.provisioner", string(database.ProvisionerTypeEcho))
251+
clitest.SetupConfig(t, client, root)
252+
pty := ptytest.New(t)
253+
cmd.SetIn(pty.Input())
254+
cmd.SetOut(pty.Output())
255+
256+
execDone := make(chan error)
257+
go func() {
258+
execDone <- cmd.Execute()
259+
}()
260+
261+
require.EqualError(t, <-execDone, "template name must be less than 32 characters")
262+
})
244263
}
245264

246265
func createTestParseResponse() []*proto.Parse_Response {

0 commit comments

Comments
 (0)