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

Function TestUpdateWithRichParameters

cli/update_test.go:200–395  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

198}
199
200func TestUpdateWithRichParameters(t *testing.T) {
201 t.Parallel()
202
203 const (
204 firstParameterName = "first_parameter"
205 firstParameterDescription = "This is first parameter"
206 firstParameterValue = "1"
207
208 secondParameterName = "second_parameter"
209 secondParameterDescription = "This is second parameter"
210 secondParameterValue = "2"
211
212 ephemeralParameterName = "ephemeral_parameter"
213 ephemeralParameterDescription = "This is ephemeral parameter"
214 ephemeralParameterValue = "3"
215
216 immutableParameterName = "immutable_parameter"
217 immutableParameterDescription = "This is not mutable parameter"
218 immutableParameterValue = "4"
219 )
220
221 echoResponses := func() *echo.Responses {
222 return prepareEchoResponses([]*proto.RichParameter{
223 {Name: firstParameterName, Description: firstParameterDescription, Mutable: true},
224 {Name: immutableParameterName, Description: immutableParameterDescription, Mutable: false},
225 {Name: secondParameterName, Description: secondParameterDescription, Mutable: true},
226 {Name: ephemeralParameterName, Description: ephemeralParameterDescription, Mutable: true, Ephemeral: true, DefaultValue: "unset"},
227 })
228 }
229
230 t.Run("ImmutableCannotBeCustomized", func(t *testing.T) {
231 t.Parallel()
232
233 client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
234 owner := coderdtest.CreateFirstUser(t, client)
235 member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
236 version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses())
237 coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
238
239 template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
240
241 tempDir := t.TempDir()
242 removeTmpDirUntilSuccessAfterTest(t, tempDir)
243 parameterFile, _ := os.CreateTemp(tempDir, "testParameterFile*.yaml")
244 _, _ = parameterFile.WriteString(
245 firstParameterName + ": " + firstParameterValue + "\n" +
246 immutableParameterName + ": " + immutableParameterValue + "\n" +
247 secondParameterName + ": " + secondParameterValue)
248
249 inv, root := clitest.New(t, "create", "my-workspace", "--template", template.Name, "--rich-parameter-file", parameterFile.Name(), "-y")
250 clitest.SetupConfig(t, member, root)
251 err := inv.Run()
252 assert.NoError(t, err)
253
254 inv, root = clitest.New(t, "update", "my-workspace", "--always-prompt")
255 clitest.SetupConfig(t, member, root)
256
257 doneChan := make(chan struct{})

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
WriteStringMethod · 0.80
WriteLineMethod · 0.80

Tested by

no test coverage detected