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

Function TestAdminViewAllWorkspaces

enterprise/coderd/workspaces_test.go:4166–4215  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

4164}
4165
4166func TestAdminViewAllWorkspaces(t *testing.T) {
4167 t.Parallel()
4168
4169 client, user := coderdenttest.New(t, &coderdenttest.Options{
4170 Options: &coderdtest.Options{
4171 IncludeProvisionerDaemon: true,
4172 },
4173 LicenseOptions: &coderdenttest.LicenseOptions{
4174 Features: license.Features{
4175 codersdk.FeatureMultipleOrganizations: 1,
4176 codersdk.FeatureExternalProvisionerDaemons: 1,
4177 },
4178 },
4179 })
4180
4181 version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, nil)
4182 coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
4183 template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
4184 workspace := coderdtest.CreateWorkspace(t, client, template.ID)
4185 coderdtest.AwaitWorkspaceBuildJobCompleted(t, client, workspace.LatestBuild.ID)
4186
4187 ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
4188 defer cancel()
4189
4190 //nolint:gocritic // intentionally using owner
4191 _, err := client.Workspace(ctx, workspace.ID)
4192 require.NoError(t, err)
4193
4194 otherOrg, err := client.CreateOrganization(ctx, codersdk.CreateOrganizationRequest{
4195 Name: "default-test",
4196 })
4197 require.NoError(t, err, "create other org")
4198
4199 // This other user is not in the first user's org. Since other is an admin, they can
4200 // still see the "first" user's workspace.
4201 otherOwner, _ := coderdtest.CreateAnotherUser(t, client, otherOrg.ID, rbac.RoleOwner())
4202 otherWorkspaces, err := otherOwner.Workspaces(ctx, codersdk.WorkspaceFilter{})
4203 require.NoError(t, err, "(other) fetch workspaces")
4204
4205 firstWorkspaces, err := client.Workspaces(ctx, codersdk.WorkspaceFilter{})
4206 require.NoError(t, err, "(first) fetch workspaces")
4207
4208 require.ElementsMatch(t, otherWorkspaces.Workspaces, firstWorkspaces.Workspaces)
4209 require.Equal(t, len(firstWorkspaces.Workspaces), 1, "should be 1 workspace present")
4210
4211 memberView, _ := coderdtest.CreateAnotherUser(t, client, otherOrg.ID)
4212 memberViewWorkspaces, err := memberView.Workspaces(ctx, codersdk.WorkspaceFilter{})
4213 require.NoError(t, err, "(member) fetch workspaces")
4214 require.Equal(t, 0, len(memberViewWorkspaces.Workspaces), "member in other org should see 0 workspaces")
4215}
4216
4217func TestWorkspaceByOwnerAndName(t *testing.T) {
4218 t.Parallel()

Callers

nothing calls this directly

Calls 12

NewFunction · 0.92
CreateTemplateVersionFunction · 0.92
CreateTemplateFunction · 0.92
CreateWorkspaceFunction · 0.92
CreateAnotherUserFunction · 0.92
RoleOwnerFunction · 0.92
WorkspaceMethod · 0.80
CreateOrganizationMethod · 0.80
WorkspacesMethod · 0.80
EqualMethod · 0.45

Tested by

no test coverage detected