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

Function TestTemplatePresets

cli/templatepresets_test.go:21–280  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

19)
20
21func TestTemplatePresets(t *testing.T) {
22 t.Parallel()
23
24 t.Run("NoPresets", func(t *testing.T) {
25 t.Parallel()
26
27 client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
28 owner := coderdtest.CreateFirstUser(t, client)
29 member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
30
31 // Given: a template version without presets
32 version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, templateWithPresets([]*proto.Preset{}))
33 _ = coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
34 template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
35
36 // When: listing presets for that template
37 inv, root := clitest.New(t, "templates", "presets", "list", template.Name)
38 clitest.SetupConfig(t, member, root)
39
40 pty := ptytest.New(t).Attach(inv)
41 doneChan := make(chan struct{})
42 var runErr error
43 go func() {
44 defer close(doneChan)
45 runErr = inv.Run()
46 }()
47 <-doneChan
48 require.NoError(t, runErr)
49
50 // Should return a message when no presets are found for the given template and version.
51 notFoundMessage := fmt.Sprintf("No presets found for template %q and template-version %q.", template.Name, version.Name)
52 pty.ExpectRegexMatch(notFoundMessage)
53 })
54
55 t.Run("ListsPresetsForDefaultTemplateVersion", func(t *testing.T) {
56 t.Parallel()
57
58 client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
59 owner := coderdtest.CreateFirstUser(t, client)
60 member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
61
62 // Given: an active template version that includes presets
63 presets := []*proto.Preset{
64 {
65 Name: "preset-multiple-params",
66 Parameters: []*proto.PresetParameter{
67 {
68 Name: "k1",
69 Value: "v1",
70 }, {
71 Name: "k2",
72 Value: "v2",
73 },
74 },
75 },
76 {
77 Name: "preset-default",
78 Default: true,

Callers

nothing calls this directly

Calls 15

NewFunction · 0.92
CreateFirstUserFunction · 0.92
CreateAnotherUserFunction · 0.92
CreateTemplateVersionFunction · 0.92
CreateTemplateFunction · 0.92
NewFunction · 0.92
SetupConfigFunction · 0.92
NewFunction · 0.92
ContextFunction · 0.92
UpdateTemplateVersionFunction · 0.92
templateWithPresetsFunction · 0.85

Tested by

no test coverage detected