(t *testing.T)
| 301 | } |
| 302 | |
| 303 | func 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 |
nothing calls this directly
no test coverage detected