Skip to content

Commit 6c2fc74

Browse files
committed
chore: Add failing test
1 parent b9f3fe4 commit 6c2fc74

File tree

2 files changed

+51
-1
lines changed

2 files changed

+51
-1
lines changed

cli/templatecreate_test.go

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,56 @@ func TestTemplateCreate(t *testing.T) {
197197
require.EqualError(t, <-execDone, "Parameter value absent in parameter file for \"region\"!")
198198
removeTmpDirUntilSuccess(t, tempDir)
199199
})
200+
201+
t.Run("Recreate template with same name (create, delete, create)", func(t *testing.T) {
202+
t.Parallel()
203+
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerD: true})
204+
coderdtest.CreateFirstUser(t, client)
205+
206+
create := func() error {
207+
source := clitest.CreateTemplateVersionSource(t, &echo.Responses{
208+
Parse: echo.ParseComplete,
209+
Provision: provisionCompleteWithAgent,
210+
})
211+
args := []string{
212+
"templates",
213+
"create",
214+
"my-template",
215+
"--yes",
216+
"--directory", source,
217+
"--test.provisioner", string(database.ProvisionerTypeEcho),
218+
}
219+
cmd, root := clitest.New(t, args...)
220+
clitest.SetupConfig(t, client, root)
221+
pty := ptytest.New(t)
222+
cmd.SetIn(pty.Input())
223+
cmd.SetOut(pty.Output())
224+
cmd.SetErr(pty.Output())
225+
226+
return cmd.Execute()
227+
}
228+
del := func() error {
229+
args := []string{
230+
"templates",
231+
"delete",
232+
"my-template",
233+
}
234+
cmd, root := clitest.New(t, args...)
235+
clitest.SetupConfig(t, client, root)
236+
pty := ptytest.New(t)
237+
cmd.SetIn(pty.Input())
238+
cmd.SetOut(pty.Output())
239+
240+
return cmd.Execute()
241+
}
242+
243+
err := create()
244+
require.NoError(t, err, "Template must be created without error")
245+
err = del()
246+
require.NoError(t, err, "Template must be deleted without error")
247+
err = create()
248+
require.NoError(t, err, "Template must be recreated without error")
249+
})
200250
}
201251

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

cli/templatedelete.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ func templateDelete() *cobra.Command {
7676
return xerrors.Errorf("delete template %q: %w", template.Name, err)
7777
}
7878

79-
_, _ = fmt.Fprintln(cmd.ErrOrStderr(), "Deleted template "+cliui.Styles.Code.Render(template.Name)+"!")
79+
_, _ = fmt.Fprintln(cmd.OutOrStdout(), "Deleted template "+cliui.Styles.Code.Render(template.Name)+"!")
8080
}
8181

8282
return nil

0 commit comments

Comments
 (0)