MCPcopy Index your code
hub / github.com/coder/coder / TestTemplateList

Function TestTemplateList

cli/templatelist_test.go:20–113  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

18)
19
20func TestTemplateList(t *testing.T) {
21 t.Parallel()
22 t.Run("ListTemplates", func(t *testing.T) {
23 t.Parallel()
24 client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
25 owner := coderdtest.CreateFirstUser(t, client)
26 templateAdmin, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID, rbac.RoleTemplateAdmin())
27 firstVersion := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, nil)
28 _ = coderdtest.AwaitTemplateVersionJobCompleted(t, client, firstVersion.ID)
29 firstTemplate := coderdtest.CreateTemplate(t, client, owner.OrganizationID, firstVersion.ID)
30
31 secondVersion := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, nil)
32 _ = coderdtest.AwaitTemplateVersionJobCompleted(t, client, secondVersion.ID)
33 secondTemplate := coderdtest.CreateTemplate(t, client, owner.OrganizationID, secondVersion.ID)
34
35 inv, root := clitest.New(t, "templates", "list")
36 clitest.SetupConfig(t, templateAdmin, root)
37
38 pty := ptytest.New(t).Attach(inv)
39
40 ctx, cancelFunc := context.WithTimeout(context.Background(), testutil.WaitLong)
41 defer cancelFunc()
42
43 errC := make(chan error)
44 go func() {
45 errC <- inv.WithContext(ctx).Run()
46 }()
47
48 // expect that templates are listed alphabetically
49 templatesList := []string{firstTemplate.Name, secondTemplate.Name}
50 slices.Sort(templatesList)
51
52 require.NoError(t, <-errC)
53
54 for _, name := range templatesList {
55 pty.ExpectMatch(name)
56 }
57 })
58 t.Run("ListTemplatesJSON", func(t *testing.T) {
59 t.Parallel()
60 client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
61 owner := coderdtest.CreateFirstUser(t, client)
62 templateAdmin, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID, rbac.RoleTemplateAdmin())
63 firstVersion := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, nil)
64 _ = coderdtest.AwaitTemplateVersionJobCompleted(t, client, firstVersion.ID)
65 _ = coderdtest.CreateTemplate(t, client, owner.OrganizationID, firstVersion.ID)
66
67 secondVersion := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, nil)
68 _ = coderdtest.AwaitTemplateVersionJobCompleted(t, client, secondVersion.ID)
69 _ = coderdtest.CreateTemplate(t, client, owner.OrganizationID, secondVersion.ID)
70
71 inv, root := clitest.New(t, "templates", "list", "--output=json")
72 clitest.SetupConfig(t, templateAdmin, root)
73
74 ctx, cancelFunc := context.WithTimeout(context.Background(), testutil.WaitLong)
75 defer cancelFunc()
76
77 out := bytes.NewBuffer(nil)

Callers

nothing calls this directly

Calls 15

NewFunction · 0.92
CreateFirstUserFunction · 0.92
CreateAnotherUserFunction · 0.92
RoleTemplateAdminFunction · 0.92
CreateTemplateVersionFunction · 0.92
CreateTemplateFunction · 0.92
NewFunction · 0.92
SetupConfigFunction · 0.92
NewFunction · 0.92
WithContextMethod · 0.80
RunMethod · 0.65

Tested by

no test coverage detected