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

Function CreateWorkspace

coderd/coderdtest/coderdtest.go:1445–1460  ·  view source on GitHub ↗

CreateWorkspace creates a workspace for the user and template provided. A random name is generated for it. To customize the defaults, pass a mutator func.

(t testing.TB, client *codersdk.Client, templateID uuid.UUID, mutators ...func(*codersdk.CreateWorkspaceRequest))

Source from the content-addressed store, hash-verified

1443// A random name is generated for it.
1444// To customize the defaults, pass a mutator func.
1445func CreateWorkspace(t testing.TB, client *codersdk.Client, templateID uuid.UUID, mutators ...func(*codersdk.CreateWorkspaceRequest)) codersdk.Workspace {
1446 t.Helper()
1447 req := codersdk.CreateWorkspaceRequest{
1448 TemplateID: templateID,
1449 Name: RandomUsername(t),
1450 AutostartSchedule: ptr.Ref("CRON_TZ=US/Central 30 9 * * 1-5"),
1451 TTLMillis: ptr.Ref((8 * time.Hour).Milliseconds()),
1452 AutomaticUpdates: codersdk.AutomaticUpdatesNever,
1453 }
1454 for _, mutator := range mutators {
1455 mutator(&req)
1456 }
1457 workspace, err := client.CreateUserWorkspace(context.Background(), codersdk.Me, req)
1458 require.NoError(t, err)
1459 return workspace
1460}
1461
1462// TransitionWorkspace is a convenience method for transitioning a workspace from one state to another.
1463func MustTransitionWorkspace(t testing.TB, client *codersdk.Client, workspaceID uuid.UUID, from, to codersdk.WorkspaceTransition, muts ...func(req *codersdk.CreateWorkspaceBuildRequest)) codersdk.Workspace {

Calls 4

RefFunction · 0.92
RandomUsernameFunction · 0.85
HelperMethod · 0.65
CreateUserWorkspaceMethod · 0.65