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

Function TestWorkspaceBuildDebugMode

coderd/workspacebuilds_test.go:1358–1567  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

1356}
1357
1358func TestWorkspaceBuildDebugMode(t *testing.T) {
1359 t.Parallel()
1360
1361 t.Run("DebugModeDisabled", func(t *testing.T) {
1362 t.Parallel()
1363
1364 // Create user
1365 deploymentValues := coderdtest.DeploymentValues(t)
1366 err := deploymentValues.EnableTerraformDebugMode.Set("false")
1367 require.NoError(t, err)
1368
1369 adminClient := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true, DeploymentValues: deploymentValues})
1370 owner := coderdtest.CreateFirstUser(t, adminClient)
1371
1372 // Template author: create a template
1373 version := coderdtest.CreateTemplateVersion(t, adminClient, owner.OrganizationID, nil)
1374 template := coderdtest.CreateTemplate(t, adminClient, owner.OrganizationID, version.ID)
1375 coderdtest.AwaitTemplateVersionJobCompleted(t, adminClient, version.ID)
1376
1377 // Template author: create a workspace
1378 workspace := coderdtest.CreateWorkspace(t, adminClient, template.ID)
1379 coderdtest.AwaitWorkspaceBuildJobCompleted(t, adminClient, workspace.LatestBuild.ID)
1380
1381 // Template author: try to start a workspace build in debug mode
1382 ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
1383 defer cancel()
1384
1385 _, err = adminClient.CreateWorkspaceBuild(ctx, workspace.ID, codersdk.CreateWorkspaceBuildRequest{
1386 TemplateVersionID: workspace.LatestBuild.TemplateVersionID,
1387 Transition: codersdk.WorkspaceTransitionStart,
1388 LogLevel: "debug",
1389 })
1390
1391 // Template author: expect an error as the debug mode is disabled
1392 require.NotNil(t, err)
1393 var sdkError *codersdk.Error
1394 isSdkError := xerrors.As(err, &sdkError)
1395 require.True(t, isSdkError)
1396 require.Contains(t, sdkError.Message, "Terraform debug mode is disabled in the deployment configuration.")
1397 })
1398 t.Run("AsRegularUser", func(t *testing.T) {
1399 t.Parallel()
1400
1401 // Create users
1402 deploymentValues := coderdtest.DeploymentValues(t)
1403 deploymentValues.EnableTerraformDebugMode = true
1404
1405 templateAuthorClient := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true, DeploymentValues: deploymentValues})
1406 templateAuthor := coderdtest.CreateFirstUser(t, templateAuthorClient)
1407 regularUserClient, _ := coderdtest.CreateAnotherUser(t, templateAuthorClient, templateAuthor.OrganizationID)
1408
1409 // Template owner: create a template
1410 version := coderdtest.CreateTemplateVersion(t, templateAuthorClient, templateAuthor.OrganizationID, nil)
1411 template := coderdtest.CreateTemplate(t, templateAuthorClient, templateAuthor.OrganizationID, version.ID)
1412 coderdtest.AwaitTemplateVersionJobCompleted(t, templateAuthorClient, version.ID)
1413
1414 // Regular user: create a workspace
1415 workspace := coderdtest.CreateWorkspace(t, regularUserClient, template.ID)

Callers

nothing calls this directly

Calls 15

DeploymentValuesFunction · 0.92
NewFunction · 0.92
CreateFirstUserFunction · 0.92
CreateTemplateVersionFunction · 0.92
CreateTemplateFunction · 0.92
CreateWorkspaceFunction · 0.92
CreateAnotherUserFunction · 0.92
RoleTemplateAdminFunction · 0.92
CreateWorkspaceBuildMethod · 0.80
AsMethod · 0.80

Tested by

no test coverage detected