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

Function TestRestartWithParameters

cli/restart_test.go:303–426  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

301}
302
303func TestRestartWithParameters(t *testing.T) {
304 t.Parallel()
305
306 echoResponses := func() *echo.Responses {
307 return &echo.Responses{
308 Parse: echo.ParseComplete,
309 ProvisionGraph: []*proto.Response{
310 {
311 Type: &proto.Response_Graph{
312 Graph: &proto.GraphComplete{
313 Parameters: []*proto.RichParameter{
314 {
315 Name: immutableParameterName,
316 Description: immutableParameterDescription,
317 Required: true,
318 },
319 },
320 },
321 },
322 },
323 },
324 ProvisionApply: echo.ApplyComplete,
325 }
326 }
327
328 t.Run("DoNotAskForImmutables", func(t *testing.T) {
329 t.Parallel()
330
331 // Create the workspace
332 client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
333 owner := coderdtest.CreateFirstUser(t, client)
334 member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
335 version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, echoResponses())
336 coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
337 template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
338 workspace := coderdtest.CreateWorkspace(t, member, template.ID, func(cwr *codersdk.CreateWorkspaceRequest) {
339 cwr.RichParameterValues = []codersdk.WorkspaceBuildParameter{
340 {
341 Name: immutableParameterName,
342 Value: immutableParameterValue,
343 },
344 }
345 })
346 coderdtest.AwaitWorkspaceBuildJobCompleted(t, client, workspace.LatestBuild.ID)
347
348 // Restart the workspace again
349 inv, root := clitest.New(t, "restart", workspace.Name, "-y")
350 clitest.SetupConfig(t, member, root)
351 doneChan := make(chan struct{})
352 pty := ptytest.New(t).Attach(inv)
353 go func() {
354 defer close(doneChan)
355 err := inv.Run()
356 assert.NoError(t, err)
357 }()
358
359 pty.ExpectMatch("workspace has been restarted")
360 <-doneChan

Callers

nothing calls this directly

Calls 15

NewFunction · 0.92
CreateFirstUserFunction · 0.92
CreateAnotherUserFunction · 0.92
CreateTemplateVersionFunction · 0.92
CreateTemplateFunction · 0.92
CreateWorkspaceFunction · 0.92
NewFunction · 0.92
SetupConfigFunction · 0.92
NewFunction · 0.92
mutableParamsResponseFunction · 0.85

Tested by

no test coverage detected