@@ -246,8 +246,16 @@ func TestTemplateCreate(t *testing.T) {
246
246
t .Parallel ()
247
247
client := coderdtest .New (t , & coderdtest.Options {IncludeProvisionerD : true })
248
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 ))
249
+ source := clitest .CreateTemplateVersionSource (t , & echo.Responses {
250
+ Parse : createTestParseResponse (),
251
+ Provision : echo .ProvisionComplete ,
252
+ ProvisionDryRun : echo .ProvisionComplete ,
253
+ })
254
+ tempDir := t .TempDir ()
255
+ removeTmpDirUntilSuccessAfterTest (t , tempDir )
256
+ parameterFile , _ := os .CreateTemp (tempDir , "testParameterFile*.yaml" )
257
+ _ , _ = parameterFile .WriteString ("zone: \" bananas\" " )
258
+ cmd , root := clitest .New (t , "templates" , "create" , "1234567890123456789012345678901234567890" , "--directory" , source , "--test.provisioner" , string (database .ProvisionerTypeEcho ), "--parameter-file" , parameterFile .Name ())
251
259
clitest .SetupConfig (t , client , root )
252
260
pty := ptytest .New (t )
253
261
cmd .SetIn (pty .Input ())
@@ -258,6 +266,17 @@ func TestTemplateCreate(t *testing.T) {
258
266
execDone <- cmd .Execute ()
259
267
}()
260
268
269
+ matches := []struct {
270
+ match string
271
+ write string
272
+ }{
273
+ {match : "Create and upload" , write : "yes" },
274
+ }
275
+ for _ , m := range matches {
276
+ pty .ExpectMatch (m .match )
277
+ pty .WriteLine (m .write )
278
+ }
279
+
261
280
require .EqualError (t , <- execDone , "template name must be less than 32 characters" )
262
281
})
263
282
}
0 commit comments